4個好用的Linux監控工具

身爲一個運維開發人員,如果你不知道眼下當前服務器底層操作系統中正在發生什麼,那就有點合眼摸象了。其實,你可以根據相應數據做出一定的推測,但是要做到這一點,就需要原始數據,並且數據要有一定的實時性。

你需要能夠根據操作系統當前的運行狀態,結合監控數據來做出合理判斷,採取相應措施。

你是否曾經遇到過一臺服務器運行緩慢,但是CPU使用率看起來不是很高的情況?你是否遇到過服務器的網絡利用率很高,但是定位不到導致高網絡利用率的進程情況?

下面介紹的這些工具可以給你提供幫助。最重要的是,它們中的大多數都可以在沒有GUI的情況下使用,並且能輕鬆安裝在大多數服務器上。 以下就是我每天用到的一些不錯的Linux監控工具,它們可以幫助我快速準確地診斷和定位問題。

1. iotop

如果你想知道到底哪些進程消耗了服務器寶貴的I/O資源,那麼請使用iotop!我無數次地使用它通過IOPS參數來定位那些瘋狂佔用磁盤IO的耗時進程。

你只是無法從傳統工具(如top)中獲取原始數據。當使用iotop時,你會發現正如工具的名字所描述的一樣,它會展示進程和系統的I/O資源使用情況。

你可以將其用於多種目的,但最關鍵的是查看磁盤使用情況並標記潛在的性能瓶頸。將此工具與top或htop等其他工具結合使用,能幫你更全面地瞭解服務器當前負載情況。

我不建議將iotop用於基準測試。儘管你能清楚地瞭解每個進程佔用多少I/O資源,但它更適合實時監控而不是重複的性能測試。如果你對I/O基準測試感興趣,我推薦一個名爲fio的工具。

2. htop

這是我本人的最愛的監控工具之一。該工具比top工具更具視覺吸引力,並且擁有出色的默認配色方案。使用它,你就可以馬上對系統當前運行情況有一個清晰瞭解。

你能清晰地在水平條形圖中查看計算機內核數目以及它們的利用率。同樣的,你還可以獲得內存使用情況的簡單統計信息,並且在底部也有經典的top進程列表。

我熱衷於htop的主要原因是它能快速地提供我所關注的信息。我就是想看看服務器每核CPU使用率和內存使用率在圖形上是怎樣的-而不是一個無聊的百分比。

如果你肯定某個進程正在耗盡系統上的所有核心從而打開htop進行查看,那麼就會發現大片紅色,整個過程快速而簡單。

3. IPTraf

這是一個診斷網絡問題非常有用的工具。使用此工具,你可以監控正在網絡傳輸的網絡流量。也能以特定的接口或流量類型(例如特定的TCP端口)進行過濾。它與Wireshark功能非常相似,不同之處在於它更輕巧,並且也可以在沒有GUI的情況下運行。

另外,該監控工具還有一些非常棒的功能,比如按數據包大小對流量進行統計細分:

您可以使用tcpdumptshark之類的命令行工具執行類似的操作,但是此工具是菜單驅動的,更易於瀏覽。如果你更傾向於交互式地過濾和查看網絡流量情況,那麼IPTraf這款工具會如你所願。

4. Monit

這是你可以在Linux上使用的最靈活、功能最強大的監視工具之一。Monit出現了很多年,它能通過多種方式進行配置以支持不同類型的閾值監控和性能告警。

Monit允許你指定要在Linux操作系統上監視的進程、端口、文件等。它支持使用複雜的回退計時器back-off timer和消息來設置動態警報模式。

一個監控場景比如你想要監控特定進程以確保其正在運行。如果該進程崩潰一次,只需重新啓動它即可。如果它開始多次連續地崩潰,那就不要重新啓動該進程,而應該發送警報。這樣的監控場景可以通過Monit的幾行配置輕鬆實現。

Monit甚至爲守護程序提供了一個不錯的輕量級Web界面,讓你一眼就能看到服務器發生了什麼:

無論你是管理單個服務器還是集羣,Monit提供了最簡單,最高效和最划算的(免費!)方法來幫你監控服務的運行狀態。

結論

非常感謝你抽出寶貴的時間閱讀本文。我希望在你瞭解到我提到的這些Linux監控工具,以及爲什麼它們在分析系統異常時能發揮如此重要的作用後,能使您樂在其中,並有所收穫。

原文鏈接:4 Linux Monitoring Tools You Should Use

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章