1. 概述
上一篇內容《zabbix自動發現配置》,大概內容是zabbix server去掃描一個網段,把在線的主機添加到Host列表中。我們本篇內容與上篇相反,這次是Active agent主動聯系zabbix server,最后由zabbix server將這些agent加到host里。對於需要部署特別多服務器的人來說,這功能相當給力。所有服務器批量裝好zabbix agent,server配置好trigger,所有的服務器都配置好了,非常快速。
2. 配置
2.1配置文件修改
指定server ip
# cat /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf | grep -E ^ServerActive ServerActive=66.175.222.232
修改Hostname
# cat /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf | grep -E ^ServerActive ServerActive=66.175.222.232
關於主機名:如果zabbix_agentd.conf配置有定義Hostname,那么zabbix會使用這個Hostname命名,否則agent的主機名(hostname得來的)
修改metadataitem
# cat /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf | grep -E ^ServerActive ServerActive=66.175.222.232
2.2 配置action
步驟:configuration>>action>>Event source(選擇Auto registration)>>Create Action,我們按如下步驟來定義個action
2.2.1 action選項卡
定義Action名稱,以及發送消息的主題和內容,使用默認的就行了
2.2.2 Conditions選項卡
Host metadata包含Linux字符的主機將會觸發 2.2.3的操作,什么是metadata,文章的下半段會專門講解。
2.2.3 operations選項卡
滿足條件的active host發起請求,server會完成三個動作:
- 把agent加到host列表
- 把agent加入linux servers組
- agent主機link模板Template OS linux
3. 查看結果
查看/tmp/zabbix_server.log我們能看到如下內容:
16585:20150203:161110.910 enabling Zabbix agent checks on host "auto-reg-for-ttlsa-01": host became available
看到如上內容,表明host增加成功,此時此刻的host列表如下:
4. HostMetadataItem與HostMetadata
作用:用於標示主機,通過該符號能夠把主機區別開來。比如我們經常用它來區分linux與windows系統,這樣才能分別給他們設置組與template等等
4.1 HostMetadataItem用法
HostMetadataItem=system.uname
它的值來之key
4.2 HostMetadata用法
HostMetadata: Linux hehehehehehehehe xxxxx
他的值是直接定義的
通過使用各式各樣的metadata我們可以用於區分各個主機,來達到我們各種需求。
ref: http://www.ttlsa.com/zabbix/zabbix-active-agent-auto-registration/