80 多個 Linux 系統管理員的監控工具

linux.cn發表於2016-05-08

隨著網際網路行業的不斷髮展,各種監控工具多得不可勝數。這裡列出網上最全的監控工具。讓你可以擁有超過80種方式來管理你的機器。在本文中,我們主要包括以下方面:

  • 命令列工具
  • 網路相關內容
  • 系統相關的監控工具
  • 日誌監控工具
  • 基礎設施監控工具

監控和除錯效能問題是一個艱鉅的任務,但用對了正確的工具有時也是很容易的。下面是一些你可能聽說過的工具,也有可能沒有聽說過——何不趕快開始試試?

八大系統監控工具

1. top

這是一個被預裝在許多 UNIX 系統中的小工具。當你想要檢視在系統中執行的程式或執行緒時:top 是一個很好的工具。你可以對這些程式以不同的方式進行排序,預設是以 CPU 進行排序的。

2. htop

htop 實質上是 top 的一個增強版本。它更容易對程式排序。它看起來上更容易理解,並且已經內建了許多通用操作。它也是完全互動式的。

3. atop

atop 和 top,htop 非常相似,它也能監控所有程式,但不同於 top 和 htop 的是,它可以按日記錄程式的日誌供以後分析。它也能顯示所有程式的資源消耗。它還會高亮顯示已經達到臨界負載的資源。

4. apachetop

apachetop 會監控 apache 網路伺服器的整體效能。它主要是基於 mytop。它會顯示當前的讀取程式、寫入程式的數量以及請求程式的總數。

5. ftptop

ftptop 給你提供了當前所有連線到 ftp 伺服器的基本資訊,如會話總數,正在上傳和下載的客戶端數量以及客戶端是誰。

6. mytop

mytop 是一個很簡潔的工具,用於監控 mysql 的執行緒和效能。它能讓你實時檢視資料庫以及正在處理哪些查詢。

7. powertop

powertop 可以幫助你診斷與電量消耗和電源管理相關的問題。它也可以幫你進行電源管理設定,以實現對你伺服器最有效的配置。你可以使用 tab 鍵切換選項卡。

8. iotop

iotop 用於檢查 I/O 的使用情況,併為你提供了一個類似 top 的介面來顯示。它按列顯示讀和寫的速率,每行代表一個程式。當發生交換或 I/O 等待時,它會顯示程式消耗時間的百分比。

與網路相關的監控

9. ntopng

ntopng 是 ntop 的升級版,它提供了一個能通過瀏覽器進行網路監控的圖形使用者介面。它還有其他用途,如:地理定位主機,顯示網路流量和 ip 流量分佈並能進行分析。

10. iftop

iftop 類似於 top,但它主要不是檢查 cpu 的使用率而是監聽所選擇網路介面的流量,並以表格的形式顯示當前的使用量。像“為什麼我的網速這麼慢呢?!”這樣的問題它可以直接回答。

11. jnettop

jnettop 以相同的方式來監測網路流量但比 iftop 更形象。它還支援自定義的文字輸出,並能以友好的互動方式來深度分析日誌。

12. bandwidthd

BandwidthD 可以跟蹤 TCP/IP 網路子網的使用情況,並能在瀏覽器中通過 png 圖片形象化地構建一個 HTML 頁面。它有一個資料庫系統,支援搜尋、過濾,多感測器和自定義報表。

13. EtherApe

EtherApe 以圖形化顯示網路流量,可以支援更多的節點。它可以捕獲實時流量資訊,也可以從 tcpdump 進行讀取。也可以使用 pcap 格式的網路過濾器來顯示特定資訊。

14. ethtool

ethtool 用於顯示和修改網路介面控制器的一些引數。它也可以用來診斷乙太網裝置,並獲得更多的統計資料。

15. NetHogs

NetHogs 打破了網路流量按協議或子網進行統計的慣例,它以程式來分組。所以,當網路流量猛增時,你可以使用 NetHogs 檢視是由哪個程式造成的。

16. iptraf

