88個 Linux 系統管理員必備的監控工具


隨着互聯網行業的不斷髮展,各類監控工具多得不計其數。這裏列出網上最全的監控工具。讓你能夠擁有超過80種方式來管理你的機器。在本文中,咱們主要包括如下方面:html

  • 命令行工具前端

  • 網絡相關內容python

  • 系統相關的監控工具mysql

  • 日誌監控工具linux

  • 基礎設施監控工具ios

     

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

八大系統監控工具

1. topweb

這是一個被預裝在許多 UNIX 系統中的小工具。當你想要查看在系統中運行的進程或線程時:top 是一個很好的工具。你能夠對這些進程以不一樣的方式進行排序,默認是以 CPU 進行排序的。正則表達式

2. htopsql

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 配置和插件。

閱讀原文

相關文章
相關標籤/搜索