在大规模的环境中,如果无法做到自动化监控,那么手动添加监控不仅仅是一个恐怖的工作,而且也无法保证完整性。可以使用Zabbix被动模式的自动发现,主动的对全网进行扫描,然后自动添加相关的监控服务器和引用监控模板。

1.1Zabbix Server自动发现

1.修改zabbix-agent.conf文件,确认agent运行在被动模式

[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf

Server=192.168.90.11

2.zabbix自动发现是基于事件如图5-1、图5-2

image.png

5-1

第5章Zabbix自动化监控_第1张图片

5-2

1.1.1添加Action

网络发现中的事件可以触发Action,从而自动执行指定的操作。如:通知消息、添加主机、加入组、添加模板、执行脚本等

1.创建一个基于自动发现的Action

image.png

5-3

1.1.2添加条件

ADiscovery rule是添加从自动发现规则中发现的主机。

BDiscovery Status是自动发现的主机是up状态。

CService Type是指发现主机是否来自于zabbix-agent

满足以上条件就执行Iperations

第5章Zabbix自动化监控_第2张图片

5-4

第5章Zabbix自动化监控_第3张图片

 5-5

1.1.3执行操作

满足条件则执行如下操作:

1.发送消息给Admin用户(慎重使用,会出现不断发送短信)

2.添加到bjstack

3.添加一个bkstack-template模板

第5章Zabbix自动化监控_第4张图片

5-6

1.1.4查看状态

1.Host主机已经成功监控

第5章Zabbix自动化监控_第5张图片

5-7

2.查看哪些主机是通过网络发现在(MonitoringDiscovery)如图5-8

第5章Zabbix自动化监控_第6张图片

5-8

3.查看邮件

第5章Zabbix自动化监控_第7张图片

5-9

1.2Zabbix Agent自动注册

自动注册主要用于Agent主动且自动向Server注册。与Zabbix自动发现具有相同的功能,但是这个功能特别适合一些特定的环境。(实践前,请先关闭之前网络发现规则以及Action)

1.配置Agent为主动模式,如果没有配置Hostname会使用HostnameItem这个key来发现Hostname

[root@linux-node2 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

EnableRemoteCommands=1

Server=127.0.0.1

ServerActive=192.168.90.11

Hostname=linux-node2.com

Include=/etc/zabbix/zabbix_agentd.d/

2.修改批量模板为主动模式

image.png

5-10

第5章Zabbix自动化监控_第8张图片

5-11

第5章Zabbix自动化监控_第9张图片

5-12

1.2.1配置过程

依次选择菜单栏ConfigurationActionsCreate actions如图5-13

image.png

5-13

1.2.2添加Action

Action选项中输入Name名称,如图5-14

第5章Zabbix自动化监控_第10张图片

5-14

1.2.3添加条件

选择条件即是Host name like Linux,如果没有配置agent.conf里面的Hostname,即默认寻找Host MetadataLinux因为取的是uanem -a 参数,如图5-15

第5章Zabbix自动化监控_第11张图片

5-15

1.2.4执行操作

满足条件则执行如下操作:如图5-16

1.发送消息给Admin用户

2.添加主机

3.添加到bjstack

4.添加一个bkstack-template模板(主动模式)

 

第5章Zabbix自动化监控_第12张图片

5-16

 

1.2.5查看状态

符合条件的主机会自动添加到监控项中,如下主机已经呗监控到。如图5-17

第5章Zabbix自动化监控_第13张图片

5-17

自动注册完毕,邮件通知相关人员有机器注册如图5-18

第5章Zabbix自动化监控_第14张图片

5-18