iptraf 收集的各種指標,如 TCP 連線資料包和位元組數,埠統計和活動指標,TCP/UDP 通訊故障,站內資料包和位元組數。

17. ngrep

ngrep 就是網路層的 grep。它使用 pcap ,允許通過指定擴充套件正規表示式或十六進位制表示式來匹配資料包。

18. MRTG

MRTG 最初被開發來監控路由器的流量,但現在它也能夠監控網路相關的東西。它每五分鐘收集一次,然後產生一個 HTML 頁面。它還具有傳送郵件報警的能力。

19. bmon

bmon 能監控並幫助你除錯網路。它能捕獲網路相關的統計資料,並以友好的方式進行展示。你還可以與 bmon 通過指令碼進行互動。

20. traceroute

traceroute 是一個內建工具,能顯示路由和測量資料包在網路中的延遲。

21. IPTState

IPTState 可以讓你觀察流量是如何通過 iptables,並通過你指定的條件來進行排序。該工具還允許你從 iptables 的表中刪除狀態資訊。

22. darkstat

darkstat 能捕獲網路流量並計算使用情況的統計資料。該報告儲存在一個簡單的 HTTP 伺服器中,它為你提供了一個非常棒的圖形使用者介面。

23. vnStat

vnStat 是一個網路流量監控工具,它的資料統計是由核心進行提供的,其消耗的系統資源非常少。系統重新啟動後,它收集的資料仍然存在。有藝術感的系統管理員可以使用它的顏色選項。

24. netstat

netstat 是一個內建的工具,它能顯示 TCP 網路連線,路由表和網路介面數量,被用來在網路中查詢問題。

25. ss

比起 netstat,使用 ss 更好。ss 命令能夠顯示的資訊比 netstat 更多,也更快。如果你想檢視統計結果的總資訊,你可以使用命令 ss -s

26. nmap

Nmap 可以掃描你伺服器開放的埠並且可以檢測正在使用哪個作業系統。但你也可以將其用於 SQL 注入漏洞、網路發現和滲透測試相關的其他用途。

27. MTR

MTR 將 traceroute 和 ping 的功能結合到了一個網路診斷工具上。當使用該工具時,它會限制單個資料包的跳數,然後監視它們的到期時到達的位置。然後每秒進行重複。

28. Tcpdump

Tcpdump 將按照你在命令列中指定的表示式輸出匹配捕獲到的資料包的資訊。你還可以將此資料儲存並進一步分析。

29. Justniffer

Justniffer 是 tcp 資料包嗅探器。使用此嗅探器你可以選擇收集低階別的資料還是高階別的資料。它也可以讓你以自定義方式生成日誌。比如模仿 Apache 的訪問日誌。

與系統有關的監控

30. nmon

nmon 將資料輸出到螢幕上的,或將其儲存在一個以逗號分隔的檔案中。你可以檢視 CPU,記憶體,網路,檔案系統,前列 程式。資料也可以被新增到 RRD 資料庫中用於進一步分析。

31. conky

Conky 能監視很多的作業系統資料。它支援 IMAP 和 POP3, 甚至許多流行的音樂播放器!出於方便不同的人,你可以使用自己的 Lua 指令碼或程式來進行擴充套件。

32. Glances

使用 Glances 監控你的系統,其旨在使用最小的空間為你呈現最多的資訊。它可以在客戶端/伺服器端模式下執行,也有遠端監控的能力。它也有一個 Web 介面。

33. saidar

Saidar 是一個非常小的工具,為你提供有關係統資源的基礎資訊。它將系統資源在全屏進行顯示。重點是 saidar 會盡可能的簡化。

34. RRDtool

RRDtool 是用來處理 RRD 資料庫的工具。RRDtool 旨在處理時間序列資料,如 CPU 負載,溫度等。該工具提供了一種方法來提取 RRD 資料並以圖形介面顯示。

35. monit

如果出現故障時,monit 有傳送警報以及重新啟動服務的功能。它可以對各種資料進行檢查,你可以為 monit 寫一個指令碼,它有一個 Web 使用者介面來分擔你眼睛的壓力。

