1. 程式人生 > >《Linux服務器的監控》

《Linux服務器的監控》

shell監控 相關 ive 運營 發郵件 ifstat mst 運維 arch

本文地址:http://www.cnblogs.com/aiweixiao/p/7131532.html

原文地址(公眾號):http://t.cn/RKwmqUs

技術分享

點擊關註 微信公眾號

1. 監控概要

Linux服務器要保證高可用性,就要對其進行有效的監控,實時了解到服務器的運行狀況,各項性能指標是否正常,以防患以未然,進行運維日誌的記錄,圖形化的監控,出現問題的消息報警機制,都是保證Linux服務器能正常對外提供服務的先決條件。

2. 監控的內容

監控,是預防的其中的一項重要工作。這裏先說說我需要監控的內容。系統負載、cpu使用率、內存占用、磁盤空間、網絡流量、端口、進程、apache或tomcat的連接數、mysql的運行狀態這些都是需要監控的東西。要了解服務器每時每刻的整體運行狀態,單靠幾個Linux自帶的性能監測命令是很難實現的。所以,利用shell腳本和開源監控工具進行服務器監控成為兩個主要的選擇。

3.監控的方法

首先是要明白Linux服務器監控的一些常見命令,以及這些命令編寫的監控腳本,最後,一些成熟的開源監控工具也是必要的。

3.1 常見監控命令


1) 【iostat】:iostat命令用來顯示存儲子系統的詳細信息,通常用它來監控磁盤 I/O 的情況。

2)【meminfo 和 free】: cat /proc/meminfo free

3)【mpstat】:實時系統監控工具,多CPUs系統裏,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息

4)【netstat】:顯示了大量跟網絡相關的信息

5)【nmon】:開源工具,用以監控 Linux 系統的性能,下載及安裝

6)【pmap】:pmap 命令用來報告每個進程占用內存的詳細情況,可用來看是否有進程超支了,該命令需要進程 id 作為參數。

7)【ps pstree】:ps 告訴你每個進程占用的內存和 CPU 處理時間,而 pstree以樹形結構顯示進程之間的依賴關系,包括子進程信息

8)【sar】:sar 可用來顯示 CPU 使用率、內存頁數據、網絡 I/O 和傳輸統計、進程創建活動和磁盤設備的活動詳情。

9)【strace】:診斷進程工具,如 strace ls ,但是被診斷進程會變慢

10)【tcpdump】網絡監控工具,用來做基本的協議分析,看看那些進程在使用網絡以及如何使用網絡。

11)【uptime】:該命令告訴你這臺服務器從開機啟動到現在已經運行了多長時間了

12)【 vmstat 】來監控虛擬內存

13)【Wireshark】:是一個網絡協議檢測程序,讓您經由程序抓取運行的網站的相關資訊

14)【dstat】 多類型資源統計工具:該命令整合了vmstat,iostat和ifstat三種命令

15)【htop】: 更加友好的top,兩者區別見:“關於htop和top的比較”

16)【ss】: 用來記錄套接字統計信息,它可以顯示類似netstat一樣的信息,同時也能顯示更多TCP和狀態信息

17)【lsof】 : 列表顯示打開的文件

18)【iftop】是另一個基於網絡信息的類似top的程序。它能夠顯示當前時刻按照帶寬使用量或者上傳或者下載量排序的網絡連接狀況

3.2 shell監控腳本


這裏提供 四個腳本(performance.sh 性能監控,process.sh 進程監控,network.sh 流量監控,tongji.sh流量分析統計),並使用crontab定時執行腳本進行監控數據的記錄,形成每天的監控日誌放在如下相應的文件夾,並且超過自己設定的告警值後發郵件通知,那些有免費短信通知功能的郵箱如騰訊企業郵箱,163郵箱可以嘗試一下,收到郵件告警後很快就能收到短信了,很方便。

3.2.1 性能監控腳本 performance.sh

代碼GitHub地址:http://t.cn/Ro0H1EV

代碼截圖如下,有四個

技術分享
性能監控腳本01-監控cpu負載 技術分享
性能監控腳本02-監控cpu使用率 技術分享
性能監控腳本03-監控交換分區 技術分享
性能監控腳本04-監控磁盤空間

3.2.2 進程監控腳本 process.sh

代碼GitHub地址:http://t.cn/Ro0R9pG

代碼截圖如下

技術分享
進程監控腳本process.sh

3.2.3 流量監控腳本 network.sh

代碼GitHub地址:

代碼截圖如下:

技術分享
流量監控腳本 network.sh

3.2.4 流量分析統計腳本 tongji.sh

代碼GitHub地址:http://dwz.cn/6b8y48

代碼截圖如下:

技術分享
流量分析統計腳本 tongji.sh

3.3 監控工具


3.3.1) Cacti+Nagios

【Cacti】:Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。

【Nagios】: Nagios是一個監視系統運行狀態和網絡信息的監視系統。能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等

3.3.2)Zabbix

【Zabbix】: Zabbix除了能監視各種網絡參數,保證服務器系統的安全運營之外,還能提供如短信、郵件、jabber等通知機制以讓系統管理員快速定位/解決存在的各種問題。基本上能實現cacti+nagios的功能

技術分享
關註微信公眾號

《Linux服務器的監控》