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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- AIX 作業系統調優 效能指標祥解AI作業系統指標
- 利用OSW工具監控作業系統效能作業系統
- 【Linux】類Unix 作業系統程式監控控制工具 SupervisorLinux作業系統
- 作業系統與Linux作業系統Linux
- 使用Prometheus監控Linux系統各項指標PrometheusLinux指標
- 天兔(Lepus)監控作業系統(OS)安裝配置作業系統
- LoadRunner監控Unix、Windows方法及常用效能指標Windows指標
- 系統監控&JVM監控指標資料查詢JVM指標
- 實時監控系統,統一監控企業APIAPI
- linux 系統監控工具Linux
- Linux 系統監控指南Linux
- 【系統設計】指標監控和告警系統指標
- PostgreSQL類微博FEED系統-設計與效能指標SQL指標
- CentOS:作業系統級監控及常用計數器解析CentOS作業系統
- linux系統 物理硬碟監控Linux硬碟
- 監控linux系統資源Linux
- Linux系統監控神器--CollectlLinux
- Nrpe 監控Linux系統Linux
- 監控linux系統的shellLinux
- Linux系統監控命令薦Linux
- UNIX作業系統的版本與標準(轉)作業系統
- 工業裝置遠端監控與維護系統
- Linux 常用系統效能監控命令Linux
- nmon 監控AIX,linux系統工具AILinux
- Linux系統監控命令之iotopLinux
- Solaris linux 系統監控指令碼Linux指令碼
- Linux 作業系統Linux作業系統
- Linux作業系統Linux作業系統
- Linux優化之IO子系統監控與調優Linux優化
- 【linux】Linux作業系統Linux作業系統
- 監控linux(unix)效能指標的_cacti_rrdtool展示圖表Linux指標
- Prometheus監控系統入門與部署Prometheus
- Grafana v6.0.0 釋出,系統指標監控與分析平臺Grafana指標
- Linux系統效能監控採集項Linux
- linux常用系統監控工具之vmstatLinux
- SQL Server自動化運維繫列:監控效能指標指令碼SQLServer運維指標指令碼
- Linux作業系統概述Linux作業系統
- CentOS:作業系統級監控及常用計數器解析---除CPU以外CentOS作業系統