基于飞书webHook机器人实现shell脚本监听端口并报警

今天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

基于飞书webHook机器人实现shell脚本监听端口并报警_第1张图片

你可能感兴趣的:(运维脚本,服务器监控,linux,服务器,bash,运维)