怎样自动化添加上百台Zabbix监控
可以将Zabbix自动化分为三个大方向:
Zabbix Agent的自动添加
Zabbix Discovery自动发现
使用Zabbix API
ServerActive=Zabbix Server的IP地址
Hostname=
#设置主机名,如果不设置默认使用HostnameItem获取主机名。而默认情况下HostnameItem=system.hostname,这样就可以获取到Agent的主机名了。
#HostMetadata=nginx
#HostMetadata用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,如果不设置默认从HostMetadataItem获取
HostMetadataItem=system.uname
# HostMetadataItem也是用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,这里设置的Item指的是Zabbix自带的监控项,注意这个值只用于HostMetadata没有设置的时候才生效。

Conditions选项卡
我们要在Conditions里面定义好需要的条件,这里我们选择Host metadata like Linux。这样就刚好可以匹配到我们在agent配置文件里面设置的HostMetadataItem=system.uname。

Operations选项卡
接下来我们配置Operations选项卡,告知Action匹配到条件后的操作。下面我们配置了三个操作,满足条件的activehost发起请求后会进行下面操作:
- 把agent加到host列表
- 把agent加入linuxservers组
- agent主机link模板Template OS linux

经过这样的配置,那么新的Agent就会自动被Zabbix Server添加到主机监控中,并自动链接模板。
需要强调的是,你需要修改模板中的监控类型为Zabbix Agent(active)。
目前自动注册并不会产生一个事件所以在Event中是看不到Zabbix Server自动添加了一台主机的。
原创:赵舜东