zabbix3.2使用fping批量监控ip的连通性
2024-10-13 09:57:18
.在zabbix-agent端安装fping wget http://www.fping.org/dist/fping-3.16.tar.gz tar zxvf fping-3.16.tar.gz cd fping-3.16 ./configure --prefix=/usr/local/fping/ make && make install .编写自动发现脚本 [root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# cat webip_status.sh
#!/bin/bash
# function:monitor tcp connect status from zabbix web_ip_discovery () {
WEB_IP=($(cat /usr/local/zabbix_agents_3.2.0/scripts/webip.txt|grep -v "^#"))
printf '{\n'
printf '\t"data":[\n'
for((i=;i<${#WEB_IP[@]};++i))
{
num=$(echo $((${#WEB_IP[@]}-)))
if [ "$i" != ${num} ];
then
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${WEB_IP[$i]}\"},\n"
else
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${WEB_IP[$num]}\"}]}\n"
fi
}
} web_site_code () {
/usr/local/fping/sbin/fping $|grep -c 'alive'
} case "$1" in
web_ip_discovery)
web_ip_discovery
;;
web_site_code)
web_site_code $
;;
*) echo "Usage:$0 {web_ip_discovery|web_site_code [URL]}"
;;
esac .配置编写
vim /usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/web_ip_discovery.conf UserParameter=web.ip.discovery,/usr/local/zabbix_agents_3.2.0/scripts/webip_status.sh web_ip_discovery
UserParameter=web.ip.code[*],/usr/local/zabbix_agents_3.2.0/scripts/webip_status.sh web_site_code $ [root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# cat webip.txt
1.1.1.1
2.2.2.2 触发器:
web.ip.code {#SITENAME} is not alive # 最近5个取值最大值不为1
{ip_monitor:web.ip.code[{#SITENAME},].max(#)}<> 报错处理:
Received value [/usr/local/fping/sbin/fping: can't create socket (must run as root?) : Permission denied0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal] (这里遇到一个问题,在客户端自测脚本是好的,但是到了服务端怎么样都执行不出来fping,因为fping必须由root执行,如果非root会报错,这是权限问题,chmod u+s /usr/local/fping/sbin/fping 就可以解决这个问题。) [root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# ll /usr/local/fping/sbin/fping
-rwxr-xr-x root root Sep : /usr/local/fping/sbin/fping
[root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# chmod u+s /usr/local/fping/sbin/fping
[root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# ll /usr/local/fping/sbin/fping
-rwsr-xr-x root root Sep : /usr/local/fping/sbin/fping # 触发报警的时候由于只是显示IP,这样不能快速知道是哪台服务器出了问题,所以带上主机名,如下
# 自动发现脚本 [root@eus_dlcbs_web01:/usr/local/zabbix_agents_3.2.0/scripts]# cat webip_status.sh
#!/bin/bash
# function:monitor tcp connect status from zabbix web_ip_discovery () {
WEB_IP=($(cat /usr/local/zabbix_agents_3.2.0/scripts/ips.txt|grep -v "^#"))
printf '{\n'
printf '\t"data":[\n'
for((i=;i<${#WEB_IP[@]};++i))
{
num=$(echo $((${#WEB_IP[@]}-)))
if [ "$i" != ${num} ];
then
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${WEB_IP[$i]}\"},\n"
else
printf "\t\t{ \n"
printf "\t\t\t\"{#SITENAME}\":\"${WEB_IP[$num]}\"}]}\n"
fi
}
} web_site_code () {
ip=`echo $|awk -F ':' '{print $1}'`
#echo $ip
/usr/local/fping/sbin/fping ${ip}|grep -c 'alive'
} case "$1" in
web_ip_discovery)
web_ip_discovery
;;
web_site_code)
web_site_code $
;;
*) echo "Usage:$0 {web_ip_discovery|web_site_code [URL]}"
;;
esac # webip.txt 1.1.1.1:cbs_web01
2.2.2.2:cbs_web02
自动发现配置
最新文章
- C# 对象锁——Monitor
- duilib各种布局的作用,相对布局与绝对布局的的意义与用法
- python day1 变量的命名和赋值
- python实现自动输入命令回车操作
- [Selenium] 根据预期的日期格式,获取昨天的日期
- jQuery进行DOM操作记录
- python模块介绍- multi-mechanize 性能测试工具
- js获取计算的样式(非行间样式)
- jquery 实现滚动条下拉时无限加载的简单实例
- python机器学习实战(二)
- filebeat.yml(中文配置详解)
- 基于 CGLIB 库的动态代理机制
- 解决VisualStudio无法调试的问题
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
- day16作业
- Var与Dynamic的区别
- 2017 清北济南考前刷题Day 4 morning
- Leetcode-Bianry Tree Maximum Path Sum
- JS中的call、apply、bind 用法解疑
- 23.FutureTask基本操作总结
热门文章
- Grunt自动化构建环境搭建
- OracleSql语句学习(四)
- Linux(Ubuntu 16) 下Java开发环境的配置(一)------JDK的配置
- EntityFramework Core笔记:查询数据(3)
- vue中@contextmenu在pc和mac中的区别
- python之常用模块二(hashlib logging configparser)
- 第六十九天 dom与bom
- 数据分析---《Python for Data Analysis》学习笔记【02】
- AttributeError type object &#39;deprecated&#39; has no attribute &#39;ROCKY&#39;
- P1313 计算系数