12-zabbix自动发现和自动注册

熊 0 阅读 监控平台

Zabbix设置自动添加主机两种方法:自动注册、自动发现。

手动添加客户端非常耗时间,增加人力、时间成本。为了满足监控企业成千上万台服务器,zabbix提供了自动发现与自动注册的功能,自动批量发现局域网中的服务器,并自动添加到zabbix监控平台

自动发现 ( 被动模式 ) :由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。实现自动将发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目 ( item ) 、自动创建图像等功能。缺点:当 Agent服务器过多的时候采用自动发现,zabbix-server压力会比较大,自动添加主机进度就会非常慢。

自动注册 ( 主动模式 ) :Zabbix Server等待Zabbix Agent主动上报。由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的要采用自动发现。缺点:agent有可能找不到Server。

注:主动还是被动是基于agent而言,不管是主动还是被动模式都是在agent端进行配置

1. 自动发现

1.1 自动发现概述

Zabbix是一个广泛使用的监控系统,它支持多种自动发现方式,其中之一就是通过自动发现功能发现被监控对象。自动发现功能能够提高监控系统的效率,因为它能够自动发现并添加新的主机或服务,使得管理员无需手动添加监控对象。

1.2 自动发现应用场景

自动发现功能适用于那些需要频繁添加新主机或新服务的场景,比如云端环境、容器化环境、动态扩展的集群等。

举个例子,当一个新的物理机接入集群时,自动发现功能会自动检测该物理机并将其添加到监控系统中。同样地,当一个新的服务添加到集群中时,自动发现功能也会自动检测该服务并将其添加到监控系统中。

当网络发现正确设置后你可以 :

  1. 加快Zabbix部署

  2. 简化管理

  3. 无需过多管理就能在快速变化的环境中使用Zabbix

Zabbix网络发现基于以下信息 :

  1. IP范围

  2. 可用的外部服务 ( FTP,SSH,WEB,POP3,IMAP,TCP等 )

  3. 来自 zabbix agent 的信息 ( 仅支持未加密模式 )

  4. 来自 snmp agent 的信息

不支持 : 发现网络拓扑

zabbix网络发现总结

  1. 网络发现速度太慢

  2. 轮询扫描网段

  3. 如果网段中存在不通的主机,会出现卡顿并且造成后续新增的服务器无法加入节点

  4. 会导致server性能变缓慢,影响server性能

1.3 自动发现规则

自动发现规则主要针对企业批量添加主机,如果使用传统办法去单个添加设备、分组、项目、图像……,这是一个任务量巨大的一个工程,由此引入自动发现规则。

自动发现规则由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备,实现自动发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目 ( item ) 、自动创建图像等功能。

1.4 自动发现的实现方式

网络发现由两个阶段组成:发现 ( discovery ) 和动作 ( actions ) 。

1.4.1 基于SNMP的自动发现

SNMP ( Simple Network Management Protocol,简单网络管理协议 ) 是一种网络管理协议,它可以用于收集和管理网络设备和服务器等信息。Zabbix可以通过SNMP自动发现被监控对象,并自动添加到监控系统中。

示例

UserParameter=.1.3.6.1.2.1.25.4.2,"/usr/bin/snmpwalk -v 2c -c public $1 .1.3.6.1.2.1.25.4.2" \ #SNMP自动发现硬盘
DiscoveryRuleName=SNMP Disk Discovery
Key=.1.3.6.1.2.1.25.4.2
Type=SNMPv2 agent
SNMPCommunity=public
SNMPOptions=
snmp_port=161

1.4.2 基于agent的自动发现

Zabbix agent是一种用于从被监控主机收集信息并发送给监控系统的客户端程序。Zabbix可以通过agent自动发现被监控主机,并自动添加到监控系统中。

示例

DiscoveryRuleName=Zabbix Agent Processes
Type=Zabbix agent
Key=proc.num
UpdateInterval=60
Delay=3600
UserParameter=proc.num,/bin/echo $(/bin/ps aux | /bin/grep -v grep | /bin/grep $1 | /usr/bin/wc -l) #自动发现Zabbix agent运行的进程数量

1.4.3 基于JMX的自动发现

JMX ( Java Management Extension ) 是用于监控Java应用程序的一种标准。Zabbix可以通过JMX自动发现Java应用程序,并自动添加到监控系统中。

