代码改变世界

Zabbix 5.x的Template Module ICMP Ping浅析

2021-02-01 10:25  潇湘隐者  阅读(5723)  评论(0编辑  收藏  举报

 

Zabbix 5.*默认自带了模板Template Module ICMP Ping。它用来监控主机或设备的存活状态以及网络情况,主要是监控丢包率和响应时间两个指标。Template Module ICMP Ping模板有三个item,如下截图所示:

 

clip_image001

 

Template Module ICMP Ping的配置

 

1:检查或安装fping

 

Zabbix使用外部命令fping处理ICMP ping的请求,而不是ping命令,而fping不含在Zabbix的发行版本中。所以需要额外安装fping命令的相关包。

 

检查是否安装了fping命令:

 

[root@Zabbix ~]# yum list installed | grep fping
fping.x86_64            3.16-1.el8       @zabbix-non-supported  

 

如果没有安装过fping,就必须安装fping。如果没有配置yum源的话,需要用其它方式安装,例如可以下载安装包进行RPM安装,此处略过。

 

#yum install fping -y

 

由于fping默认是root权限工作,而Zabbix Proxy 或Zabbix Server是zabbix用户运行的,所以需要对fping程序设置setuid权限,如果在自定义key的时候需要用到netstat命令,也同样要设置setuid,否则不能获取到数据,而日志中提示权拒绝。

 

# locate fping
/usr/sbin/fping
/usr/sbin/fping6
/usr/share/doc/fping
/usr/share/doc/fping/COPYING
/usr/share/doc/fping/ChangeLog
/usr/share/doc/fping/README
/usr/share/man/man8/fping.8.gz
/usr/share/man/man8/fping6.8.gz
#chown root:zabbix /usr/sbin/fping
#chmod 4710 /usr/sbin/fping

 

 

 

2:在Zabbix Server和Zabbix Proxy端的配置文件里面打开注释

 

在zabbix_server.conf或zabbix_proxy.conf中把FpingLocation或Fping6Location路径修改为刚安装的fping命令的路径。如果安装路径和配置文件中FpingLocation/Fping6Location默认的路径一致,其实也可以不用修改。

 

 

默认设置如下所示:

 

### Option: FpingLocation
#       Location of fping.
#       Make sure that fping binary has root ownership and SUID flag set.
#
# Mandatory: no
# Default:
# FpingLocation=/usr/sbin/fping
 
### Option: Fping6Location
#       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.
#
# Mandatory: no
# Default:
# Fping6Location=/usr/sbin/fping6

 

 

3:在被监控的主机或设备上应用这个模板,或者在其他模板中引用这个模板(很多翻译是链接的模板,个人感觉这个翻译怪怪的),如下所示,在Template OS Windows by Zabbix agent中引用了Template Module ICMP Ping模板,那么只要应用模板Template OS Windows by Zabbix agent 就会监控主机或设备了。

 

clip_image002

 

 

Template Module ICMP Ping的选项介绍

 

在被监控的主机或设备上对应的最新数据(Latest data)——“Status下面有三个监控项

 

    ICMP loss

    ICMP ping

    ICMP response time

 

 

clip_image003

 

clip_image004

 

关于这些itemkey,可以参考官方文档,下面节选部分内容如下:

 

Defaults, limits and description of values for ICMP check parameters:

 

Parameter

Unit

Description

Fping's flag

Defaults set by

Allowed limits
by Zabbix

fping

Zabbix

min

max

packets

number

number of request packets to a target

-C

 

3

1

10000

interval

milliseconds

time to wait between successive packets

-p

1000

 

20

unlimited

size

bytes

packet size in bytes
56 bytes on x86, 68 bytes on x86_64

-b

56 or 68

 

24

65507

timeout

milliseconds

fping v3.x - timeout to wait after last packet sent, affected by -C flag
fping v4.x - individual timeout for each packet

-t

fping v3.x - 500
fping v4.x - inherited from -p flag, but not more than 2000

 

50

unlimited

 

In addition Zabbix uses fping options -i interval ms (do not mix up with the item parameter interval mentioned in the table above, which corresponds to fping option -p) and -S source IP address (or -I in older fping versions). Those options are auto-detected by running checks with different option combinations. Zabbix tries to detect the minimal value in milliseconds that fping allows to use with -i by trying 3 values: 0, 1 and 10. The value that first succeeds is then used for subsequent ICMP checks. This process is done by each ICMP pinger process individually.

Auto-detected fping options are invalidated every hour and detected again on the next attempt to perform ICMP check. Set DebugLevel>=4 in order to view details of this process in the server or proxy log file.

Warning: fping defaults can differ depending on platform and version - if in doubt, check fping documentation.

Zabbix writes IP addresses to be checked by any of three icmpping* keys to a temporary file, which is then passed to fping. If items have different key parameters, only ones with identical key parameters are written to a single file.

All IP addresses written to the single file will be checked by fping in parallel, so Zabbix icmp pinger process will spend fixed amount of time disregarding the number of IP addresses in the file.

 

 

ICMP loss掉包的案例截图:

clip_image005

 

 

ICMP ping掉包的案例截图

clip_image006

 

ICMP response time 就是时延或者响应时间

image

 

    

 

参考资料:

 

https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/simple_checks#icmp_pings