作者:天夭夭
链接:https://www.jianshu.com/p/c20320ff3764
來源:简书
使用前提:
注册一个企业微信号。原因是目前只有企业微信支持将消息发送到个人的消息栏中。
注册地址:https://work.weixin.qq.com/
使用方法:
1、注册好企业微信号后,登录后台在“企业应用”中创建一个应用。
安装jq
apt-get install jq
然后把这个send_message.sh脚本上传到linux空间
我已上传到此网盘
配置好send_message.sh中的user、corpid、corpsecret、agentld变量为你的企业号。备注:corpid在“我的企业”界面中获取
3、ssh输入 sh ./send_message.sh "发送内容"
即可将消息内容发送至微信中
-----------------------------------------------
成功案例2:
#!/bin/bash
# blog:http://lizhenliang.blog.51cto.com
IP_LIST="3322.f3322.net"
for IP in $IP_LIST; do
NUM=1
while [ $NUM -le 10 ]; do
if ping -c 1 $IP > /dev/null; then
echo "$IP Ping is successful."
break
else
# echo "$IP Ping is failure $NUM"
FAIL_COUNT[$NUM]=$IP
let NUM++
fi
done
if [ ${#FAIL_COUNT[*]} -eq 10 ];then
sh ./send_message.sh "3322 Ping is failure"
w3m -no-cookie -dump "https://sc.ftqq.com/SCU5214T2a9c0a方糖cf8a8a3587b2358cf6f1.send?text=3322warning"
unset FAIL_COUNT[*]
fi
done
---------------------------------------------------
成功案例2:
#!/bin/bash
# blog:http://lizhenliang.blog.51cto.com
IP_LIST="3322.f3322.net"
for IP in $IP_LIST; do
NUM=1
while [ $NUM -le 10 ]; do
if ping -c 1 $IP > /dev/null; then
echo "$IP Ping is successful."
break
else
# echo "$IP Ping is failure $NUM"
FAIL_COUNT[$NUM]=$IP
let NUM++
fi
done
if [ ${#FAIL_COUNT[*]} -eq 10 ];then
sh ./send_message.sh "3322 Ping is failure"
w3m -no-cookie -dump "https://sc.ftqq.com/SCU5214T2a9c0a方糖cf8a8a3587b2358cf6f1.send?text=3322warning"
unset FAIL_COUNT[*]
fi
done
---------------------------------------------------
生产环境Shell脚本Ping监控主机是否存活(多种方法)
在网上针对shell脚本ping监控主机是否存活的文档很多,但大多都是ping一次就决定了状态,误报率会很高,为了精确判断,ping三次不通再发告警,只要一次ping通则正常。于是,今天中午抽出点时间总结了下面脚本。
脚本功能:通过Ping命令监控主机是否存活,如果ping失败则继续ping,三次不通就认为主机宕机或网络有问题,这时就可以发送邮件告警了。
方法1:
说明:将错误IP放到数组里面判断是否ping失败三次
方法2:
说明:将错误次数放到FAIL_COUNT变量里面判断是否ping失败三次
方法3:
说明:这个个人觉得比较巧妙,利用for循环将ping通就跳出循环继续,如果不跳出就会走到打印ping失败
没有评论:
发表评论