- A+
1. 概述
上一篇内容《zabbix自动发现配置》,大概内容是zabbix server去扫描一个网段,把在线的主机添加到Host列表中。我们本篇内容与上篇相反,这次是Active agent主动联系zabbix server,最后由zabbix server将这些agent加到host里。对于需要部署特别多服务器的人来说,这功能相当给力。所有服务器批量装好zabbix agent,server配置好trigger,所有的服务器都配置好了,非常快速。
2. 配置
2.1配置文件修改
指定server ip
1 2 |
# cat /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf | grep -E ^ServerActive ServerActive=66.175.222.232 |
修改Hostname
1 2 |
# cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep -E ^Hostname Hostname=auto-reg-for-ttlsa-01 |
关于主机名:如果zabbix_agentd.conf配置有定义Hostname,那么zabbix会使用这个Hostname命名,否则agent的主机名(hostname得来的)
修改metadataitem
1 2 |
cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep HostMetadataItem= HostMetadataItem=system.uname |
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我们能看到如下内容:
1 |
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用法
1 |
HostMetadataItem=system.uname |
它的值来之key
4.2 HostMetadata用法
1 |
HostMetadata: Linux hehehehehehehehe xxxxx |
他的值是直接定义的
通过使用各式各样的metadata我们可以用于区分各个主机,来达到我们各种需求。

26/07/2018 下午 6:39 沙发
13247:20180726:183413.358 item “test3:zabbix[process,snmp trapper,avg,busy]” became not supported: No “snmp trapper” processes started.
13247:20180726:183418.951 item “test3:zabbix[process,vmware collector,avg,busy]” became not supported: No “vmware collector” processes started.
13243:20180726:183427.023 item “test3:zabbix[vmware,buffer,pfree]” became not supported: No “vmware collector” processes started.
13243:20180726:183505.353 item “test3:zabbix[process,ipmi manager,avg,busy]” became not supported: No “ipmi manager” processes started.
13245:20180726:183506.370 item “test3:zabbix[process,ipmi poller,avg,busy]” became not supported: No “ipmi poller” processes started.
13243:20180726:183507.412 item “test3:zabbix[process,java poller,avg,busy]” became not supported: No “java poller” processes started.
zakkix客户端已经注册到了server上但是主机状态一直为灰色,模版也没有链接全,这是为什么呢
25/08/2016 下午 3:05 板凳
使用自动注册功能,要把configure-discovery功能关闭吗?
25/08/2016 下午 3:49 1层
@异常 不需要
25/08/2016 下午 3:51 2层
@匿名 那使用自动注册功能,要把configure-action-discovery 关闭么?
06/06/2016 下午 5:05 地板
你用的是哪个版本的zabbix 我的zabbix客户端有metadataitem的配置 但是在server——web的New condition
里面没有metadataitem,,怎么解决
11/06/2016 上午 10:44 1层
@kk 查看留言 发现了 谢谢
26/01/2016 上午 11:28 4楼
Event source(选择Auto registration
06/01/2016 上午 11:22 5楼
HostMetadataItem 这个参数,在设置自动注册windows系统里怎么设置呢
11/12/2015 下午 3:00 6楼
同时间一起发现啦18台 但是只有4台 绿灯~ 其他全部检测失败 红的 怎么会这样,
11/12/2015 下午 3:31 1层
@tur0000 鼠标放到红色位置,看看提示什么!
08/09/2015 上午 6:49 7楼
请教博主,我照你的方法配置自动注册后,有些主机能正确注册,有些主机注册之后,Agent interfaces 的IP address 是127.0.0.1 DNS name 是 localhost 这些注册的主机全部是公网IP注册,有些主机在同一个内网,有些不同内网。但都会出现上面的问题。请问是什么原因呢
08/09/2015 上午 9:45 1层
@openlinux 注意:被监控端的hostname不要用默认的localhost
08/09/2015 下午 7:38 2层
@管理员 zabbix_agentd.conf并没有用默认的localhost
Server=127.0.0.1,66.32.34.34 # 备注以下所有外网IP是虚构
ListenIP=127.0.0.1,203.195.3.21
ServerActive=66.32.34.34
Hostname=203.195.3.21
HostMetadataItem=system.uname
zabbix server用系统默认的自动注册规则,zabbix 客户端的系统主机名也不是localhost。
自动注册后,可以在host那里看到
Host name 203.195.3.21
Agent interfaces IP address 127.0.0.1 DNS name localhost port 10050
08/09/2015 下午 8:02 3层
@openlinux /etc/sysconfig/network里看看主机名
08/09/2015 下午 7:38 2层
@管理员 zabbix_agentd.conf并没有用默认的localhost
Server=127.0.0.1,66.32.34.34 # 备注以下所有外网IP是虚构
ListenIP=127.0.0.1,203.195.3.21
ServerActive=66.32.34.34
Hostname=203.195.3.21
HostMetadataItem=system.uname
zabbix server用系统默认的自动注册规则,zabbix 客户端的系统主机名也不是localhost。
自动注册后,可以在host那里看到
Host name 203.195.3.21
Agent interfaces IP address 127.0.0.1 DNS name localhost port 10050
27/08/2015 上午 11:55 8楼
请教一下博主 ,我用自动注册找不到主机,日志如下,
24680:20150827:115408.629 cannot send list of active checks to [10.228.2.51]: host [database] not found
我到网上查说要在web前端添加主机名,可是那就不叫自动注册了吧,是我哪里搞错了嘛
27/08/2015 下午 8:35 1层
@gary 与这个日志无关,确认是否配置了HostMetadataItem
17/09/2015 下午 5:05 2层
@凉白开 我也是同样的问题,HostMetadataItem这个我没有配置,为什么我一直提示cannot send list of active checks to [10.228.2.51]: host [XXX] not found
25/09/2015 下午 2:18 1层
@gary 我估计你是把metadata like Linux 写成了 metadata like linux了
25/09/2015 下午 2:18 1层
@gary 我估计你是把metadata like Linux 写成了 metadata like linux了
14/08/2015 上午 10:50 9楼
SNMP Agent的交换机,路由器,防火墙是否能自动注册到Zabbix服务器呢?
14/08/2015 上午 11:46 1层
@咨询 不行
02/03/2015 下午 3:41 10楼
请教一下博主,在2.4.4版本的zabbix中,actions –>conditions 中,new condition所给出的选项中,并没有Host metadata项,我查了下官方手册,配置方法与博主说的一样,应该是并没有取消这个选项吧,但是在这里确实没有这一项,如何配置自动注册呢?
03/03/2015 上午 8:57 1层
@jerry 右边有个选项Event source ,你需要选择“自动注册”,默认是触发器
03/03/2015 上午 8:57 1层
@jerry 右边有个选项Event source ,默认是trigger,你需要下拉选择自动注册,然后创建action。
03/03/2015 上午 9:26 2层
@TSA 非常感谢,太粗心没注意还有个这个
03/03/2015 上午 10:46 3层
@jerry 确切的说,是zabbix在这方面设计的不好,zabbix还有几处类似这样的地方。注意看了。