环境
- 系统:Centos 7.2
- Zabbix 3.4.12 (已通过部署包安装)
- 待监控服务器(戴尔,支持snmptrap)
准备
- 建议使用阿里源安装epel源
yum install -y epel-release
- 安装编译支持库
yum -y install mysql-devel libxml2-devel unixODBC-devel net-snmp-devel OpenIPMI-devel curl-devel libevent-devel gcc perl-Sys-Syslog
踩坑记录:若未安装上述组件包,将无法进行编译。
安装 Zabbix Server
- 下载源码包
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.12/zabbix-3.4.12.tar.gz
tar -zxvf zabbix-3.4.12.tar.gz
- 编译安装
# 配置安装信息
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
# 配置成功后,编译安装
make install
配置 SNMPTrap
- 安装
net-snmp
yum install -y net-snmp
- 修改
snmptrapd.conf
配置文件
# find / -name snmptrapd.conf
# 一般在 /etc/snmp/snmptrapd.conf
vim /etc/snmp/snmptrapd.conf
# 末尾添加两行代码
disableAuthorization yes
traphandle default snmptt
- 启动服务
systemctl start snmptrapd
systemctl enable snmptrapd
配置 snmpTT
- 安装
snmptt
yum install -y snmptt
- 修改
snmptt.ini
文件
vim /etc/snmp/snmptt.ini
log_file = /var/log/snmptt/snmptt.log #指定日志文件
net_snmp_perl_enable = 1 #启用net_snmp_perl
date_time_format = %H:%M:%S %Y/%m/%d #制定时间格式
- 配置数据处理格式
vim /etc/snmp/snmptt.conf
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1
- 启动服务
systemctl start snmptt
systemctl enable snmptt
- 验证服务
# 步骤一(可跳过)
# 安装ncat,监听 162 端口的 udp 信息
yum install -y nc
nc -ul 162
# 步骤二
tail -f /var/log/snmptt/snmptt.log
# 然后网络设备发送测试SNMP,查看文件是否接受到数据。
配置 Zabbix Server
- 修改
zabbix_server.conf
文件
vim /etc/zabbix/zabbix_server.conf
# 修改两个地方,可通过vi的查找功能快速定位
StartSNMPTrapper=1 # 将这里设为1,代表启用snmptrap
SNMPTrapperFile=/var/log/snmptt/snmptt.log # 路径必须跟snmptt.ini中设置的路径相同
- 重启服务
systemctl restart zabbix-server
配置 Zabbix Web
-
保持
Macros{$SNMP_COMMUNITY}
一致,默认为public
。【管理 - 一般 - 宏】
-
创建主机【配置 - 主机 - 创建主机】
将Agent代理程序的接口和SNMP接口的IP地址都设置为网络设备的IP
创建主机 -
创建监控项【配置 - 主机 - 指定主机 - 监控项 - 创建监控项】
创建监控项
监控设置 -
发送测试数据
网络设备配置SNMPTrap发送的IP地址为Zabbix服务器地址,然后点击测试。(本次以Dell服务器作为测试)
发送测试数据
-
查看测试数据【监控中 - 最新数据 - SNMPTrap[General] - 历史数据】
测试数据
参考文档
网友评论