目录
上一篇《zabbix5.0 网络自动发现》讲了网络自动发现,当纯agent发现的时候只能适用于被动模式,是不支持主动模式的。
这篇将讲基于主动模式的,那就是自动注册功能,只能用于主动模式,不支持被动模式。
一、知识点
1.1 自动注册介绍
主动方式的自动注册(Active agent auto-registration)功能主要用于Agent主动且自动向Server注册,即Agent处于主动模式,主动向Zabbix-Server发送数据进行注册。
与网络自动发现具有同样的功能,都能够实现将设备自动添加到监控系统中。但是主动方式的功能更适合于在特定的环境中
使用,当一个条件未知(这里的未知条件包括Agent端的IP地址段、Agent端的操作系统版本等信息)时,仍然可以实现自动添加监控。它特别适合于当前云环境下的监控,在云环境中IP地址分配、操作系统版本等都可能随机,该功能可以很好地解决类似的问题。
1.2 配置文件说明
zabbix_agentd.conf 主要相关配置如下:
#主动模式,zabbix服务器的地址
ServerActive=192.168.3.82
#Zabbix-Server所在的IP地址,可以同时填写多个IP地址
Hostname=vm822
#主机名
#获取主机名的key,当Hostname参数已设置值时,此参数失效
HostnameItem=system.hostname
#主机元数据的标识, 字符串的长度范围为0~255。 可以满足于云环境主机的使用,
#因为在云环境中主机名通常没有规律可循,基本都是随机生成的字符串
HostMetadata=Linux linux_host
#①当HostMetadata参数已设置值时,此参数失效;
#②用于获取数据的key,此处的system.uname为获取系统内核名称的key;
#③对于其返回结果的字符串,长度范围限制为0~255
#④可以使用Zabbix-Agent原生内置的key,也可以使用用户自定义的key,
#还可以使用system. run[]这个key (前提是EnableRemoteCommands参数已经打开)
HostMetadataItem=system.uname
PS:看情况设置,我这里设置,下面三项就行了:
ServerActive=192.168.3.82
Hostname=vm822
HostMetadataItem=system.uname
1.3 主机自动注册的流程
1. zabbix客户端需要配置ServerActive
2. zabbix客户端把自己的元数据提供给zabbix服务器或zabbix分布式proxy
3. zabbix服务器添加动作,当收到元数据时候自动添加主机、链接模板等
二、例子
在例子操作前,我把《zabbix5.0 网络自动发现》配置都删除了,清空,从头再弄一下。
我里直接让配置了主动模模式的vm822主机,添加自动注册
2.1 修改主动模式配置
vm822本来就配置了主动模式了,可以见我写的《zabbix5 agent配置主动模式》,我在这个基础上,只添加了HostMetadata和 HostMetadataItem ,操作命令如下:
cd /etc/zabbix/
#设置 HostMetadataItem=system.uname,不配置也行的,这里我还是配置一下吧
#HostMetadata参数已设置值时,此参数失效
sed -i '/HostMetadataItem=/s/=/=system.uname/' zabbix_agentd.conf
sed -i '/HostMetadataItem=/s/# //' zabbix_agentd.conf
egrep '^HostMeta' zabbix_agentd.conf
#重启
systemctl restart zabbix-agent
systemctl status zabbix-agent
一般配置 HostMetadata是以操作系统及业务处理的,如下:
HostMetadata=Nginx on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b95ae5e08af
#配置文件情况
[root@vm822 zabbix]# egrep -v '^$|^#' zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/disk1/logs/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
StartAgents=3
ServerActive=192.168.3.82
Hostname=vm822
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
UserParameter=hualinux.sys.version,sh /disk1/zabbix_sh/sys.version.sh
2.2 自动注册配置
自动注册不需要配置网络自动发现功能,按如下步骤配置即可
2.3 查看效果
完成上面添加多后,等大概1分钟这样,就会自动添加主动模式的主机了,如下图所示: