1. 程式人生 > >每個系統管理員都要知道的 30 個 Linux 系統監控工具

每個系統管理員都要知道的 30 個 Linux 系統監控工具

11. netstat - Linux 網路統計監控工具

netstat 命令顯示網路連線、路由表、介面統計、偽裝連線和多播連線等資訊。

# netstat -tulpn
# netstat -nat

12. ss - 網路統計

ss 命令用於獲取套接字統計資訊。它可以顯示類似於 netstat 的資訊。不過 netstat 幾乎要過時了, ss 命令更具優勢。要顯示所有 TCP 或 UDP 套接字:

# ss -t -a

# ss -u -a

顯示所有帶有 SELinux 安全上下文Security Context 的 TCP 套接字:

# ss -t -a -Z

請參閱以下關於 ss 和 netstat 命令的資料:

13. iptraf - 獲取實時網路統計資訊

iptraf 命令是一個基於 ncurses 的互動式 IP 網路監控工具。它可以生成多種網路統計資訊,包括 TCP 資訊、UDP 計數、ICMP 和 OSPF 資訊、乙太網負載資訊、節點統計資訊、IP 校驗錯誤等。它以簡單的格式提供了以下資訊:

  • 基於 TCP 連線的網路流量統計
  • 基於網路介面的 IP 流量統計
  • 基於協議的網路流量統計
  • 基於 TCP/UDP 埠和資料包大小的網路流量統計
  • 基於二層地址的網路流量統計

圖 02:常規介面統計:基於網路介面的 IP 流量統計

圖 03:基於 TCP 連線的網路流量統計

14. tcpdump - 詳細的網路流量分析

tcpdump

 命令是簡單的分析網路通訊的命令。您需要充分了解 TCP/IP 協議才便於使用此工具。例如,要顯示有關 DNS 的流量資訊,請輸入:

# tcpdump -i eth1 'udp port 53'

檢視所有去往和來自埠 80 的 IPv4 HTTP 資料包,僅列印真正包含資料的包,而不是像 SYN、FIN 和僅含 ACK 這類的資料包,請輸入:

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

顯示所有目標地址為 202.54.1.5 的 FTP 會話,請輸入:

# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'

列印所有目標地址為 192.168.1.5 的 HTTP 會話:

# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'

使用 wireshark 檢視檔案的詳細內容,請輸入:

# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

15. iotop - I/O 監控

iotop 命令利用 Linux 核心監控 I/O 使用情況,它按程序或執行緒的順序顯示 I/O 使用情況。

$ sudo iotop

輸出示例:

16. htop - 互動式的程序檢視器

htop 是一款免費並開源的基於 ncurses 的 Linux 程序檢視器。它比 top 命令更簡單易用。您無需使用 PID、無需離開 htop 介面,便可以殺掉程序或調整其排程優先順序。

$ htop

輸出示例:

17. atop - 高階版系統與程序監控工具

atop 是一個非常強大的互動式 Linux 系統負載監控器,它從效能的角度顯示最關鍵的硬體資源資訊。您可以快速檢視 CPU、記憶體、磁碟和網路效能。它還可以從程序的級別顯示哪些程序造成了相關 CPU 和記憶體的負載。

$ atop

18. ac 和 lastcomm

您一定需要監控 Linux 伺服器上的程序和登入活動吧。 psacct 或 acct 軟體包中包含了多個用於監控程序活動的工具,包括:

  1. ac 命令:顯示有關使用者連線時間的統計資訊
  2. accton 命令:開啟或關閉程序賬號記錄功能
  3. sa 命令:程序賬號記錄資訊的摘要

19. monit - 程序監控器

monit 是一個免費且開源的程序監控軟體,它可以自動重啟停掉的服務。您也可以使用 Systemd、daemontools 或其他類似工具來達到同樣的目的。 本教程演示如何在 Debian 或 Ubuntu Linux 上安裝和配置 monit 作為程序監控器 。

20. NetHogs - 找出佔用頻寬的程序

NetHogs 是一個輕便的網路監控工具,它按照程序名稱(如 Firefox、wget 等)對頻寬進行分組。如果網路流量突然爆發,啟動 NetHogs,您將看到哪個程序(PID)導致了頻寬激增。

$ sudo nethogs

21. iftop - 顯示主機上網路介面的頻寬使用情況

iftop 命令監聽指定介面(如 eth0)上的網路通訊情況。 它顯示了一對主機的頻寬使用情況

$ sudo iftop

22. vnstat - 基於控制檯的網路流量監控工具

vnstat 是一個簡單易用的基於控制檯的網路流量監視器,它為指定網路介面保留每小時、每天和每月網路流量日誌。

$ vnstat

相關連結:

23. nmon - Linux 系統管理員的調優和基準測量工具

nmon 是 Linux 系統管理員用於效能調優的利器,它在命令列顯示 CPU、記憶體、網路、磁碟、檔案系統、NFS、消耗資源最多的程序和分割槽資訊。

$ nmon

24. glances - 密切關注 Linux 系統

glances 是一款開源的跨平臺監控工具。它在小小的螢幕上提供了大量的資訊,還可以工作於客戶端-伺服器模式下。

$ glances

25. strace - 檢視系統呼叫

想要跟蹤 Linux 系統的呼叫和訊號嗎?試試 strace 命令吧。它對於除錯網頁伺服器和其他伺服器問題很有用。瞭解如何利用其 追蹤程序 並檢視它在做什麼。

26. /proc 檔案系統 - 各種核心資訊

/proc 檔案系統提供了不同硬體裝置和 Linux 核心的詳細資訊。更多詳細資訊,請參閱 Linux 核心 /proc 文件。常見的 /proc 例子:

# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts

27. Nagios - Linux 伺服器和網路監控

Nagios 是一款普遍使用的開源系統和網路監控軟體。您可以輕鬆地監控所有主機、網路裝置和服務,當狀態異常和恢復正常時它都會發出警報通知。 FAN 是“全自動 Nagios”的縮寫。FAN 的目標是提供包含由 Nagios 社群提供的大多數工具包的 Nagios 安裝。FAN 提供了標準 ISO 格式的 CD-Rom 映象,使安裝變得更加容易。除此之外,為了改善 Nagios 的使用者體驗,發行版還包含了大量的工具。

28. Cacti - 基於 Web 的 Linux 監控工具

Cacti 是一個完整的網路圖形化解決方案,旨在充分利用 RRDTool 的資料儲存和圖形功能。Cacti 提供了快速輪詢器、高階圖形模板、多種資料採集方法和使用者管理功能。這些功能被包裝在一個直觀易用的介面中,確保可以實現從區域網到擁有數百臺裝置的複雜網路上的安裝。它可以提供有關網路、CPU、記憶體、登入使用者、Apache、DNS 伺服器等的資料。瞭解如何在 CentOS / RHEL 下 安裝和配置 Cacti 網路圖形化工具 。

29. KDE 系統監控器 - 實時系統報告和圖形化顯示

KSysguard 是 KDE 桌面的網路化系統監控程式。這個工具可以通過 ssh 會話執行。它提供了許多功能,比如可以監控本地和遠端主機的客戶端-伺服器模式。前端圖形介面使用感測器來檢索資訊。感測器可以返回簡單的值或更復雜的資訊,如表格。每種型別的資訊都有一個或多個顯示介面,並被組織成工作表的形式,這些工作表可以分別儲存和載入。所以,KSysguard 不僅是一個簡單的工作管理員,還是一個控制大型伺服器平臺的強大工具。

圖 05:KDE System Guard {圖片來源:維基百科}

30. GNOME 系統監控器

系統監控程式能夠顯示系統基本資訊,並監控系統程序、系統資源使用情況和檔案系統。您還可以用其修改系統行為。雖然不如 KDE System Guard 強大,但它提供的基本資訊對新使用者還是有用的:

  • 顯示關於計算機硬體和軟體的各種基本資訊
  • Linux 核心版本
  • GNOME 版本
  • 硬體
  • 安裝的記憶體
  • 處理器和速度
  • 系統狀況
  • 可用磁碟空間
  • 程序
  • 記憶體和交換空間
  • 網路使用情況
  • 檔案系統
  • 列出所有掛載的檔案系統及其基本資訊

圖 06:Gnome 系統監控程式

福利:其他工具

更多工具:

  • nmap - 掃描伺服器的開放埠
  • lsof - 列出開啟的檔案和網路連線等
  • ntop 基於網頁的工具 - ntop 是檢視網路使用情況的最佳工具,與 top 命令之於程序的方式類似,即網路流量監控工具。您可以檢視網路狀態和 UDP、TCP、DNS、HTTP 等協議的流量分發。
  • Conky - X Window 系統下的另一個很好的監控工具。它具有很高的可配置性,能夠監視許多系統變數,包括 CPU 狀態、記憶體、交換空間、磁碟儲存、溫度、程序、網路介面、電池、系統訊息和電子郵件等。
  • GKrellM - 它可以用來監控 CPU 狀態、主記憶體、硬碟、網路介面、本地和遠端郵箱及其他資訊。
  • mtr - mtr 將 traceroute 和 ping 程式的功能結合在一個網路診斷工具中。
  • vtop - 圖形化活動監控終端