使用zabbix的ICMP Ping模版实现对客户端网络状态的监控

Zabbix使用外部命令fping处理ICMP ping的请求,fping不包含在zabbix的发行版本中,需要额外去下载安装fping程序,

安装完毕之后需要在zabinx_server.conf中的参数FpingLocation配置fping安装的路径。

由于fping默认是root权限工作,而zabbix-server是zabbix用户运行的,所以需要对fping程序设置setuid权限,

如果在自定义key的时候需要用到netstat命令,也同样要设置setuid,否则不能获取到数据,而在日志中提示权拒绝。


一、登陆Zabbix服务器做以下操作:

1.fping安装

wget http://www.fping.org/dist/fping-3.10.tar.gz

tar zxvf fping-3.10.tar.gz

cd fping-3.10

./configure --prefix=/usr/local/fping/

make && make install


2.修改zabbix_server.conf配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf

把FpingLocation路径修改为刚安装的fping路径。

FpingLocation=/usr/local/fping/sbin/fping


如果不修改zabbix_server.conf配置件需要使用软连接到/usr/local/sbin/fping,zabbix默认fping的路径是/usr/sbin/fping

ln -s /usr/sbin/fping /path/to/non-existant/fping

ln -s /usr/sbin/fping6 /path/to/non-existant/fping6


service zabbix_server restart  #重启服务


3.修改fping权限(如果不设下面权限,zabbix服务端会采集不到数据)

# chown root:zabbix /usr/local/fping/sbin/fping

# chmod 4710 /usr/local/fping/sbin/fping



4.zabbix用户测试fping命令

/usr/local/fping/sbin/fping www.baidu.com

www.baidu.com is alive   # 说明命令返回成功。


二、登陆Zabbix监控网页做以下设置

  1. 打开zabbix-configuration-host-creat host添加需要监控的ip地址,host name添加需要监控的ip地址,如下图所示:

    wKiom1agq6qyBzukAABUlMf9Ol4034.png


2.选择模版template icmp ping

wKioL1agq_jA07LZAAAkpdhDoi0548.png


3.添加Graphs

wKiom1agrEaCoC7JAABEG4G6wtQ004.png


三、出图效果如下

wKiom1agrSHAXdLdAAFrvejMKQ0185.png




四、触发器模版已自带,设置报警方式后就可以接收报警邮件了。

设置报警请参考http://linuxtech.blog.51cto.com/3670088/1706889


END



本文转自 jvrmusic520  51CTO博客,原文链接:http://blog.51cto.com/linuxtech/1737363

<think>嗯,用户遇到了Zabbix中"UnavailablebyICMPping"告警问题,需要帮助解决。这个问题很典型,通常是配置或权限问题导致的。从提供的资料来看,这个问题涉及多个层面:用户引用的资料指出Zabbix使用ICMPping监控时可能出现配置错误[^3],比如忘记在键值后添加主机参数{}。还有些情况下需要修改系统配置[^2],比如添加ping权限或调整防火墙设置。用户作为运维人员,应该对Linux系统有一定了解。用户现在面临的问题已经影响到监控系统的正常运行,情绪可能有些着急,毕竟告警失灵会导致业务风险。用户明确要解决ICMPping不可用问题,核心诉求是让监控恢复正常。具体分析几个关键点:引用[3]特别提到配置时常见的键值缺失问题,需要在键值后添加{}包含主机地址。引用[2]则涉及系统层面的fping权限配置。引用[4]补充了测试方法,用户可以通过fping命令手动测试目标主机的连通性。解决方案需要分步骤处理:首先是Zabbix配置检查,其次是系统权限设置,最后是网络层面验证。考虑到用户可能想快速解决问题,应该优先建议简单有效的检查项,比如先看ping键值是否正确,再查fping权限等。另外注意引用[3]提到的主机配置不需要添加代理接口,这点很重要。有些用户习惯性地给主机添加agent接口,反而会导致ICMP监控失败。安全方面建议提醒用户谨慎修改sudoers文件,避免引发安全问题。最后的问题扩展考虑到了用户可能的后续需求,比如批量执行或API集成等实用功能。</think> 以下是针对Zabbix中“Unavailable by ICMP ping”告警的完整解决方案,结合系统配置与Zabbix设置逐步排查: --- ### **一、检查ICMP监控配置** 1. **正确配置监控项键值** 在模板 `Template Module ICMP Ping` 中修改监控项键值(引用[3]): ```bash icmppingloss[{HOST.HOST}] # 原键值后需添加{ }包含主机地址 icmpping[{HOST.HOST}] icmppingsec[{HOST.HOST}] ``` ✅ **操作路径**:`配置` → `模板` → 选择ICMP Ping模板 → 修改监控项键值 > 若键值未包含 `{HOST.HOST}` 或 `{HOST.CONN}`,会触发 `Ping item must have target or host interface specified` 错误[^3]。 2. **主机接口配置** - 为主机添加 **ICMP接口**(非Agent接口) - IP地址填写目标主机IP > 主机配置中无需关联Agent接口(引用[3])。 --- ### **二、系统环境与权限排查** #### **1. Fping安装与权限** - **安装fping**(Zabbix依赖工具): ```bash yum install fping -y # CentOS apt install fping # Ubuntu ``` - **验证fping权限**: ```bash ls -l /usr/sbin/fping # 确认属组为zabbix fping 114.114.114.114 # 测试是否返回"is alive"[^4] ``` - **修改权限**: ```bash chown root:zabbix /usr/sbin/fping chmod 4710 /usr/sbin/fping # 设置SUID权限 ``` #### **2. Sudoers配置** ```bash echo "zabbix ALL=(root) NOPASSWD: /usr/sbin/fping" >> /etc/sudoers ``` > 避免因权限不足导致fping执行失败(引用[2])。 #### **3. 防火墙与SELinux** ```bash # 开放ICMP协议 firewall-cmd --permanent --add-protocol=icmp --zone=public firewall-cmd --reload # 禁用SELinux或设置宽容模式 setenforce 0 # 临时关闭 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config ``` --- ### **三、Zabbix服务端配置** 1. **修改Server配置文件** 编辑 `/etc/zabbix/zabbix_server.conf`: ```ini FpingLocation=/usr/sbin/fping # 指定fping路径 Timeout=10 # 适当增大超时时间 ``` > 重启服务:`systemctl restart zabbix-server` 2. **测试主机连通性** 在Zabbix前端:`监测` → `最新数据` → 筛选ICMP监控- 成功状态:返回 `0/100%`(丢包率)和响应时间 - 失败状态:检查错误日志 `/var/log/zabbix/zabbix_server.log` --- ### **四、高级排查(持续告警时)** 1. **网络设备限制** - 交换机/路由器可能过滤ICMP请求(需放开ICMP策略) - 目标主机防火墙限制(如Windows防火墙需启用"文件和打印机共享(回显请求)") 2. **替代监控方案** - 启用 `Zabbix agent` 的 `net.tcp.service[icmp]` 监控项(需Agent支持) - 使用第三方工具(如Smokeping)补充监控(引用[1]) --- ### **💡 总结关键步骤** | 步骤 | 操作要点 | |--------------|--------------------------------------------------------------------------| | **键值修正** | 监控项键值末尾必须包含 `[{HOST.HOST}]` | | **fping权限**| 设置SUID权限并添加sudoers免密 | | **防火墙** | 开放ICMP协议,关闭SELinux | | **配置验证** | 通过前端"最新数据"和服务器日志定位失败原因 | > 若目标主机为云服务器,需检查云平台安全组是否允许ICMP流量(如AWS安全组需开放"All ICMP - IPv4")[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值