Linux中國

最全列表: 80 多個 Linux 系統管理員必備的監控工具

隨著互聯網行業的不斷發展,各種監控工具多得不可勝數。這裡列出網上最全的監控工具。讓你可以擁有超過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 配置和插件。

via: https://blog.serverdensity.com/80-linux-monitoring-tools-know/

作者:Jonathan Sundqvist 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國