轻量级监控平台之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}"'"}'

架构设计@工程设计@服务稳定性之路

posted @ 2019-11-20 16:46  程序男  阅读(292)  评论(1编辑  收藏  举报