云计算百科
云计算领域专业知识百科平台

Zabbix进阶1--自动注册服务器到Zabbix的三种方式介绍

背景

在项目中,有很多情况下我们没有办法一台一台服务器手动添加,例如

  • 服务器数量过多
  • 使用Auto scale等技术自动扩缩容,服务器随时可能被创建或删除 这种情况下,我们就需要配置自动添加服务器了,Zabbix也是提供了丰富的配置来帮助我们实现这一功能,接下来我们看一下具体可以怎么实现
  • 实操

    Autoregistration actions

    Autoregistration actions可以说是我心目中最简单的配置了,我来分享一下我是怎么配置的

    服务器中配置HostMetadata=RPP-Bankconnector

    在/etc/zabbix/zabbix_agent.conf中配置如下

    HostMetadata=xxx

    记得重启agent

    配置Autoregistration actions

    Alerts -> Actions -> Autoregistration actions,点击左上角Create action Name: 这个action的名称,可根据意图填写 Conditions: 条件,这边有三个选项,HostName, HostMetadata, Proxy, 由于HostName是唯一的,不可能用来作为条件,所以一般我都选择使用hostmetadata 在这里插入图片描述

    再看Operations这一个tab 在这里插入图片描述

    这个tab就是用来设定所有发现主机后需要做的操作,由于实在太多了,我把官网文档里说的粘贴一下

    • Add host
    • Remove host
    • Enable host
    • Disable host
    • Add to host group
    • Remove from host group
    • Add host tags
    • Remove host tags
    • Link template
    • Unlink template
    • Set host inventory mode 可以看到,操作还是很多的,只需要选择需要的操作进行添加就可以了

    Discovery

    Data collection -> Discovery中,点击Create Discovery Rules来创建新的Discovery 在这里插入图片描述

    IP range

    在这边我们需要设定我们discover的IP范围,话不多说直接复制官网

    需要发现的IP地址范围。包括下列格式:
    单IP: 192.168.1.33
    IP地址范围: 192.168.1-10.1-255。IP地址范围取决于包含的所有地址数量(小于64K)。
    IP子网掩码: 192.168.4.0/24
    支持的IP掩码:
    /16 – /30 用于 IPv4地址
    /112 – /128用于IPv6地址
    列表: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
    从Zabbix 3.0.0起支持空格、制表符和多行。

    Checks

    检查项,其实就是用来判断你的host能不能被discover到

    Zabbix会使用此检查列表来执行网络发现。点击 在弹窗中配置一个新检查。
    支持的检查: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping.
    基于协议的自动发现使用net.tcp.service[] 功能来检测每台主机,查询SNMP OID的SNMP服务不在此列。通过查询未加密模式的监控项来探测Zabbix agent的存在。请查阅agent监控项获取更多信息。
    '端口'参数的格式如下:
    单一端口: 22
    端口范围: 22-45
    列表: 22-45,55,60-70

    注意,很多文章中只配置了一个check,但是如果有两个check项,会怎么样呢?其实是完全没有问题的,完全可以设置两个Zabbix agent type的check 其他几个不谈,其实很简单,配置过一个host的应该都知道这几个参数

    配置discovery actions

    接下来需要去到Alerts -> Actions -> Discovery actions,在这里面配置如果check到对应的数据,该怎么添加到zabbix 在这里插入图片描述

    可以看到,跟Autoregistration actions差不多的,我们需要这是condition跟operations,由于非常类似,所以这里就不过多赘述了,有问题评论区见吧~

    注意

    在condition中设置received value的时候,可能很多人会疑惑,我设置了两个check,那这个value是从哪里来的呢? 我一开始也很疑惑,直到我查到了官方说法

    Specify the value received from an agent (Zabbix, SNMP) check in a discovery rule. String comparison. If several Zabbix agent or SNMP checks are configured for a rule, received values for each of them are checked (each check generates a new event which is matched against all conditions).
    equals – equal to the value.
    does not equal – not equal to the value.
    is greater than or equals – more or equal to the value.
    is less than or equals – less or equal to the value.
    contains – contains the substring. Parameter is given as a string.
    does not contain – does not contain the substring. Parameter is given as a string.

    LLD

    LLD的话,需要配置一个Discovery,然后先通过discovery来获取对应的服务器列表。 之后通过创建一个Host prototypes来让Zabbix自动创建该Host 在这里插入图片描述

    图中的Agent的IP地址127.0.0.1也是可以变成一个可选项的,不是非得固定127.0.0.1

    可以看到,跟自动注册不一样的是,这个就跟我们的Host界面一样,通过界面化的方式来配置template,tag,hostname等信息,更加可视化 另外,这个Host也可以在配置discovery list的时候通过配置Keep lost resources period来设置多久找不到就自动删除

    总结

  • Autoregistration actions
    • 这应该是最简单的一个,因为只需要写一个action就完事了,不需要配置discovery然后配置action,也不需要适配接口再做后续操作,是我认为最简单的一种用法,但是缺点同样动人
    • 不能自动删除,只能自动添加
  • Discovery
    • 需要一个确定的IP区间,如果在AWS中有较多子账号,而且配置不当导致private IP冲突的话,对创建host影响很大
    • 可以自动删除(配置对应的discovery action)
  • LLD
    • 通过接口等方式获取服务器列表,然后添加到zabbix中,适用于AWS CLI这种接口形式的添加
    • 但是还是有个不适用性,就是跨AWS account,无法用一个CLI去获取所有的EC2
    • 可以自动删除(不需要配置,如果没有的话会自动删除)
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » Zabbix进阶1--自动注册服务器到Zabbix的三种方式介绍
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!