Zabbix SNMP监控介绍
Zabbix提供了强大的SNMP监控功能,可以用于监控网络设备、服务器和其他支持SNMP协议的设备。SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛用于网络管理的协议。它用于监控网络设备(如路由器、交换机、服务器等)的状态和性能。
Zabbix 提供了对 SNMPv1、SNMPv2c 和 SNMPv3 的支持。SNMPv3 增强了安全性,提供了身份验证和加密功能。
在Zabbix中,使用SNMP监控可以实现以下功能:
- 设备发现和自动添加: 可以自动发现网络中的设备,并添加到监控系统中。
- 性能监控: 可以监控设备的各种性能指标,如CPU利用率、内存使用情况、网络流量等。
- 事件和告警: 可以设置阈值和触发条件,当设备或指标达到预设值时,触发告警通知管理员。
- 历史数据存储与分析: 可以持久存储历史数据,并提供数据分析功能,如生成趋势图和报告。
要在Zabbix中配置SNMP监控,通常需要以下步骤:
- 定义SNMP设备: 在Zabbix中添加需要监控的SNMP设备,指定设备的IP地址、SNMP版本、团体字符串等信息。
- 配置监控项: 设置需要监控的指标,如CPU利用率、内存使用率等。
- 创建触发器和告警: 定义触发条件和告警动作,确保及时响应异常情况。
- 监控和管理: 监控设备状态、性能指标,管理监控系统中的设备和配置。
通过合理配置和管理,Zabbix的SNMP监控能够帮助管理员及时发现和解决网络设备的问题,保障网络的稳定性和可靠性。
Zabbix SNMP监控配置
zabbix环境信息:
节点 | IP | OS | Role |
---|---|---|---|
zabbix-server | 192.168.72.31 | Ubuntu 22.04 | zabbix-server |
web-server | 192.168.72.33 | Ubuntu 22.04 | SNMP |
zabbix 版本: v7.0.0
前置要求:已在web-server上安装snmp。
安装SNMP
在web server上安装SNMP。
apt install -y snmp snmpd
修改SNMP配置文件,配置监听地址,以及snmp用户。
root@web-server:~# vim /etc/snmp/snmpd.conf
agentAddress udp:127.0.0.1:161,udp:192.168.72.33:161
rouser zabbixsnmpuser priv
停止SNMP服务
systemctl stop snmpd.service
使用 net-snmp-create-v3-user
工具创建 SNMPv3 用户:
net-snmp-create-v3-user -ro -A ZabbixAuthPass@123 -X ZabbixPrivPass@123 -a SHA -x AES zabbixsnmpuser
参数说明:
-
-ro 表示只读用户。
-
-A 指定认证密码。
-
-X 指定加密密码。
-
-a 指定认证协议(SHA 或 MD5)。
-
-x 指定加密协议(AES 或 DES)。
-
zabbixsnmpuser 是要创建的 SNMP 用户名。
net-snmp-create-v3-user
工具不直接支持 AES-256
和 SHA-256
。需要手动编辑配置文件来实现此功能。以上命令生成一个基础配置,之后需要手动修改配置文件。
编辑 /var/lib/snmp/snmpd.conf
,打开生成的配置文件,修改加密算法为SHA-256
和AES-256
。
root@web-server:~# nano /var/lib/snmp/snmpd.conf
createUser zabbixsnmpuser SHA-256 ZabbixAuthPass@123 AES-256 ZabbixPrivPass@123
编辑完成后,保存并关闭文件,然后重启 SNMP 服务:
systemctl restart snmpd
在zabbix-server节点安装snmpwalk工具
apt install -y snmp
在zabbix-server节点使用 snmpwalk
工具来验证配置是否正确:
snmpwalk -v3 -u zabbixsnmpuser -l authPriv -a SHA-256 -A ZabbixAuthPass@123 -x AES-256 \
-X ZabbixPrivPass@123 192.168.72.33
输出如下内容,说明配置正常
so.3.6.1.2.1.1.1.0 = STRING: "Linux web-server 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (350977) 0:58:29.77
iso.3.6.1.2.1.1.4.0 = STRING: "Me <me@example.org>"
iso.3.6.1.2.1.1.5.0 = STRING: "web-server"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
......
配置zabbix-web
登录 Zabbix Web 界面,导航到数据采集->主机->创建主机
在 Host
选项卡中填写以下基本信息:
- Hostname: 填写主机名,例如
192.168.72.33_SNMP
- Visible name: (可选)填写显示名
- 模板:
Linux by SNMP
- Groups: 选择或创建一个组,例如
Linux servers
- Interfaces: 点击
Add
,选择SNMP
类型,填写主机的 IP 地址和端口(默认是 161)
在 Interfaces
部分,点击 Add
,选择 SNMP
类型并填写以下信息:
- Type: SNMP
- IP Address: 输入设备的 IP 地址,例如
192.168.72.33
- Port: 默认是
161
- SNMP version: 选择
SNMPv3
在 SNMP
选项卡中,选择 SNMPv3
,并填写以下字段:
- Security name: 填写在 Ubuntu 上创建的 SNMPv3 用户名,例如
zabbixsnmpuser
- Security level: 选择
authPriv
- Authentication protocol: 选择
SHA256
- Authentication passphrase: 填写认证密码,例如
ZabbixAuthPass@123
- Privacy protocol: 选择
AES256
- Privacy passphrase: 填写您的加密密码,例如
ZabbixPrivPass@123
示例配置如下:
导航到监测,查看通过SNMP收集的最新数据