轻量级监控平台之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}"\'"}\'
架构设计@工程设计@服务稳定性之路