日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 系统监控脚本

發(fā)布時(shí)間:2023/12/19 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 系统监控脚本 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linux下性能預(yù)警及應(yīng)急處理
自己編寫一個(gè)腳本程序,該程序在工作時(shí)段(8:00-22:00),每隔一個(gè)小時(shí)執(zhí)行一次;在其他時(shí)段每隔兩小時(shí)執(zhí)行一次。
每次執(zhí)行都要完成如下任務(wù):
1、檢測(cè)進(jìn)程CPU占用率,如果超出30%開始預(yù)警,超出80%就把該進(jìn)程取消;
2、檢測(cè)進(jìn)程內(nèi)存占用率,如果超出30%開始預(yù)警,超出70%就把該進(jìn)程取消;
3、檢測(cè)所有磁盤分區(qū)使用情況,如果超出90%就開始預(yù)警;
4、檢測(cè)所有進(jìn)程,如果發(fā)現(xiàn)僵尸進(jìn)程,就人為取消該進(jìn)程;
說明:所謂的預(yù)警就是把事件的性質(zhì)、發(fā)生時(shí)間以及被處理掉的進(jìn)程等重要信息統(tǒng)一輸出到某個(gè)日志文件中。

一、[root@Shawn-T2 ~]# crontab -e
??? 加入以下命令:? *? 8-22/1,22-7/2? *? *? *? sh? /monitor.sh
二、[root@Shawn-T2 ~]# vim monitor.sh
??? 添加以下內(nèi)容:
#!/bin/bash
#This script is used for monitoring system load.
? time=`date +"%Y-%m-%d %H:%M:%S"`
? ps aux |? grep -v 'USER' >> /tmp/temp.txt
? while read -r line
? do
???? declare -i CPUUsage=`echo $line | awk '{print $3}' | awk -F. ' {print $1}'`
???? MEMUsage=`echo $line | awk '{print $4}' | awk -F. '{print $1}'`
???? ProcessNum=`echo $line | awk '{print $2}'`
???? STAT=`echo $line | awk '{print $8}'`
???? Command=`echo $line | awk ' {print $11}'`
# Monitor CPU load.
???? if [ $CPUUsage -ge 80 ];then
??????? kill -9 $ProcessNum
??????? echo "$time? Process $Command occupies too large CPU space and was killed!" >>? /var/log/monitor.log
???? elif [ $CPUUsage -ge 30 ]; then
??????? echo "$time? Process $Command occupies too large ,please check it!" >>? /var/log/monitor.log
???? fi
# Monitor Memory load.
???? if [ $MEMUsage -ge 70 ];then
??????? kill -9 $ProcessNum
??????? echo "$time? Memory $Command occupies too large memory space and was killed!" >>? /var/log/monitor.log
???? elif [ $CPUUsage -ge 30 ]; then
??????? echo "$time? Memory $Command occupies too large ,please check it!" >>? /var/log/monitor.log
???? fi
# Monitor the zombie process.
???? if [ "$STAT" == "Z" ]; then
???? kill -9 $ProcessNum
???? echo "$time Process $Command is zombie process and was killed." >>? /var/log/monotor.log
???? fi
? done < /tmp/temp.txt
? rm -f /tmp/temp.txt

#Momitor the disk partition used space.
? df | grep -v Filesystem > /tmp/temp.txt
??? while read -r line
??? do
?????? declare -i DiskUsage=`echo $line | awk '{ if(NF==6){ print $5 }? else if(NF==5) { print $4 } }'| awk -F% '{print $1}'`
?????? DirName=`echo $line | awk '{ if(NF==6){ print $6 }? else if(NF==5) { print $5 } }'| awk -F% '{print $1}'`
?????? if [ $DiskUsage -ge 90 ];then
????????? echo "$time The partitipn which the directory $DirName mounted on occupies too large space ,please check it." >> /var/log/monitor.log
?????? fi
??? done < /tmp/temp.txt
? rm -f /tmp/temp.txt

轉(zhuǎn)載于:https://blog.51cto.com/jallen/448337

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的linux 系统监控脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。