轻量级监控平台之cpu监控
轻量级监控平台之cpu监控脚本
#!/bin/bash
#进程监控脚本
#功能需求: 上报机器的硬件层面-cpu负载数据
. /etc/profile
. ~/.bash_profile
pushurl="https://lightmonitorapi.test.cn/push/cpuload"
#抓取cpu的总核数
cpu_num=`grep -c 'model name' /proc/cpuinfo`
#抓取当前系统15分钟的平均负载值
load_15=`uptime | awk '{print $NF}'`
#计算当前系统单个核心15分钟的平均负载值,结果小于1.0时前面个位数补0。
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
cpuload=$( uptime | awk '{print $10 $11 $NF}')
msg=$cpuload","$average_load
ip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d '/')
ticket=$(cat /opt/shell/ticket.txt)
curl $pushurl \
-H "Accept: application/json" \
-H 'Content-Type: application/json' \
-d \ '{"ip": "'"${ip}"'", "ticket": "'"${ticket}"'", "data": "'"${msg}"'"}'
架构设计@工程设计@服务稳定性之路