zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    poj 3321 Apple Tree
    hdu 1520 Anniversary party
    Light OJ 1089 Points in Segments (II)
    Timus 1018 Binary Apple Tree
    zoj 3299 Fall the Brick
    HFUT 1287 法默尔的农场
    Codeforces 159C String Manipulation 1.0
    GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)
    使用 TypeScript & mocha & chai 写测试代码实战(17 个视频)
    GraphQL + React Apollo + React Hook + Express + Mongodb 大型前后端分离项目实战之后端(19 个视频)
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9261542.html
Copyright © 2011-2022 走看看