zabbix自动发现网络,大大的降低人工操作,分分钟钟就可以监控n台主机节点。

1、创建自动发现规则,示例如下。

Configuration >>Discovery>>Create rule,新建网络发现规则

上面规则的意思是每60秒扫描ip范围为192.168.75.136-200的地址,以ip地址为唯一的标识。

规则属性

 属性 描述
Name 规则名称,唯一
 Discovery by proxy    谁执行当前发现规则:
no proxy - zabbix server
<proxy name> - 指定的proxy
 IP range 发现规则中的ip范围,格式如下
单IP: 192.168.75.136
一个IP段: 192.168.75.136-200
一个子网: 192.168.75.0/24
支持如下子网掩码:
IPV4:/16 - /30
IPV6:/112 - /128
IP列表: 192.168.1.1-255,192.168.2.1-100,192.168.2.200,192.168.4.0/24

备注:1. IP列表中的IP不能重复2. 不同的发现规则里面不要包含

相同的IP,否则可能会出现意想不到的问题

 Delay (in sec)

规则执行完毕之后,要多久才执行下一次。

 Checks 支持的checks: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping.
Port属性如下:
单个端口: 22
端口段: 22-45
端口列表: 22-45,55,60-70
 Device uniqueness criteria  设备唯一标识:
IP address - 使用IP地址作为设备唯一性标识
Type of discovery check - 使用SNMP 或者Zabbix agent的check作为唯一标识
Enabled 是否启用当前规则

2、创建action,有了规则需要进行触发做什么事情。示例如下

configuration>>action>>Event source(选discover)>>create action

"add web host"action的名称。其他默认或者想修改也可以就是一些自动发现规则的信息。。

condition条件。类型我这里选择额是and/or,和shell中and与,or或者是一个意思。

匹配条件:目标主机system.uname中包含Linux的字符。状态是up的,目标主机范围在192.168.75.136-200得到,

匹配后会自动添加主机以及添加主机到组这里选择的 Linux servers组,然后选择连接到那个模板。

注:以上自动发现主机配置完成。

3、agent端安装好后指定zabbix-server的ip地址等即可,把服务启动完成,主机节点较多的话,可以选择开源工具如salt、ansible、puppet等或者自己写个脚本安装远程主机的agent。

4、zabbix-server界面查看自动发现的主机情况如下

可以看到已经发现了主机

查看自动发的主机监控状态信息

其实打开zabbix界面在最下面就能看到自动发现主机信息

5、假如我吧某个节点agent挂掉,zabbixweb界面最下面会出现up和down情况如下

# systemctl stop zabbix-agent.service# ps -ef|grep zabbixroot       2877   2438  0 20:18 pts/0    00:00:00 grep --color=auto zabbix

查看zabbix 界面情况

以上就是自动发现主机以及连接到指定的模板,其实还可以配置自动发现主机不再状态或者服务状态为down根据时间点等等,自动删除或者下线等等。。恩。先这样。