您的位置:

Zabbix自动发现

一、概述

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

二、自动发现的应用场景

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

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

三、自动发现的实现方式

Zabbix提供多种自动发现方式:

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

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运行的进程数量

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、Zabbix的自动发现规则需要事先配置好,并指定对应的操作,如添加、更新或删除监控对象等。

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

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

五、总结

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