# 编辑 Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
# 确保以下配置存在
StartPingers=5 # ICMP pinger 进程数(建议为被监控主机数的1/10)
Template Module ICMP Ping
点击 添加 → 更新
名称:ICMP Ping
类型:简单检查
键值:icmpping
主机接口:填写目标IP或DNS
更新时间:30s
创建触发器
配置 → 主机 → 选择主机 → 触发器 → 创建触发器
示例配置:名称:主机不可达
表达式:{host:icmpping.max(#3)}=0
严重性:灾难
(连续3次检测失败触发)
# 在被监控主机安装 fping
# Ubuntu/Debian
sudo apt-get install fping
# CentOS/RHEL
sudo yum install fping
# 编辑 Zabbix Agent 配置文件
vim /etc/zabbix/zabbix_agentd.conf
# 添加自定义参数
UserParameter=ping.to.target[*],fping -c 3 -q $1 2>&1 | awk -F'/' 'NR==1{print $8}'
名称:Ping to Google
类型:Zabbix客户端
键值:ping.to.target[8.8.8.8]
信息类型:浮点数
单位:ms
# 创建监控项
名称:Ping via TCP Port
类型:Zabbix客户端
键值:net.tcp.service[tcp,,80]
# 返回1表示可达,0表示不可达
名称:Network Discovery
类型:ICMP ping
IP范围:192.168.1.1-254
延迟:1h
icmpping - 是否可达(1/0)icmppingloss - 丢包率(%)icmppingsec - 响应时间(秒)icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
# 示例:
icmpping[192.168.1.1,5,1000,64,3000]
权限问题:
# 设置 fping 权限
chmod 4710 /usr/bin/fping
chown root:zabbix /usr/bin/fping
SELinux 问题(CentOS/RHEL):
setsebool -P zabbix_can_network=1
测试 ICMP 功能:
sudo -u zabbix fping 8.8.8.8
# 查看 Zabbix Server 日志
tail -f /var/log/zabbix/zabbix_server.log
# 测试监控项
zabbix_get -s 127.0.0.1 -k icmpping[8.8.8.8]
监控频率:
阈值设置:
依赖关系:
分布式监控:
这样配置后,Zabbix 就可以有效监控主机的网络连通性了。