欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

轻量级监控平台之cpu监控

程序员文章站 2022-11-06 23:41:49
轻量级监控平台之cpu监控脚本 !/bin/bash 进程监控脚本 功能需求: 上报机器的硬件层面 cpu负载数据 . /etc/profile . ~/.bash_profile pushurl="https://lightmonitorapi.test.cn/push/cpuload" 抓取cp ......

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

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