返回列表 发帖

Zabbix使用Ping的模板监控主机网络延迟情况

笺注:这是在 CentOS8编译安装Zabbix4.4.5 的基础上进行的。


备注:
被监控主机不用安装zabbix-agent;
这是在内网测试;


被监控主机的信息:
[root@zabbix_client ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@zabbix_client ~]#

[root@zabbix_client ~]# hostname
zabbix_client
[root@zabbix_client ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zabbix_client
[root@zabbix_client ~]#

[root@zabbix_client ~]# ifconfig eth0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'
192.168.168.130
[root@zabbix_client ~]#


[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Sep 21 14:51:46 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:140]
-A INPUT -p tcp -m tcp --dport 10050 -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 Wed Sep 21 14:51:46 2022
[root@zabbix_client ~]#

注释:此时,被监控主机允许被任何设备Ping;



在Zabbix服务器上Ping被监控主机:
[root@centos8 ~]# ping -c 4 192.168.168.130
PING 192.168.168.130 (192.168.168.130) 56(84) bytes of data.
64 bytes from 192.168.168.130: icmp_seq=1 ttl=64 time=0.511 ms
64 bytes from 192.168.168.130: icmp_seq=2 ttl=64 time=0.653 ms
64 bytes from 192.168.168.130: icmp_seq=3 ttl=64 time=0.592 ms
64 bytes from 192.168.168.130: icmp_seq=4 ttl=64 time=0.952 ms

--- 192.168.168.130 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 106ms
rtt min/avg/max/mdev = 0.511/0.677/0.952/0.166 ms
[root@centos8 ~]#





#################Zabbix添加被监控主机:

配置》主机》创建主机:(主机名称可以与被监控主机的真实主机名保持一致;群组可以随便选;使用agent代理程序的接口;IP地址那里要输入被监控主机的IP地址;端口为10050)
图片1.png
此页面太长,紧接的是下半部分:
图片2.png


给主机zabbix_client添加模板:( Template Module ICMP Ping )
图片3.png

模板添加成功:(主机会继承所使用模板的监控项、触发器、图形等等)
图片4.png



模板Template Module ICMP Ping自带的三个监控项:
图片5.png

但这三个监控项的状态都是“不支持的”:
图片6.png

不支持的原因是Zabbix服务器没有安装fping:
At least one of '/usr/sbin/fping', '/usr/sbin/fping6' must exist. Both are missing in the system.
图片7.png



######

在Zabbix服务器安装fping:
wget http://www.fping.org/dist/fping-4.0.tar.gz
tar -zxvf fping-4.0.tar.gz
cd fping-4.0
./configure --prefix=/usr/local/fping/
make && make install

修改fping的权限:
chown root:zabbix /usr/local/fping/sbin/fping
chmod 4710 /usr/local/fping/sbin/fping

fping安装成功:
[root@centos8 ~]# find / -name "fping"
/root/fping-4.0/src/fping
/usr/local/fping
/usr/local/fping/sbin/fping
[root@centos8 ~]#


测试命令fping:
当Zabbix服务器Ping不通被监控主机(192.168.168.130)时的效果:
[root@centos8 ~]# /usr/local/fping/sbin/fping 192.168.168.130
ICMP Port Unreachable from 192.168.168.130 for ICMP Echo sent to 192.168.168.130
ICMP Port Unreachable from 192.168.168.130 for ICMP Echo sent to 192.168.168.130
ICMP Port Unreachable from 192.168.168.130 for ICMP Echo sent to 192.168.168.130
ICMP Port Unreachable from 192.168.168.130 for ICMP Echo sent to 192.168.168.130
192.168.168.130 is unreachable

[root@centos8 ~]#

当Zabbix服务器能Ping通被监控主机(192.168.168.130)时的效果:
[root@centos8 ~]# /usr/local/fping/sbin/fping 192.168.168.130
192.168.168.130 is alive
[root@centos8 ~]#


修改Zabbix服务器的配置文件:
[root@centos8 ~]# cat /usr/local/zabbix/etc/zabbix_server.conf |grep "fping"
#       Location of fping.
#       Make sure that fping binary has root ownership and SUID flag set.
# FpingLocation=/usr/sbin/fping
#       Location of fping6.
#       Make sure that fping6 binary has root ownership and SUID flag set.
#       Make empty if your fping utility is capable to process IPv6 addresses.
# Fping6Location=/usr/sbin/fping6

修改为:
[root@centos8 ~]# cat /usr/local/zabbix/etc/zabbix_server.conf |grep "fping"
#       Location of fping.
#       Make sure that fping binary has root ownership and SUID flag set.
FpingLocation=/usr/local/fping/sbin/fping
#       Location of fping6.
#       Make sure that fping6 binary has root ownership and SUID flag set.
#       Make empty if your fping utility is capable to process IPv6 addresses.
# Fping6Location=/usr/sbin/fping6


保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
pkill -9 -U zabbix
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server



重新检查主机zabbix_client的三个监控项:
图片8.png

现在正常了:
图片9.png



######

模板Template Module ICMP Ping自带的宏:
图片10.png


模板Template Module ICMP Ping自带的三个触发器:

触发器名称: High ICMP ping loss
严重性: 警告
表达式: {zabbix_client:icmppingloss.min(5m)}>{$ICMP_LOSS_WARN} and {zabbix_client:icmppingloss.min(5m)}<100
图片11.png


触发器名称: High ICMP ping response time
严重性: 警告
表达式:{zabbix_client:icmppingsec.avg(5m)}>{$ICMP_RESPONSE_TIME_WARN}
图片12.png


触发器名称: Unavailable by ICMP ping
严重性: 严重
表达式: {zabbix_client:icmpping.max(#3)}=0
图片13.png



######

在被监控主机的防火墙上禁止被其他设备Ping;(直接更改防火墙的配置文件)
[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Sep 21 14:51:46 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:140]
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j REJECT
-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 Wed Sep 21 14:51:46 2022
[root@zabbix_client ~]#


保存好配置文件后,重启一下iptables:
[root@zabbix_client ~]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
iptables:应用防火墙规则:[确定]
[root@zabbix_client ~]#



当Zabbix服务器Ping不通主机zabbix_client时,在仪表板上的告警效果:(显示对应触发器的名称)
Unavailable by ICMP ping
图片14.png

图片15.png



######

在被监控主机的防火墙上只允许被Zabbix服务器Ping;(插入防火墙规则)
[root@zabbix_client ~]# iptables -I INPUT -p icmp -j ACCEPT -s 192.168.168.154/32
[root@zabbix_client ~]# iptables-save > /etc/sysconfig/iptables
[root@zabbix_client ~]#

[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Sep 21 16:28:34 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:576]
-A INPUT -s 192.168.168.154/32 -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j REJECT
-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 Wed Sep 21 16:28:34 2022
[root@zabbix_client ~]#


当Zabbix服务器能Ping通主机zabbix_client时,在仪表板上的告警会马上消失:
图片16.png





######

给主机zabbix_client的监控项“ICMP loss”创建图形:
图片17.png
监控项:
图片18.png


给主机zabbix_client的监控项“ICMP ping”创建图形:
图片19.png
监控项:
图片20.png


给主机zabbix_client的监控项“ICMP response time”创建图形:
图片21.png
监控项:
图片22.png



监测》图形:

查看主机zabbix_client的图形“ICMP loss image”:
图片23.png

图片24.png
注释:图形中的数据线是从右往左延伸的。

图片25.png



查看主机zabbix_client的图形“ICMP ping image”:
图片26.png

图片27.png
注释:图形中的数据线是从右往左延伸的。

图片28.png



查看主机zabbix_client的图形“ICMP response time image”:
图片29.png

图片30.png
注释:图形中的数据线是从右往左延伸的。

图片31.png





相关文章:
CentOS6_iptables

Zabbix5.0.12_使用Ping的模板监控主机网络延迟情况

返回列表