返回列表 发帖

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
图片1.png



修改被监控主机的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
图片2.png

SNMP Version:( 支持v1、v2c )
图片3.png

SNMP OID:
图片4.png



启动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创建主机群组:

配置〉〉主机群组〉〉创建主机群组
图片5.png

备注:创建主机时要指定其所属主机群组。



Zabbix创建主机:

配置〉〉主机〉〉创建主机(主机名称无需与被监控主机的真实主机名一致;群组可以随便选)
图片6.png

移除agent代理程序的接口:
图片7.png

使用SNMP接口:( 指明被监控主机的IP地址;端口为UDP 161 )
图片8.png

本页拖下去:
图片9.png


主机创建成功:
图片10.png



主机的“继承以及主机宏”:
图片11.png
注释:
{$SNMP_COMMUNITY}的可用值默认为public
即:
SNMP Community默认为public



给主机c6添加模板:( Template App HTTP Service, Template OS Linux SNMPv2  )
图片12.png


监控成功:
图片13.png

图片14.png




###

查看模板Template OS Linux SNMPv2自带图形:(要等一段时间才会出现)

假如主机的图形迟迟不出现,可以手动检查一下该主机的自动发现规则:
图片15.png


图片16.png

图片17.png

注释:这里用到了宏{$SNMP_COMMUNITY}

本页面拖下去:
图片18.png


同理,以下几条自动发现规则也手动检查一下:
图片19.png



监测》图形

Systemc load:
图片20.png

图片21.png

这里可以看到被监控主机的CPU核心数:
图片22.png



CPU jumps:
图片23.png

图片24.png

图片25.png



网卡流量:
图片26.png

图片27.png

图片28.png

单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒



根分区使用情况:
图片29.png

图片30.png

可以看到根分区的大小、已使用量、使用率:
图片31.png



/boot分区使用情况:
图片32.png

图片33.png

可以看到/boot分区的大小、已使用量、使用率:
图片34.png



CPU使用率:
图片35.png

图片36.png

图片37.png



CPU使用率自带的监控项:(来源于模板Template OS Linux SNMPv2)
名称: CPU utilization
键值: system.cpu.util[snmp,0]
图片38.png


CPU使用率自带的触发器:(触发器的表达式要用到监控项中的键值)
名称: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)
表达式: {c6:system.cpu.util[snmp,0].min(5m)}>{$CPU.UTIL.CRIT}
图片39.png

{$CPU.UTIL.CRIT} 是宏,继承于主机使用的模板:
图片40.png



内存使用率:
图片41.png

图片42.png

图片43.png


内存使用率自带的监控项:(来源于模板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
图片44.png


内存使用率自带的触发器:(触发器的表达式要用到监控项中的键值)
名称:High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m)
表达式:{c6:vm.memory.util[snmp].min(5m)}>{$MEMORY.UTIL.MAX}
图片45.png
备注:此页面底下有个“克隆”按钮。



给内存使用率添加一个新的触发器:(内存使用率持续5分钟超过8%后告警)
名称: Memory utilization > 8% for 5m on {HOST.IP}
严重性: 警告
表达式: {c6:vm.memory.util[snmp].min(5m)}>8
图片46.png

注释: {HOST.IP} 是预定义变量,即当前主机的IP地址。

本页拖下去:
图片47.png

备注:克隆内存使用率自带的触发器,再更改即可。


至此,对应图形上会有两条告警线,有两个触发器:
图片48.png

图片49.png


当被监控主机的内存使用率持续5分钟超过8%后,仪表板会如下图显示:(显示触发器的名称)
Memory utilization > 8% for 5m on 192.168.168.130
图片50.png

图片51.png



禁用某个触发器:
图片52.png

备注:可以使用过滤器查找定位到指定的触发器。


禁用触发器( Memory utilization > 8% for 5m on {HOST.IP} )后,仪表板的告警就消失了:
图片53.png





######

给主机c6的“系统运行时长”创建图形:
自定义名称: uptime_image
图片54.png

