一、创建钉钉机器人
1、进入钉钉设置界面找到“通用->机器人管理”
2、“前往设置”选择添加“自定义”机器人
3、机器人命名并添加到1个群聊中【后续机器人的消息会自动发送到此群中】
4、复制保存创建机器人后的 Webhook 网址,此地址用于接收推送的消息
二、定时任务监控脚本
网址为钉钉机器人的Webhook
https://oapi.dingtalk.com/robot/send?access_token=******
1、监控CPU是否过载
#!/bin/bash #监控CPU是否过载 # 设置阈值,当使用率超过该阈值时发送警报 threshold=80 # 使用top命令获取CPU占用信息,并使用grep和awk筛选和解析输出结果 usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}') # 获取CPU使用率 echo "当前CPU使用率为:$usage% 未过载" # 检查CPU占用是否超过阈值 # 将浮点数转换为整数,以便进行比较 usage=${usage%.*} if [ $usage -lt $threshold ] then echo "CPU 已过载" # 在此处添加其他操作或通知机制 host_name=$(hostname) # 获取主机名 设置主机名 hostnamectl set-hostname push.txhlwxx.com echo "主机名称为: $host_name" curl 'https://oapi.dingtalk.com/robot/send?access_token=******' -H 'Content-Type: application/json' -d "{'msgtype': 'text','text': {'content':'监控面板,${host_name}服务器CPU(${usage}%)过载预警通知'}}" fi
2、监控磁盘是否过载
#!/bin/bash #监控磁盘是否过载 # 设置阈值,当使用率超过该阈值时发送警报 THRESHOLD=80 # 获取使用率,并提取百分比部分 usage_system=$(df -h | awk '$NF=="/"{printf "%s\n", $5}' | cut -d'%' -f1) usage_data=$(df -h | awk '$NF=="/www"{printf "%s\n", $5}' | cut -d'%' -f1) # 检查磁盘使用率是否超过阈值 # 将浮点数转换为整数,以便进行比较 usage_system=${usage_system%.*} usage_data=${usage_data%.*} if [ $usage_system -lt $THRESHOLD -o $usage_data -lt $THRESHOLD ]; then echo "磁盘使用率超过阈值,请及时清理!" # 在此处添加其他操作或通知机制 # 获取主机名;设置主机名 hostnamectl set-hostname push.txhlwxx.com host_name=$(hostname) echo "主机名称为: $host_name" curl 'https://oapi.dingtalk.com/robot/send?access_token=******' -H 'Content-Type: application/json' -d "{'msgtype': 'text','text': {'content':'监控面板,${host_name}服务器系统磁盘(${usage_system}%),数据磁盘(${usage_data}%)过载预警通知'}}" fi
3、监控内存是否过载
#!/bin/bash #监控内存是否过载 # 设置阈值,当使用率超过该阈值时发送警报 THRESHOLD=80 # 获取使用率,并提取百分比部分 # 获取总内存大小 total=$(free -m | awk 'NR==2{print $2}') # 获取已使用的内存 used=$(free -m | awk 'NR==2{print $3}') # 计算使用率 usage=$(echo $used/$total*100 | bc -l) # 输出结果 echo "内存使用率为: $usage%" # 检查使用率是否超过阈值 # 将浮点数转换为整数,以便进行比较 usage=${usage%.*} if [ $usage -lt $THRESHOLD ]; then echo "内存使用率超过阈值,请及时释放内存!" # 在此处添加其他操作或通知机制 host_name=$(hostname) # 获取主机名 设置主机名 hostnamectl set-hostname push.txhlwxx.com echo "主机名称为: $host_name" curl 'https://oapi.dingtalk.com/robot/send?access_token=******' -H 'Content-Type: application/json' -d "{'msgtype': 'text','text': {'content':'监控面板,${host_name}服务器内存(${usage}%)过载预警通知'}}" fi
三、常见问题
1、启动进程后无法杀进程
可能原因是存在父进程,需要先先杀父进程 然后再杀子进程
先查询父进程命令
ps -o ppid= -p 39080
微信扫码添加微信好友