网络发现是zabbix最具特色的功能之一,它能够根据用户事先定义的规则自动添加监控的主机或服务等
Zabbix的网络发现功能可以基于如下信息进行
ip地址范围
可用的服务(ftp,ssh,http,tcp,....)
zabbix_agent的响应
snmp_agent的响应
网络发现通常包含两个阶段:discovery和actions
发现事件discovery:
service:自动发现已有监控主机的服务
host:发现新的主机
四类事件:discovered,lost;up,download
可采取的actions:
remote command:远程命令
send message:远程消息
添加/删除主机
启动/禁用主机
添加/移除主机到一个group
链接/取消链接主机到一个模板
这些事件的配置还可以基于设备的类型、IP、状态、上线/离线等进行配置
网络发现中添加主机时会自动创建interface:
接口服务自动检测,例如:如果基于SNMP检测成功了,则会自动创建SNMP接口
如果某个服务同时响应给了agent和SNMP,则两种接口都会创建
如果同一种发现机制(如agent)返回了非唯一数据,则第一个接口被识别为默认,其他的为额外接口
即便是某主机开始时只有agent接口,后来又通过SNMP发现了它,同样会为其添加额外的SNMP接口
不同的主机如果返回了相同的数据,则第一个主机将被添加,余下的主机会被当作第一个主机的额外接口
Agent自动注册:
zabbix支持active agent的自动注册(auto-resistration)功能,通常用于此前故障的agent重新上线是的场景
也可基于active agent的自动注册机制来添加被动检测,这会通过active agent注册时提供的“ListenIP”和“ListenPort”进行
Server端在收到自动注册请求后以接收的IP和Port为接口属性
一次网络发现、Agent自动注册、自动监控的配置过程:
1、创建监控规则
Configuration-->Discovery-->Create discovery rule
IP range:地址范围,注意写法
Checks:这里使用了两种方式
一种是ICMP ping,另外一种是Zabbix agent内建的agent.ping功能,只有两种方式都可以探测的到的时候,规则才会生效
Delay:默认是3600(1个小时),这里为了实验效果,改为了10s。
2、配置发现action,实现自动注册
为了实现实验效果,我们把现有的hosts都删除:
配置action:
Configuration-->Actions-->Create action
注意:Event Source里选择Discovery
配置发现action
(1)在Action里自定义name。邮件的主题和内容,这里设置的是默认
(2)Conditions里,条件选择了两个,分别是我们之前定义的agent.ping和ICMP ping,只有一个满足时执行操作
(3)Operatios里,定义了3个操作
发现主机时,自动发送邮件
添加主机
链接到某一个模板
3、查看验证
在Monitoring里查看发现的状态
查看产生的事件
查看监控的主机,并套用了设置的模板