监控项 c6: Uptime
图片55.png
注释:可以自定义图形的绘画风格、颜色等等。


查看主机c6的操作系统有多长时间没有重启过:
图片56.png

图片57.png

如果被监控主机重启了,还会触发触发器( {HOST.NAME} has been restarted (uptime < 10m) ):
图片58.png







####################### 监控TCP端口是否能用:

确认被监控主机的模板 Template App HTTP Service 已添加成功
图片59.png


模板 Template App HTTP Service 自带的监控项:(默认监控的是TCP 80端口)
名称: HTTP service is running
键值: net.tcp.service[http]
图片60.png


模板 Template App HTTP Service 自带的触发器:(触发器的表达式要用到监控项中的键值)
名称: HTTP service is down on {HOST.NAME}
表达式: {c6:net.tcp.service[http].max(#3)}=0
图片61.png
注释: {HOST.NAME} 是预定义变量,即当前主机的名称。


模板没有图形,给“HTTP状态”创建图形:
图片62.png

监控项 c6: HTTP service is running
图片63.png
注释:可以自定义图形的绘画风格、颜色等等。


查看图形:
图片64.png

图片65.png

图片66.png



如被监控主机的TCP 80端口不能用了,仪表板会如下图显示:(显示触发器的名称)
HTTP service is down on c6
图片67.png

图片68.png

备注:
假如被监控主机的HTTP服务没有开启,或者防火墙的TCP 80端口没有打开都会触发此触发器。







###

修改模板 Template App HTTP Service 进行监控MySQL的TCP 3306端口

1、克隆对应的监控项:(此页面底下有个“克隆”按钮)
图片69.png


克隆后,自定义新监控项的名称、键值
名称自定义为: MySQL service is running
键值改为: net.tcp.service[http,,3306]
图片70.png
备注:其他地方保持默认即可,记得点击本页底下的“添加”按钮。



2、克隆对应的触发器:(此页面底下有个“克隆”按钮)
图片71.png


克隆后,自定义新触发器的名称、严重性、表达式
名称自定义为:MySQL service is down on {HOST.NAME}
严重性: 灾难
表达式改为: {c6:net.tcp.service[http,,3306].max(#3)}=0
图片72.png
备注:其他地方保持默认即可,记得点击本页底下的“添加”按钮。



如被监控主机的TCP 3306端口不能用了,仪表板会如下图显示:(显示触发器的名称)
MySQL service is down on c6
图片73.png

图片74.png

备注:
假如被监控主机的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端口。
图片75.png


确认模板 Template App NTP Service 已添加成功:
图片76.png


模板Template App NTP Service自带的监控项:(默认监控的是UDP 123端口)
名称: NTP service is running
键值: net.udp.service[ntp]
图片77.png


模板Template App NTP Service自带的触发器:
名称: NTP service is down on {HOST.NAME}
表达式: {c6:net.udp.service[ntp].max(#3)}=0
图片78.png


如果被监控主机的UDP 123端口不能用了,仪表板会如下图显示:(显示触发器的名称)
NTP service is down on c6
图片79.png

图片80.png

备注:
假如被监控主机的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
图片81.png


如果被监控主机失联或关机了,仪表板会如下图显示:(显示触发器的名称)
No SNMP data collection
图片82.png
注释:连TCP、UDP端口的触发器都会显示的。






######

模板Template OS Linux SNMPv2自带“重启”的触发器:
名称: {HOST.NAME} has been restarted (uptime < 10m)
严重性: 警告
表达式: {c6:system.uptime[sysUpTime.0].last()}<10m
图片83.png


如果被监控主机重启了,仪表板会如下图显示:(显示触发器的名称)
c6 has been restarted (uptime < 10m)
图片84.png

图片85.png

注释:这个告警持续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灭苍蝇拍大号网面强力灭蚊拍电蚊子拍
wenpai.png

苏泊尔榨汁机杯家用全自动果蔬多功能迷你学生小型便携式炸果汁机
shuiguo.png

返回列表