Zabbix使用SNMP监控CentOS6/Redhat6
笺注:被监控主机是在 LNMP一键安装包(lnmp_CentOS6.9) 的基础上进行的。
被监控主机的信息:
[root@zabbix_client ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@zabbix_client ~]#
[root@zabbix_client ~]# uname -r
2.6.32-696.el6.x86_64
[root@zabbix_client ~]# hostname
zabbix_client
[root@zabbix_client ~]# cat /etc/sysconfig/network |tail -1
HOSTNAME=zabbix_client
[root@zabbix_client ~]# ifconfig eth0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'
192.168.168.130
被监控主机安装软件包:
[root@zabbix_client ~]# yum -y install net-snmp lm_sensors
安装后,查看SNMP的版本( snmpd -v )
修改被监控主机的SNMP配置文件 /etc/snmp/snmpd.conf
sed -i 's/access notConfigGroup "" any noauth exact systemview none none/access notConfigGroup "" any noauth exact all none none/g' /etc/snmp/snmpd.conf
################# 192.168.168.154为Zabbix服务器的IP地址
sed -i 's/com2sec notConfigUser default public/com2sec notConfigUser 192.168.168.154 public/g' /etc/snmp/snmpd.conf
#################
echo 'view all included .1 80' >> /etc/snmp/snmpd.conf
[root@zabbix_client ~]# vi /etc/snmp/snmpd.conf
SNMP Community: public
SNMP Version:( 支持v1、v2c )
SNMP OID:
启动snmpd服务:
[root@zabbix_client ~]# service snmpd start
正在启动 snmpd:[确定]
开机自动启动snmpd服务:
[root@zabbix_client ~]# chkconfig --level 35 snmpd on
确认开机自动启动snmpd服务:
[root@zabbix_client ~]# chkconfig --list snmpd
snmpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
检测snmpd是否运行中:(运行时的效果)
[root@zabbix_client ~]# ps -ef |grep snmpd |grep -v grep
root 2744 1 0 03:07 ? 00:00:00 /usr/sbin/snmpd -LS0-6d -Lf /dev/null -p /var/run/snmpd.pid
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo $?
0
[root@zabbix_client ~]# netstat -anp |grep 161
udp 0 0 0.0.0.0:161 0.0.0.0:* 2744/snmpd
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo $?
0
关闭snmpd服务:
[root@zabbix_client ~]# service snmpd stop
停止 snmpd:[确定]
检测snmpd是否运行中:(关闭时的效果)
[root@zabbix_client ~]# ps -ef |grep snmpd |grep -v grep
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo $?
1
[root@zabbix_client ~]# netstat -anp |grep 161
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo $?
1
重启snmpd服务:
[root@zabbix_client ~]# service snmpd restart
停止 snmpd:[确定]
正在启动 snmpd:[确定]
防火墙配置:(打开UDP 161端口)
iptables -I INPUT -p udp --dport 161 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
######
在Zabbix服务器上检测与被监控主机的SNMP连通性:
[root@centos8 ~]# dnf -y install net-snmp-utils net-snmp-libs net-snmp
查看被监控主机的启动了多久:(IP地址后面的是SNMP OID)
[root@centos8 ~]# snmpwalk -v 2c -c public 192.168.168.130 .1.3.6.1.2.1.25.1.1
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (593413) 1:38:54.13
注释:SNMP Community为public,要与被监控主机的SNMP Community保持一致。
不可以访问时:
[root@centos8 ~]# snmpwalk -v 2c -c public 192.168.168.130
Timeout: No Response from 192.168.168.130
########################################
########################################
Zabbix创建主机群组:
配置〉〉主机群组〉〉创建主机群组
备注:创建主机时要指定其所属主机群组。
Zabbix创建主机:
配置〉〉主机〉〉创建主机(主机名称无需与被监控主机的真实主机名一致;群组可以随便选)
移除agent代理程序的接口:
使用SNMP接口:( 指明被监控主机的IP地址;端口为UDP 161 )
本页拖下去:
主机创建成功:
主机的“继承以及主机宏”:
注释:
{$SNMP_COMMUNITY}的可用值默认为public
即:
SNMP Community默认为public
给主机c6添加模板:( Template App HTTP Service, Template OS Linux SNMPv2 )
监控成功:
###
查看模板Template OS Linux SNMPv2自带图形:(要等一段时间才会出现)
假如主机的图形迟迟不出现,可以手动检查一下该主机的自动发现规则:
注释:这里用到了宏{$SNMP_COMMUNITY}
本页面拖下去:
同理,以下几条自动发现规则也手动检查一下:
监测》图形
Systemc load:
这里可以看到被监控主机的CPU核心数:
CPU jumps:
网卡流量:
单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒
根分区使用情况:
可以看到根分区的大小、已使用量、使用率:
/boot分区使用情况:
可以看到/boot分区的大小、已使用量、使用率:
CPU使用率:
CPU使用率自带的监控项:(来源于模板Template OS Linux SNMPv2)
名称: CPU utilization
键值: system.cpu.util[snmp,0]
CPU使用率自带的触发器:(触发器的表达式要用到监控项中的键值)
名称: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)
表达式: {c6:system.cpu.util[snmp,0].min(5m)}>{$CPU.UTIL.CRIT}
{$CPU.UTIL.CRIT} 是宏,继承于主机使用的模板:
内存使用率:
内存使用率自带的监控项:(来源于模板Template OS Linux SNMPv2)
名称:Memory utilization
键值:vm.memory.util[snmp]
公式:
(last("vm.memory.total[memTotalReal.0]")-(last("vm.memory.free[memAvailReal.0]")+last("vm.memory.buffers[memBuffer.0]")+last("vm.memory.cached[memCached.0]")))/last("vm.memory.total[memTotalReal.0]")*100
内存使用率自带的触发器:(触发器的表达式要用到监控项中的键值)
名称:High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m)
表达式:{c6:vm.memory.util[snmp].min(5m)}>{$MEMORY.UTIL.MAX}
备注:此页面底下有个“克隆”按钮。
给内存使用率添加一个新的触发器:(内存使用率持续5分钟超过8%后告警)
名称: Memory utilization > 8% for 5m on {HOST.IP}
严重性: 警告
表达式: {c6:vm.memory.util[snmp].min(5m)}>8
注释: {HOST.IP} 是预定义变量,即当前主机的IP地址。
本页拖下去:
备注:克隆内存使用率自带的触发器,再更改即可。
至此,对应图形上会有两条告警线,有两个触发器:
当被监控主机的内存使用率持续5分钟超过8%后,仪表板会如下图显示:(显示触发器的名称)
Memory utilization > 8% for 5m on 192.168.168.130
禁用某个触发器:
备注:可以使用过滤器查找定位到指定的触发器。
禁用触发器( Memory utilization > 8% for 5m on {HOST.IP} )后,仪表板的告警就消失了:
######
给主机c6的“系统运行时长”创建图形:
自定义名称: uptime_image
监控项 c6: Uptime
注释:可以自定义图形的绘画风格、颜色等等。
查看主机c6的操作系统有多长时间没有重启过:
如果被监控主机重启了,还会触发触发器( {HOST.NAME} has been restarted (uptime < 10m) ):
####################### 监控TCP端口是否能用:
确认被监控主机的模板 Template App HTTP Service 已添加成功
模板 Template App HTTP Service 自带的监控项:(默认监控的是TCP 80端口)
名称: HTTP service is running
键值: net.tcp.service[http]
模板 Template App HTTP Service 自带的触发器:(触发器的表达式要用到监控项中的键值)
名称: HTTP service is down on {HOST.NAME}
表达式: {c6:net.tcp.service[http].max(#3)}=0
注释: {HOST.NAME} 是预定义变量,即当前主机的名称。
模板没有图形,给“HTTP状态”创建图形:
监控项 c6: HTTP service is running
注释:可以自定义图形的绘画风格、颜色等等。
查看图形:
如被监控主机的TCP 80端口不能用了,仪表板会如下图显示:(显示触发器的名称)
HTTP service is down on c6
备注:
假如被监控主机的HTTP服务没有开启,或者防火墙的TCP 80端口没有打开都会触发此触发器。
###
修改模板 Template App HTTP Service 进行监控MySQL的TCP 3306端口
1、克隆对应的监控项:(此页面底下有个“克隆”按钮)
克隆后,自定义新监控项的名称、键值
名称自定义为: MySQL service is running
键值改为: net.tcp.service[http,,3306]
备注:其他地方保持默认即可,记得点击本页底下的“添加”按钮。
2、克隆对应的触发器:(此页面底下有个“克隆”按钮)
克隆后,自定义新触发器的名称、严重性、表达式
名称自定义为:MySQL service is down on {HOST.NAME}
严重性: 灾难
表达式改为: {c6:net.tcp.service[http,,3306].max(#3)}=0
备注:其他地方保持默认即可,记得点击本页底下的“添加”按钮。
如被监控主机的TCP 3306端口不能用了,仪表板会如下图显示:(显示触发器的名称)
MySQL service is down on c6
备注:
假如被监控主机的MySQL服务没有开启,或者防火墙的TCP 3306端口没有打开都会触发此触发器。
被监控主机的防火墙配置文件:
[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Tue Jun 23 03:09:29 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:232]
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jun 23 03:09:29 2020
####################### 监控UDP端口是否能用
给主机c6添加模板Template App NTP Service
笺注:此模板默认是监控NTP服务的UDP 123端口,并不能自定义其监控项的端口后去监控其他服务的UDP端口。
确认模板 Template App NTP Service 已添加成功:
模板Template App NTP Service自带的监控项:(默认监控的是UDP 123端口)
名称: NTP service is running
键值: net.udp.service[ntp]
模板Template App NTP Service自带的触发器:
名称: NTP service is down on {HOST.NAME}
表达式: {c6:net.udp.service[ntp].max(#3)}=0
如果被监控主机的UDP 123端口不能用了,仪表板会如下图显示:(显示触发器的名称)
NTP service is down on c6
备注:
假如被监控主机的NTP服务没有开启,或者防火墙的UDP 123端口没有打开都会触发此触发器。
被监控主机的防火墙配置文件:
[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Tue Jun 23 03:09:29 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:232]
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jun 23 03:09:29 2020
######
模板Template OS Linux SNMPv2自带“不可用”的触发器:
名称: No SNMP data collection
严重性: 警告
表达式: {c6:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0
如果被监控主机失联或关机了,仪表板会如下图显示:(显示触发器的名称)
No SNMP data collection
注释:连TCP、UDP端口的触发器都会显示的。
######
模板Template OS Linux SNMPv2自带“重启”的触发器:
名称: {HOST.NAME} has been restarted (uptime < 10m)
严重性: 警告
表达式: {c6:system.uptime[sysUpTime.0].last()}<10m
如果被监控主机重启了,仪表板会如下图显示:(显示触发器的名称)
c6 has been restarted (uptime < 10m)
注释:这个告警持续10分钟后,会自动消失。
相关文章:
最小化安装CentOS6
Zabbix使用SNMP监控Oracle Linux6
Zabbix使用SNMP监控CentOS7/Redhat7
Zabbix使用SNMP监控CentOS8/Redhat8
Zabbix使用SNMP监控iKuai路由器(SNMPv2c)
Zabbix使用SNMP监控VMware ESXi 6.5
#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^
电蚊拍可充电式LED灭苍蝇拍大号网面强力灭蚊拍电蚊子拍
苏泊尔榨汁机杯家用全自动果蔬多功能迷你学生小型便携式炸果汁机
|