zabbix-agent 自动注册
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/