• zabbix自动化监控之自动注册


    自动注册与自动发现刚好相反,是zabbix agent主动联系zabbix server,最后由zabbix server将这些agent加到host里。活动的Zabbix agent可以自动注册到服务器进行监控。这种方式无需在服务器上手动配置它们。当以前未知的active agent要求检查时,会发生自动注册。该功能可能非常方便自动监控新的节点。一旦在Zabbix中有一个新节点,Zabbix将自动启动主机监控,并进行性能和可用性数据的收集。Active agent自动注册还支持对被添加的主机进行被动检查的监控。当active agent要求检查时,提供它配置文件中定义的"ListenIP"或"ListenPort"配置参数,这些参数将发送到服务器。(如果指定了多个IP地址,则第一个将被发送到服务器。)服务器在添加新的自动注册主机时,使用接收到的IP地址和端口配置agent。如果没有接收到IP地址值,则使用传入连接的IP地址。如果没有接收到端口值,则使用10050。对于需要部署特别多服务器的人来说,这功能相当给力。所有服务器批量装好zabbix agent,server配置好触发器,所有的服务器都配置好了,非常快速。可见自动注册的效率比自动发现的效率高。

    配置自动注册:

    1、在agent配置文件中指定zabbix Server active

    agent在原来的基础上,增加设置Server active即主动向server端发送数据

    [root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf

    136 ServerActive=192.168.1.63

    [root@db01 ~]# systemctl restart zabbix-agent.service

    2、server启用自动注册功能

    当服务器从agent收到自动注册请求时,它会调用一个动作。事件源"自动注册"的操作必须配置为agent自动注册(设置网络发现不需要使active agents自动注册)。

    在Zabbix页面,转到配置→动作,选择自动注册为事件源,然后单击创建操作:

    在"动作"选项卡,输入一个名称

    在"条件"选项卡中,定义新的触发条件(agent代理名称,主机元数据,主机名称)

    在"操作"选项卡中,添加"发送消息","添加主机","添加到主机组"(例如,发现的主机),"链接到模板"等。

    如果只能主动监视(例如Zabbix服务器被防火墙不允许访问的主机)的自动注册主机,则可能需要创建一个特定的模板,如Template_Linux-active以链接到主机

    动作编辑完成后点击添加,启用该动作

    3、自动注册实现

    若想快速实现自动注册,可以重启zabbix server

    [root@zabbix ~]# systemctl restart zabbix-server.service

    查看主机,自动注册的主机db01已经添加,并链接模板开始监控

    查看动作日志及邮件

    4、使用主机元数据自动注册

    当agent程序向服务器发送自动注册请求时,会发送其主机名。在某些情况下(例如,Amazon云端节点),Zabbix服务器的主机名不足以区分发现的主机。主机元数据可将其他信息从agent发送到服务器。

    主机元数据在agent配置文件 - zabbix_agentd.conf中配置。在配置文件中指定主机元数据有两种方式:

    HostMetadata

    HostMetadataItem

    每当活动agent刷新主动检查到服务器的请求时,都会进行自动注册尝试。请求的延迟在agent的RefreshActiveChecks参数中指定。第一个请求在agent重新启动后立即发送。

    例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

    请注意,这种方法本身并没有提供强大的保护,因为数据是以纯文本形式传输的

     

    部分参考自官方文档:

    https://www.zabbix.com/documentation/3.4/zh/manual/discovery/auto_registration

  • 相关阅读:
    PHP 7安装使用体验,升级PHP要谨慎
    PHP里10个鲜为人知但却非常有用的函数
    解决 PHPExcel 长数字串显示为科学计数
    linux安装jdk1.6
    虚拟机下Redhat9 网络配置问题(转)
    windows下的一些命令
    redis高级应用特征
    乐观锁的概念
    windows配置redis(转)
    redis常用命令
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9261542.html
Copyright © 2020-2023  润新知