36. Linux process explorer

Linux process explorer 是類似 OSX 或 Windows 的活動監視器。它比 top 或 ps 的使用範圍更廣。你可以檢視每個程式的記憶體消耗以及 CPU 的使用情況。

37. df

df 是 disk free 的縮寫,它是所有 UNIX 系統預裝的程式,用來顯示使用者有訪問許可權的檔案系統的可用磁碟空間。

38. discus

discus 類似於 df,它的目的是通過使用更吸引人的特性,如顏色,圖形和數字來對 df 進行改進。

39. xosview

xosview 是一款經典的系統監控工具,它給你提供包括 IRQ 在內的各個不同部分的簡單總覽。

40. Dstat

dstat 旨在替代 vmstat,iostat,netstat 和 ifstat。它可以讓你查實時檢視所有的系統資源。這些資料可以匯出為 CSV。最重要的是 dstat 允許使用外掛,因此其可以擴充套件到更多領域。

41. Net-SNMP

SNMP 即“簡單網路管理協議”,Net-SNMP 工具套件使用該協議可幫助你收集伺服器的準確資訊。

42. incron

incron 允許你監控一個目錄樹,然後對這些變化採取措施。如果你想在目錄‘a’中出現新檔案時,將其複製到目錄‘b’,這正是 incron 能做的。

43. monitorix

Monitorix 是輕量級的系統監控工具。它可以幫助你監控單獨一臺機器,併為你提供豐富的指標。它也有一個內建的 HTTP 伺服器,來檢視圖表和所有指標的報告。

44. vmstat

vmstat(virtual memory statistics)是一個小型內建工具,能監控和顯示機器的記憶體。

45. uptime

這個小程式能快速顯示你機器執行了多久,目前有多少使用者登入和系統過去1分鐘,5分鐘和15分鐘的平均負載。

46. mpstat

mpstat 是一個內建的工具,能監視 cpu 的使用情況。最常見的使用方法是 mpstat -P ALL,它給你提供 cpu 的使用情況。你也可以間歇性地更新 cpu 的使用情況。

47. pmap

pmap 是一個內建的工具,報告一個程式的記憶體對映。你可以使用這個命令來找出導致記憶體瓶頸的原因。

48. ps

該命令將給你當前所有程式的概述。你可以使用 ps -A 命令檢視所有程式。

49. sar

sar 是 sysstat 包的一部分,可以幫助你收集、報告和儲存不同系統的指標。使用不同的引數,它會給你提供 CPU、 記憶體和 I/O 使用情況及其他東西。

50. collectl

類似於 sar,collectl 收集你機器的效能指標。預設情況下,顯示 cpu、網路和磁碟統計資料,但它實際收集了很多資訊。與 sar 不同的是,collectl 能夠處理比秒更小的單位,它可以被直接送入繪圖工具並且 collectl 的監控過程更廣泛。

51. iostat

iostat 也是 sysstat 包的一部分。此命令用於監控系統的輸入/輸出。其報告可以用來進行系統調優,以更好地調節你機器上硬碟的輸入/輸出負載。

52. free

這是一個內建的命令,用於顯示你機器上可用的記憶體大小以及已使用的記憶體大小。它還可以顯示某時刻核心所使用的緩衝區大小。

53. /proc 檔案系統

proc 檔案系統可以讓你檢視核心的統計資訊。從這些統計資料可以得到你機器上不同硬體裝置的詳細資訊。看看這個 proc 檔案統計的完整列表

54. GKrellM

GKrellm 是一個圖形應用程式,用來監控你硬體的狀態資訊,像CPU,記憶體,硬碟,網路介面以及其他的。它也可以監視並啟動你所選擇的郵件閱讀器。

55. Gnome 系統監控器

Gnome 系統監控器是一個基本的系統監控工具,其能通過一個樹狀結構來檢視程式的依賴關係,能殺死程式及調整程式優先順序,還能以圖表形式顯示所有伺服器的指標。

日誌監控工具

56. GoAccess

