zabbix小结(十三)zabbix Discovery自动发现增加主机

2014年的时候,我写了<a href="https://www.361way.com/page/2?s=zabbix" target="_blank" rel="noopener">一系列的关于zabbix入门的博文</a>,由于最近要做一个关于zabbix的交流,所以把之前搞过的东西再捡起来重新弄下。后面几篇也继续以14年的编号继续后排。



随着监控主机不断增多,有的时候需要添加一批机器,如果一台台的在web界面上配置,是比较麻烦的。这就可以借助zabbix discovery实现自动发现和增加。zabbix discovery自动发现增加主机,可以实现基于ping、agent、snmp、端口等多种方式实现增加。本篇就介绍下基于ping和基于zabbix agent实现的自动增加主机。

一、zabbix agent的配置

zabbix agent的配置和默认增加是一样的,主要配置如下几项:
# cat /etc/zabbix/zabbix_agentd.conf |grep -v ^#|grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.212.52.14,127.0.0.1
ServerActive=10.212.52.14:10051,127.0.0.1
Hostname=host1.361way.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf
<br />

二、基于ping实现自动发现

zabbix界面上依次点击Configuration ---- discovery ---- Create discovery rule:



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbix-discovery-ping.png" width="582" height="381" title="zabbix-discovery-ping" alt="zabbix-discovery-ping" />



上图由于是出于测试的目的,这里我设置的扫描周期比较短,如果现网长时间使用的,建议时间设置长一些,比如1h,因为开自启动发现比较消耗server 端的性能。



创建actions:



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbix-actions.png" width="622" height="118" title="zabbix-actions" alt="zabbix-actions" />



创建自动发现类action



<img src="https://www.361way.com/wp-content/uploads/2019/03/discovery-action.png" width="334" height="120" title="discovery-action" alt="discovery-action" />



action内容如下:



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbix-add-action.png" width="625" height="289" title="zabbix-add-action" alt="zabbix-add-action" />



<br />



operations是指匹配上主机后,后面要执行的操作,比如增加到对应的组,关联相应的模板等。



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbix-operations.png" width="653" height="363" title="zabbix-operation" alt="zabbix-operation" />



基于ping实现的自动发现,是通过 fping命令进行的操作,具体可以参看zabbix_server.conf配置,其中fping默认使用的位置是/usr/sbin/fping,由于fping命令默认只能让root使用,所以需要给fping命令chmod u+s的权限。



使用ping实现的自动发现会有一个缺点,只要能ping的主机,都会匹配discover和action动作,加入对应的主机,即使该主机上没并有安装zabbix agent。

三、基于zabbix agent实现

这个操作步骤和上面ping实现的基本相同,不同的是,其可以通过验证相应的key信息进行确认,这样会更严密。discovery rule规则如下:



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbixagent-discovery.png" width="622" height="452" title="zabbixagent-discovery" alt="zabbixagent-discovery" />



action内容如下:



<img src="https://www.361way.com/wp-content/uploads/2019/03/zabbix-actions-discover.png" width="639" height="375" title="zabbix discovery actions" alt="zabbix discovery actions" />



上面可以看到加的几个条件,确认使用的自发现规则,接收的system.uname字符串中必须包含有Linux的,并且自发现状态是up的。

四、小结

zabbix的discovery规则还有很多,比如其于ftp、ssh、snmp、telnet等,这个可以根据自己的需求灵活处理。不过对于linux或windows主机来说,一般情况下不太建议使用自动发现功能进行批量增加,这个比较影响server端的性能,而是建议使用自动注册。后面会专门再讲述下自动注册功能。



<br />

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注