示例

DiscoveryRuleName=JMX Tomcat Discovery
Type=JMX
Key=JMXObjectName
JMXUrl=service:jmx:rmi:///jndi/rmi://$1:$2/jmxrmi
JMXUser=zabbix
JMXPassword=zabbix
JMXObjectName=Tomcat:name=*
JMXTimeout=30s #自动发现Tomcat应用程序

1.5. 自动发现配置注意事项

在使用自动发现功能时,需要注意以下几点:

  1. Zabbix的自动发现规则需要事先配置好,并指定对应的操作,如添加、更新或删除监控对象等。

  2. Zabbix的自动发现功能需要管理员有足够的权限才能被运行,因此需要管理员授予相应的权限。

  3. 自动发现功能依赖于监控系统的运行环境,因此需要管理员事先配置好监控系统的环境。

1.6 配置实现自动发现

zabbix-server主动发现zabbix-agent

  1. 删除之前添加的server2设备

  2. 配置—动作—自动发现—启用

    zabbix-network-discovery-1
  3. 点击Auto discovery Linux servers—添加触发条件—更新

    zabbix-network-discovery-2
  4. 配置—自动发现—Local network

    zabbix-network-discovery-4
  5. 修改IP范围和时间间隔—已启功—更新

    zabbix-network-discovery-3
  6. 配置—主机—等待1min左右,刷新页面—server2被自动发现

    zabbix-network-discovery-5

Zabbix的自动发现功能是一个非常强大的工具,它可以自动发现被监控对象并自动添加到监控系统中,提高了监控系统的效率。管理员可以根据不同的被监控对象选择不同的自动发现方式,如SNMP、agent和JMX等。在配置自动发现功能时,需要注意事先配置好自动发现规则并授权管理员对应的权限,以确保自动发现功能能够正常运行。

配置操作过程中可以发送以下宏的信息

默认标题
自动发现主机IP:{DISCOVERY.DEVICE.IPADDRESS}
​
消息内容
客户端名称: {DISCOVERY.SERVICE.NAME}
客户端端口: {DISCOVERY.SERVICE.PORT}
客户端状态: {DISCOVERY.SERVICE.STATUS}
​
操作动作
添加主机,添加主机组,链接模板,发送邮件,等等

2. 自动注册

2.1 自动注册规则

Zabbix的自动注册规则主要用于Agent主动且自动向Server注册,适用于当前云环境下的监控。Zabbix-Server在收到Zabbix-Agent的注册请求时,如果没有收到IP地址的值,则使用Zabbix-Agent和Zabbix-Server建立TCP连接时使用的IP地址

2.2 zabbix配置自动注册

  1. 添加zabbix-agent

    rpm -ivh zabbix-agent-4.4.1-1.el7.x86_64.rpm

    编辑agent配置文件:

    vim /etc/zabbix/zabbix_agentd.conf
    
    98 Server=172.25.254.1 #zabbix被动模式要来取的ip地址 ( zabbix-server )  
    139 ServerActive=172.25.254.1 #zabbix主动模式要发送的ip地址 ( zabbix-server )  
    150 Hostname=server3 
    
    systemctl start zabbix-agent
    
    netstat -antlp | grep 10050
    zabbix-auto-registration-1
  2. 在zabbix-web中刷新—server3出现:

    这是上一步骤自动发现的结果,删除server3

    zabbix-auto-registration-2
  3. 配置—自动发现—停用

    zabbix-auto-registration-3
  4. 配置—动作—自动注册—创建动作

    zabbix-auto-registration-4
  5. 动作—名称—触发条件—启用—添加

    zabbix-auto-registration-5
  6. 动作—操作—新的

    zabbix-auto-registration-6
  7. 添加主机—添加

    zabbix-auto-registration-7
  8. 添加到主机群组—选择群组—添加

    zabbix-auto-registration-8
  9. 与模版关联—选择模版—添加—更新

    zabbix-auto-registration-9
    zabbix-auto-registration-10
  10. 配置—主机—等待1min左右,刷新页面—server3自动注册成功

    zabbix-auto-registration-11


参考链接

第十一章 监控系统-zabbix自动化监控 - 年少纵马且长歌 - 博客园 (cnblogs.com)

构建企业级监控平台系列 ( 九 ) :Zabbix 自动发现与自动注册 (qq.com)