GoAccess 是一個實時的網路日誌分析器,它能分析 apache, nginx 和 amazon cloudfront 的訪問日誌。它也可以將資料輸出成 HTML,JSON 或 CSV 格式。它會給你一個基本的統計資訊、訪問量、404 頁面,訪客位置和其他東西。

57. Logwatch

Logwatch 是一個日誌分析系統。它通過分析系統的日誌,併為你所指定的部分建立一個分析報告。它每天給你一個報告,以便讓你花費更少的時間來分析日誌。

58. Swatch

像 Logwatch 一樣,Swatch 也監控你的日誌,但不是給你一個報告,它會匹配你定義的正規表示式,當匹配到後會通過郵件或控制檯通知你。它可用於檢測入侵者。

59. MultiTail

MultiTail 可幫助你在多個視窗之下監控日誌檔案。你可以將這些日誌檔案合併到一個視窗。它可以通過正規表示式的幫助,使用不同的顏色來顯示日誌檔案以方便你閱讀。

系統工具

60. acct or psacct

acct 也稱 psacct(取決於如果你使用 apt-get 還是 yum)可以監控所有使用者執行的命令,包括 CPU 時間和記憶體佔用。一旦安裝完成後你可以使用命令 sa 來檢視統計。

61. whowatch

類似 acct,這個工具監控系統上所有的使用者,並允許你實時檢視他們正在執行的命令及執行的程式。它將所有程式以樹狀結構輸出,這樣你就可以清楚地看到到底發生了什麼。

62. strace

strace 被用於診斷、除錯和監控程式之間的相互呼叫過程。最常見的做法是用 strace 列印系統呼叫的程式列表,其可以看出程式是否像預期那樣被執行了。

63. DTrace

DTrace 可以說是 strace 的大哥。它動態地跟蹤與檢測程式碼實時執行的指令。它允許你深入分析其效能和診斷故障。但是,它並不簡單,關於這個話題有1200本書之多。

64. webmin

Webmin 是一個基於 Web 的系統管理工具。它不需要手動編輯 UNIX 配置檔案,可以讓你遠端管理系統。它有一對監控模組用於連線它。

65. stat

Stat 是一個內建的工具,用於顯示檔案和檔案系統的狀態資訊。它會顯示檔案何時被修改、訪問或更改。

66. ifconfig

ifconfig 是一個內建的工具,用於配置網路介面。大多數網路監控工具背後都使用 ifconfig 將網路卡設定成混亂模式來捕獲所有的資料包。你可以手動執行 ifconfig eth0 promisc 進入混亂模式,使用ifconfig eth0 -promisc 返回正常模式。

67. ulimit

ulimit 是一個內建的工具,可監控系統資源,並可以限制任何監控資源不得超標。比如做一個 fork 炸彈,如果使用 ulimit 正確配置了將完全不受影響。

68. cpulimit

CPULimit 是一個小工具,用於監控並限制程式對 CPU 的使用率。其特別可以用於將批處理作業對 CPU 的使用率保持在一定範圍。

69. lshw

lshw 是一個小的內建工具,能提取關於本機硬體配置的詳細資訊。它可以輸出 CPU 版本和主機板配置。

70. w

w 是一個內建命令,用於顯示當前登入使用者的資訊及他們所執行的程式。

71. lsof

lsof 是一個內建的工具,可讓你列出所有開啟的檔案和網路連線。從那裡你可以看到檔案是由哪個程式開啟的,基於程式名可找到其特定的使用者,或殺死屬於某個使用者的所有程式。

基礎架構監控工具

72. Server Density

我們的 伺服器監控工具 它有一個 web 介面,使你可以進行報警設定並可以通過圖表來檢視所有系統的網路指標。你還可以設定監控的網站,無論是否線上。Server Density 允許你設定使用者的許可權,你可以根據我們的外掛或 api 來擴充套件你的監控。該服務已經支援 Nagios 的外掛了。

73. OpenNMS

OpenNMS 主要有四個功能區:事件管理和通知;發現和配置;服務監控和資料收集。其設計為可被在多種網路環境中定製。

