为了监控 CPU、内存和硬盘的使用情况,并在使用率超过特定值并且持续一段时间后使用Curl发送JSON信息,可以使用以下shell脚本:
``` #!/bin/bash
Shell变量配置
cpu_threshold=80 # CPU使用率阈值 cpu_duration=60 # CPU使用率持续时间 mem_threshold=70 # 内存使用率阈值 mem_duration=70 # 内存使用率持续时间 disk_threshold=90 # 硬盘使用率阈值 disk_duration=90 # 硬盘使用率持续时间 interval=30 # 监控间隔时间 server_ip=$(curl ifconfig.co) # 服务器ip
循环执行监控
while true do # CPU监控 cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}') if [ $(echo "$cpu_usage > $cpu_threshold" | bc) -eq 1 ]; then echo "CPU使用率超过阈值" top_cpu_processes=$(ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 4) json_data="{"server_ip":"$server_ip","cpu_usage":"$cpu_usage","duration":"$cpu_