Linux服务监控自动巡检脚本--推送钉钉告警

1. 编写服务监控自动巡检脚本

root@localhost \~\]# cat /opt/port_monitor_alarm_by_dingding.sh ```bash #!/bin/bash # 定义需要监控服务对应的端口列表 port_list="3308 1242 35690 65500 10410" # 定义接收通知的钉钉机器人的 Webhook URL webhook_url="https://oapi.dingtalk.com/robot/send?access_token=888888888888888888888888888888888888888888888888" #自定义主机名称或IP auto_hostname="8.8.8.8" # 获取本机IP地址输出本机的ip地址 local_ip=$(hostname -I | awk '{print $1}') # 遍历所有端口并检查其连接状态 port_monitor() { for port in $port_list; do # if ! nc -z localhost $port; then if ! netstat -antulp | grep $port;then # 如果发现不正常连接,通过钉钉机器人发送通知消息 curl -H "Content-Type: application/json" \ -d '{ "msgtype": "text", "text": { "content": "【重要告警】服务器【'"$auto_hostname"'】服务监控: Port 【'"$port"'】is not active on '"$local_ip"' at '"$(date +"%Y-%m-%d %H:%M:%S")"'" } }' $webhook_url fi done } port_monitor ``` #### 2. 配置计划任务 \[root@localhost \~\]# cat /etc/crontab ```bash */1 * * * * root /bin/bash /opt/port_monitor_by_dingding.sh >/dev/null 2>&1 ```

相关推荐
vortex5几秒前
从 Scoop 故障看 Windows 与 Linux 软硬链接与权限机制的底层差异
linux·运维·windows
洒家肉山大魔王28 分钟前
Kubernetes中Pod 处于 CrashLoopBackOff 状态(生产环境)
linux·容器·kubernetes·pod·pod循环重启
Unlyrical28 分钟前
为什么moduo库要进行线程检查
linux·服务器·开发语言·c++·unix·muduo
小武~1 小时前
Leetcode 每日一题C 语言版 -- 234 basic calculator
linux·c语言·leetcode
橘颂TA1 小时前
【Linux】System V 通信——共享内存
linux·运维·服务器·c++
天赐学c语言1 小时前
Linux - 网络基础概念
linux·服务器·网络·socket
程序员果子1 小时前
零拷贝:程序性能加速的终极奥秘
linux·运维·nginx·macos·缓存·centos
请叫我7plus2 小时前
用QEMU进行嵌入式Linux开发
linux·驱动开发·嵌入式硬件
檀越剑指大厂2 小时前
【Linux系列】Linux中的复制与迁移
linux·运维·服务器
Keine Zeit2 小时前
虚拟机Linux(Ubuntu)忘记登录密码
linux·运维·ubuntu