74. SysUsage

SysUsage 通過 Sar 和其他系統命令持續監控你的系統。一旦達到閾值它也可以進行報警通知。SysUsage 本身也可以收集所有的統計資訊並儲存在一個地方。它有一個 Web 介面可以讓你檢視所有的統計資料。

75. brainypdm

brainypdm 是一個資料管理和監控工具,它能收集來自 nagios 或其它常規來源的資料並以圖表顯示。它是跨平臺的,其基於 Web 並可自定義圖形。

76. PCP

PCP 可以收集來自多個主機的指標,並且效率很高。它也有一個外掛框架,所以你可以讓它收集對你很重要的指標。你可以通過任何一個 Web 介面或 GUI 訪問圖形資料。它比較適合大型監控系統。

77. KDE 系統守護

這個工具既是一個系統監控器也是一個工作管理員。你可以通過工作表來檢視多臺機器的服務指標,如果需要殺死一個程式或者你需要啟動一個程式,它可以在 KDE 系統守護中來完成。

78. Munin

Munin 既是一個網路也是系統監控工具,當一個指標超出給定的閾值時它會提供報警機制。它運用 RRDtool 建立圖表,並且它也有 Web 介面來顯示這些圖表。它更強調的是即插即用的功能並且有許多可用的外掛。

79. Nagios

Nagios 是系統和網路監控工具,可幫助你監控多臺伺服器。當發生錯誤時它也有報警功能。它的平臺也有很多的外掛。

80. Zenoss

Zenoss 提供了一個 Web 介面,使你可以監控所有的系統及網路指標。此外,它能自動發現網路資源和修改網路配置。並且會提醒你採取行動,它也支援 Nagios 的外掛。

81. Cacti

(和上一個一樣!) Cacti 是一個網路圖形解決方案,其使用 RRDtool 進行資料儲存。它允許使用者在預定的時間間隔進行投票服務並將結果以圖形顯示。Cacti 可以通過 shell 指令碼擴充套件來監控你所選擇的來源。

82. Zabbix

Zabbix 是一個開源的基礎設施監控解決方案。它使用了許多資料庫來存放監控統計資訊。其核心是用 C 語言編寫,並在前端中使用 PHP。如果你不喜歡安裝代理端,Zabbix 可能是一個最好選擇。

附加部分

感謝您的建議。這是我們的一個附加部分,由於我們需要重新編排所有的標題,鑑於此,這是在最後的一個簡短部分,根據您的建議新增的一些 Linux 監控工具:

83. collectd

Collectd 是一個 Unix 守護程式,用來收集所有的監控資料。它採用了模組化設計並使用外掛來填補一些缺陷。這樣能使 collectd 保持輕量級並可進行定製。

84. Observium

Observium 是一個自動發現網路的監控平臺,支援大量硬體平臺和作業系統。Observium 專注於提供一個優美、功能強大、簡單直觀的介面來顯示網路的健康和狀態。

85. Nload

這是一個命令列工具來監控網路的吞吐量。它很整潔,因為它使用兩個圖表和其他一些類似傳輸的資料總量這樣的有用資料來對進出站流量進行視覺化。你可以使用如下方法安裝它:

yum install nload

或者

sudo apt-get install nload

86. SmokePing

SmokePing 可以跟蹤你網路延遲,並對他們進行視覺化。有各種為 SmokePing 開發的延遲測量外掛。如果圖形使用者介面對你來說非常重要,現在有一個正在開發中的外掛來實現此功能。

87. MobaXterm

如果你整天在 windows 環境下工作。你可能會覺得 Windows 下終端視窗的限制。MobaXterm 正是由此而來的,它允許你使用多個通常出現在 Linux 中的命令。這將會極大地幫助你在監控方面的需求!

88. Shinken monitoring

Shinken 是一個監控框架,其是採用 python 對 Nagios 進行了完全重寫。它的目的是增強靈活性和管理更大環境。但仍保持所有的 nagios 配置和外掛。

相關文章