Linux作業系統效能指標監控與通知
最近整了一臺伺服器,搭建了 web 網站,整了一下監控系統,這樣也方便,我用的是 3A 的伺服器,服務挺不錯的
系統的效能指標監控是比較常見的針對系統的管理場景,比如系統有挖礦程式,或者系統本身存在高CPU 程式 ( 正常應用 ) ,除了 CPU 之外,也可以監控記憶體,硬碟,網路流星等使用情況。透過監控和傳送通知,可以及時對系統的執行情況進行把控進而實現正確的處置。如果發現某些異常 CPU 消耗,甚至可以直接結束掉程式。
(1) 透過相應的命令能夠輸出需要的指標。
(2) 透過 awk 對輸出結果進行過濾,找到對應的值。
(3) 根據對應的值進行判斷,進而決定後續處理方式。
一、使用yes 程式監控 CPU
#獲取總的CPu使用率並轉化為整數用於後續判斷 cpu=$(top -n 1 | grep ^%Cpu | awk '{print int($8)}') 或 cpu=$(top -n 1 | grep ^%Cpu | awk '{print $8}' | awk -F . '{print $1} ') #獲取是消耗CPU的程式資訊 pcpu=`ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk '{print $3}'` echo $pcpu / 4 | bc #計算單核CPU的使用率,與總CPU使用率才有可比性 #如何蒐集記憶體使用資訊 top -n 1 | grep "^KiB Mem" | awk '{print $6}' 或者使用free 也可以採集記憶體使用情況 #如何蒐集硬碟使用資訊 df -h | grep ^/dev/mapper #網路流量 ip -s link
二、傳送郵件通知
1 、安裝 mailx 郵件客戶端
yum install mailx -y
早期的郵件客戶端通常使用sendmail
來傳送郵件,而新版本上使用的是
postfix
進行郵件的傳送和接收。在
Linux
中,只要配置好郵件客戶端及
SMTP
賬號後,不僅可以向當前系統的任意賬號傳送內部郵件,即我們看到的
/var/spool/mail/user
的文字型郵件,也可以向外網正常的郵箱地址傳送郵件,如向
12345678@qq.com
傳送郵件。
2 、向本地系統使用者發郵件
systemctl start postfix #先確保postfix郵件傳送服務啟動 echo "This is email body" | mail -s "test email" root #直接使用管道傳送簡單郵件正文# mail -s "test email" root < /etc/passwd #直接使用輸入重定向的方式讀取一個檔案內容作為正文 cp /dev/nu1l /var/spool/mai1/root #先清空郵件
使用mail 命令可以直接檢視郵件,輸入序號檢視郵件正文,輸入 q 退出,輸入 h 回到郵件列表
�3 、向外部郵箱地址發郵件
(1 )確定郵件賬號的 SMTP 資訊,可以使用蝸牛學院的測試郵箱賬號 , 或使用 QQ 郵箱賬號。
(2 )編輯 /etc/mail.rc ,將上述 SMTP 資訊輸入
set from=student@woniuxy.com set smtp=smtp.woniuxy.com set smtp-auth-user=student@woniuxy.com set smtp-auth-password=Student123 set smtp-auth=login
(3) 使用以下命令傳送郵件
mail -s "test email" 15903523@qq.com < /etc/passwd mail -s "test.email" -a /opt/picture.png 15903523@qq.com < /etc/passwd #帶附件
1 、 top -n 1 檢視程式資訊
在vm ware 中開啟 yes 程式, [root@numberone ~]# yes ,之後在xshell 中再次 top -n 1 檢視程式資訊
2 、
[root@numberone ~]# cpu=$(top -n 1 | grep ^%Cpu | awk '{print int($8)}') [root@numberone ~]# echo $cpu
3 、
[root@numberone ~]# [ $cpu -lt 75 ] [root@numberone ~]# echo $?
0
為0
,說明小於
75
[root@numberone ~]# [ $cpu -lt 70 ] [root@numberone ~]# echo $?
為1
說明不小於
70
,即大於
70
4 、
[root@numberone ~]# pcpu= `ps aux | sort -k 3 -r | head -n 2 | tail -n 1 |awk ‘{print $3}’[root@numberone ~]# echo $pcpu`99.7[root@numberone ~]# echo $pcpu / 4 | bc24[root@numberone ~]# top -n 1 |grep “^KiB Mem” | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 6}̲'` `3113076` `[…(top -n 1 | grep ^%Cpu | awk ‘{print int ($8)}’) if [ c p u − l t 75 ] ; t h e n p c p u = cpu -lt 75 ]; then pcpu=cpu−lt75];thenpcpu=(ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 3}̲') ppcp…(echo p c p u / 4 ∣ b c ) p i d = pcpu / 4 | bc) pid=pcpu/4∣bc)pid=(ps aux | sort -k 3 -r | head -n 2 | tail -n 1 | awk ‘{print $2}’) echo “CPU is lower, $pid consume $ppcpu%” else echo “CPU is OK” fi
6、[root@numberone ~]# yum install mailx -y
[root@numberone ~]# systemctl start postfix
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70022313/viewspace-2916929/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 作業系統與Linux作業系統Linux
- 使用Prometheus監控Linux系統各項指標PrometheusLinux指標
- Linux 系統監控指南Linux
- LoadRunner監控Unix、Windows方法及常用效能指標Windows指標
- linux系統 物理硬碟監控Linux硬碟
- 天兔(Lepus)監控作業系統(OS)安裝配置作業系統
- 系統監控&JVM監控指標資料查詢JVM指標
- 實時監控系統,統一監控企業APIAPI
- 【linux】Linux作業系統Linux作業系統
- 【系統設計】指標監控和告警系統指標
- Linux 作業系統Linux作業系統
- Linux作業系統Linux作業系統
- CentOS:作業系統級監控及常用計數器解析CentOS作業系統
- Linux系統效能監控採集項Linux
- PostgreSQL類微博FEED系統-設計與效能指標SQL指標
- Linux 網路效能指標Linux指標
- Linux作業系統概述Linux作業系統
- 工業裝置遠端監控與維護系統
- 在Linux中,如何監控系統的效能?Linux
- 基於 Zabbix 系統監控 Windows、Linux、VMwareWindowsLinux
- Linux中監控系統效能常用的命令!Linux
- Prometheus監控系統入門與部署Prometheus
- Go之獲取系統效能指標 - goPsutilGo指標
- Grafana v6.0.0 釋出,系統指標監控與分析平臺Grafana指標
- 監控報警系統的指標、規則與執行閉環指標
- 作業系統是什麼?Linux是什麼作業系統?作業系統Linux
- linux作業系統介紹Linux作業系統
- 科普帖:Linux作業系統Linux作業系統
- Linux 作業系統!開篇!!!Linux作業系統
- Linux作業系統基礎Linux作業系統
- Linux作業系統 paste命令Linux作業系統AST
- shell實戰之Linux主機系統監控Linux
- 在Linux中,如何進行系統效能監控?Linux
- Linux系統安裝zabbix 4.4監控軟體Linux
- 說一說影片監控領域常見的一些效能指標指標
- 伺服器監控系統部署與配置伺服器
- Linux程式管理與效能監控Linux
- CentOS:作業系統級監控及常用計數器解析---除CPU以外CentOS作業系統