今天zabbix报警不知道什么原因端口挂了3个却没报警,经过我的决定准备对端口这种重要性监控增加报警手段。
以下脚本内容可实现端口报警,配合计划任务crontab -e 来制定自己监听的频率我的是每分钟都执行一次
#!/bin/bash
#端口预警脚本
date=$(date "+%Y-%m-%d %H:%M:%S")
#根据实际情况修改webhook飞书地址
webhook="https://open.feishu.cn/open-apis/bot/v2/hook/02d05f31-c27f-40a2"
send_message() {
local message="$1"
curl -s "$webhook" \
-H "Content-Type: application/json" \
-d '{
"msg_type": "text",
"content": {
"text": "'"$message"'"
}
}'
}
#需要监听的端口
ports=(80 81 82 83)
for port in "${ports[@]}"
do
nc -zv localhost "$port" >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "端口 $port 是存活的$date" >/dev/null 2>&1
else
message="告警端口: $port\n告警IP:192.168.1.5\n告警时间: $date\n请及时处理告警信息!!!!!"
send_message "$message"
fi
done