監控cpu與memory指令碼
#!/bin/bash
#################Begin of input_declare#################
#Get Cpu Value
CPU_get=$(/usr/bin/sar -u 1 1 | awk 'NR==4{print $8}')
cpu_idle=$(echo ${CPU_get})
CpuUsedCal=$(echo "scale=2;100-${cpu_idle}"|bc)
#Get Memory Value
MemTotal_get=$(cat /proc/meminfo | awk 'NR==1{print $2}')
MemFree_get=$(cat /proc/meminfo | awk 'NR==2{print $2}')
Buffers_get=$(cat /proc/meminfo | awk 'NR==3{print $2}')
Cached_get=$(cat /proc/meminfo | awk 'NR==4{print $2}')
MemTotal=$(echo ${MemTotal_get})
MemFree=$(echo ${MemFree_get})
Buffers=$(echo ${Buffers_get})
Cached=$(echo ${Cached_get})
MEM_cal=$(echo "scale=2;100*(${MemTotal}-${MemFree}-${Buffers}-${Cached})/${MemTotal}"|bc)
MemUsedPerc=$(echo ${MEM_cal})
#Set Time Format
v_time=$(date "+%F %T")
v_mon=$(date +%Y%m)
v_del_mon=$(date -d "12 months ago" +%Y%m)
#Set Path
v_cpu_path=/data/log/cpu_used_perc_logs/
v_mem_path=/data/log/mem_used_perc_logs/
#################End of input_declare###################
#################Begin of main#################
if [ -d ${v_cpu_path} ];then
echo "${v_time}" >> ${v_cpu_path}cpu_used_perc${v_mon}.log
echo "${CpuUsedCal}%" >> ${v_cpu_path}cpu_used_perc${v_mon}.log
else
mkdir -p ${v_cpu_path}
fi
if [ -f ${v_cpu_path}cpu_used_perc${v_del_mon}.log ];then
rm -f ${v_cpu_path}cpu_used_perc${v_del_mon}.log
fi
if [ -d ${v_mem_path} ];then
echo "${v_time}" >> ${v_mem_path}mem_used_perc${v_mon}.log
echo "${MemUsedPerc}%" >> ${v_mem_path}mem_used_perc${v_mon}.log
else
mkdir -p ${v_mem_path}
fi
if [ -f ${v_mem_path}mem_used_perc${v_del_mon}.log ];then
rm -f ${v_mem_path}mem_used_perc${v_del_mon}.log
fi
#################end of main###################
#################Begin of input_declare#################
#Get Cpu Value
CPU_get=$(/usr/bin/sar -u 1 1 | awk 'NR==4{print $8}')
cpu_idle=$(echo ${CPU_get})
CpuUsedCal=$(echo "scale=2;100-${cpu_idle}"|bc)
#Get Memory Value
MemTotal_get=$(cat /proc/meminfo | awk 'NR==1{print $2}')
MemFree_get=$(cat /proc/meminfo | awk 'NR==2{print $2}')
Buffers_get=$(cat /proc/meminfo | awk 'NR==3{print $2}')
Cached_get=$(cat /proc/meminfo | awk 'NR==4{print $2}')
MemTotal=$(echo ${MemTotal_get})
MemFree=$(echo ${MemFree_get})
Buffers=$(echo ${Buffers_get})
Cached=$(echo ${Cached_get})
MEM_cal=$(echo "scale=2;100*(${MemTotal}-${MemFree}-${Buffers}-${Cached})/${MemTotal}"|bc)
MemUsedPerc=$(echo ${MEM_cal})
#Set Time Format
v_time=$(date "+%F %T")
v_mon=$(date +%Y%m)
v_del_mon=$(date -d "12 months ago" +%Y%m)
#Set Path
v_cpu_path=/data/log/cpu_used_perc_logs/
v_mem_path=/data/log/mem_used_perc_logs/
#################End of input_declare###################
#################Begin of main#################
if [ -d ${v_cpu_path} ];then
echo "${v_time}" >> ${v_cpu_path}cpu_used_perc${v_mon}.log
echo "${CpuUsedCal}%" >> ${v_cpu_path}cpu_used_perc${v_mon}.log
else
mkdir -p ${v_cpu_path}
fi
if [ -f ${v_cpu_path}cpu_used_perc${v_del_mon}.log ];then
rm -f ${v_cpu_path}cpu_used_perc${v_del_mon}.log
fi
if [ -d ${v_mem_path} ];then
echo "${v_time}" >> ${v_mem_path}mem_used_perc${v_mon}.log
echo "${MemUsedPerc}%" >> ${v_mem_path}mem_used_perc${v_mon}.log
else
mkdir -p ${v_mem_path}
fi
if [ -f ${v_mem_path}mem_used_perc${v_del_mon}.log ];then
rm -f ${v_mem_path}mem_used_perc${v_del_mon}.log
fi
#################end of main###################
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1180479/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【shell】磁碟監控指令碼指令碼
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- 如何用bash shell 指令碼監控 Linux記憶體、磁碟和 CPU?指令碼Linux記憶體
- PostgreSQL之鎖監控指令碼SQL指令碼
- 監控系統告警指令碼集合指令碼
- Shell 系統資訊監控指令碼指令碼
- 記憶體CPU監控記憶體
- 監控磁碟使用率的shell指令碼指令碼
- 網路卡流量監控指令碼,python實現指令碼Python
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- shell指令碼:監控MySQL服務是否正常指令碼MySql
- Shell指令碼監控MySQL主從狀態指令碼MySql
- golang pprof監控系列(2) —— memory,block,mutex 使用GolangBloCMutex
- shell指令碼監控啟動停止weblogic服務指令碼Web
- 關於前端指令碼異常監控的思考前端指令碼
- win10 cpu溫度監控怎麼用_如何使用win10 cpu溫度監控Win10
- 在 Linux 上用 Bash 指令碼監控 messages 日誌Linux指令碼
- 使用Shell指令碼程式監控網站URL是否正常指令碼網站
- 寫了個監控 ElasticSearch 程式異常的指令碼!Elasticsearch指令碼
- golang pprof 監控系列(3) —— memory,block,mutex 統計原理GolangBloCMutex
- 透過shell指令碼監控日誌切換頻率指令碼
- 基於Ping和Telnet/NC的監控指令碼案例分析指令碼
- zabbix-mongodb監控指令碼(高效能、低佔用)MongoDB指令碼
- 監控Ubuntu Linux中的CPU/GPU 溫度UbuntuLinuxGPU
- Linux 中CPU 和 GPU 的行為監控LinuxGPU
- 在 Linux 上監控 CPU 和 GPU 溫度LinuxGPU
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- 利用 Shell 指令碼來監控 Linux 系統的記憶體指令碼Linux記憶體
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- sqlserver監控指令碼_發現某個等待就發出郵件SQLServer指令碼
- 用 Bash 指令碼監控 Linux 上的記憶體使用情況指令碼Linux記憶體
- zabbix修改LINUX的CPU負載監控問題Linux負載
- 監控java程式啟動時的CPU使用情況Java
- Linux下針對伺服器網路卡流量和磁碟的監控指令碼Linux伺服器指令碼
- 用 Linux Shell 指令碼來監控磁碟使用情況併傳送郵件Linux指令碼
- java 7中新增的CPU和負載的監控Java負載
- Istio全景監控與拓撲
- Linux程式管理與效能監控Linux