写一个小的监控脚本,进行宕机推送
脚本基础内容
脚本是基于IP+端口的监测,TCP协议的。配置参数如下:
#!/bin/b#!/bin/bash
servers=(
"223.5.5.5 80 这里是备注"
"114.114.114.114 53 DNS对照组"
)
timeout=3
check_server() {
server=($1)
host=${server[0]}
port=${server[1]}
note=${server[2]}
if ! timeout 5 bash -c "echo >/dev/tcp/$host/$port"; then
current_time=$(date '+%Y-%m-%d %H:%M:%S')
log="$current_time - $host $port $note 连接失败"
message="监控点:[四川成都] $host:$port $note 无法访问 ${current_time}"
curl -G "https://api2.pushdeer.com/message/push" --data-urlencode "pushkey=******************" --data-urlencode "text=${message}" --data-urlencode "desp="
curl -G "https://api2.pushdeer.com/message/push" --data-urlencode "pushkey=******************" --data-urlencode "text=${message}" --data-urlencode "desp="
curl -X "POST" "https://sctapi.ftqq.com/******" -d "title=${message}"
echo "$log" >> tcp.log
fi
}
while true; do
for server in "${servers[@]}"; do
check_server "$server" &
done
wait
sleep 5
done
相关使用方法
1、运行脚本
nohup sh tcp_monitor.sh &
2、查看脚本运行情况
ps -aux|grep tcp_monitor.sh
版权声明:
作者:三炮不吃鱼
链接:https://www.keke.moe/archives/2106.html
文章版权归作者所有,未经允许请勿转载。
THE END