活动的Zabbix agent可以自动注册到服务器进行监控。这种方式无需在服务器上手动配置它们。
当以前未知的active agent要求检查时,会发生自动注册。
该功能可能非常方便自动监控新的Cloud节点。一旦在Cloud Zabbix中有一个新节点,Zabbix将自动启动主机监控,并进行性能和可用性数据的收集。
Active agent自动注册还支持对被添加的主机进行被动检查的监控。当active agent要求检查时,提供它配置文件中定义的“ListenIP”或“ListenPort”配置参数,这些参数将发送到服务器。(如果指定了多个IP地址,则第一个将被发送到服务器。)
服务器在添加新的自动注册主机时,使用接收到的IP地址和端口配置agent。如果没有接收到IP地址值,则使用传入连接的IP地址。如果没有接收到端口值,则使用10050。
配置
指定服务器
在agent配置文件中指定Zabbix server - zabbix_agentd.conf
ServerActive=10.0.0.1
如果你没有在zabbix_agentd.conf中特别定义了Hostname,则服务器将使用agent的系统主机名命名主机。Linux中的系统主机名可以通过运行'hostname'命令获得。
修改配置后重启agent
active agent自动注册动作
当服务器从agent收到自动注册请求时,它会调用一个动作。事件源“自动注册”的操作必须配置为agent自动注册。
使用主机元数据
当agent程序向服务器发送自动注册请求时,会发送其主机名。在某些情况下(例如,Amazon云端节点),Zabbix服务器的主机名不足以区分发现的主机。主机元数据可将其他信息从agent发送到服务器。
主机元数据在agent配置文件 - zabbix_agentd.conf中配置。在配置文件中指定主机元数据有两种方式:
HostMetadata HostMetadataItem
请参阅上面链接中的选项说明。
例1
使用主机元数据来区分Linux和Windows主机。
假设你希望主机由Zabbix server自动注册。首先你的网络上有active Zabbix agents(请参阅上面的“配置”部分),其次你的网络上有Windows主机和Linux主机,再次Zabbix页面可以使用“Template OS Linux”和“Template OS Windows” 模板,然后在主机注册时,你才能将Linux / Windows模板应用于正在注册的主机。默认情况下,只有主机名在自动注册时才会发送到服务器,这可能还不够。为了确保将正确的模板应用于主机,您应该使用主机元数据。
Agent配置
首先要做的是配置agents。添加下一行agent配置文件:
HostMetadataItem=system.uname
这样才能确保主机元数据将包含“Linux”或“Windows”,具体取决于运行agent的主机。主机元数据示例如下:
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32
对配置文件进行任何更改后,请重新启动agent。
前段配置
现在你需要在前端创建2个动作。第一个动作:
-
名称:Linux主机自动注册
-
条件:主机元数据似 Linux
-
操作:链接到模板:Template OS Linux
在这种情况下,您可以跳过“添加主机”操作。链接到模板需要首先添加主机,服务器会自动执行
第二个动作:
-
名称:Windows主机自动注册
-
主机元数据似 Windows
-
操作:链接到模板:Template OS Windows
例2
使用主机元数据我们可以用于区分各个主机。
Agent配置
将下一行添加到代理配置文件:
HostMetadata=Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
其中“Linux”是一个平台,其余的字符串是一些难以猜测的秘密文本。
对配置文件进行任何更改后,请勿忘记重新启动代理。
前段配置
在前端创建一个动作,使用上面提到的复杂密码来禁止不需要的主机:
-
名称:自动注册动作Linux
-
条件:
-
计算类型:AND
-
条件(A):主机元数据 似 Linux
-
条件(B):主机元数据 似 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
-
-
操作
-
向用户发送消息:通过Admin发送所有媒体
-
添加到主机组:Linux servers
-
链接到模板:Template OS Linux
-
请注意,这种方法本身并没有提供强大的保护,因为数据是以纯文本形式传输的。