Linux工程師必備的88個監控工具
注解
本文是一篇譯文,原文是: 80 Linux Monitoring Tools 。
Linux性能監控及調試並不是個容易事,在 合適的時機 使用 正確的工具 卻可事半功倍!
以下是史上整理最全的 Linux 監控工具集:
命令行工具
1. top
這是一個預裝在很多 Unix 系統的小工具。 當你想要查看在系統中運行的進程或者線程時, top 就是一個不錯的工具。 你可以用不同的方式對這些進程進行排序,默認是以 CPU 使用率進行排序的。
4. apachetop
apachetop 用於監視 apache 網絡服務器的整體性能。 它主要是基於 mytop 。 apachetop 展示服務器當前讀寫數以及總處理請求數,非常有用。
5. ftptop
ftptop 用於監控 FTP 服務器,提供的信息非常豐富: 當前 FTP 連接總數 、 會話總數 ( session )、 上傳下載總數 以及 登錄用戶 等等。
7. powertop
powertop 可以幫你診斷與 電源消耗 以及 電源管理 相關的問題。 powertop 也可以幫你 試驗電源管理設置 ,以達到最優。 按制表鍵( Tab )可以切換標簽頁。
8. iotop
iotop 檢查 I/O 使用情況並以一種類似 top 的界面展示。 它按列展示讀和寫的速率,每行代表一個進程。 它也展示了進程花在內存頁換入( swapping in )以及等待 I/O 時間的百分比。
桌面監控
9. ntopng
ntopng 是 ntop 的升級版,通過瀏覽器提供了一個用於網絡監控的圖形用戶界面。 它可以勝任的工作包括但不局限於:主機地理定位;采集網絡流量;顯示 IP 流量分布並分析。
10. iftop
iftop 命令與 top 類似,但與 top 主要用於檢查 CPU 使用率不同, iftop 監聽 選定網卡網絡流量 並以表格的形式展示當前使用量。 因此,它可以輕松回答像“為什么我的網絡這么慢呢?”這樣的問題。
12. bandwidthd
bandwidthd 追蹤 TCP/IP 網絡子網的使用情況,並通過 png 圖片構建一個形象化 HTML 頁面在瀏覽器中展示。 它由數據庫系統驅動,支持搜索、過濾、多傳感器以及定制化報告。
21. IPTState
IPTState 可以讓你觀察流量通過 iptables 后去往何處,並根據你給定的條件進行排序。 該工具還支持從 iptables 表中刪除狀態信息。
23. vnStat
vnStat 也是一個 網絡流量監控 工具。 它直接使用內核提供的統計數據,占用系統資源更少。 由於統計數據經過 持久化 ,機器重啟后依舊可用。 另外,有藝術氣質的系統管理員可以使用它提供的 顏色選項 。
25. ss
netstat 是一個古老的工具,現在更推薦使用 ss 命令。 ss 比 netstat 更能干,顯示信息更全面,更重要的是速度更快。 舉個例子,運行 ss -s 可以輸出一個 匯總統計 。
26. nmap
nmap 是一個 掃描工具 ,用於掃描服務器端口,探測操作系統類型。 你也可以將 nmap 用於 SQL注入漏洞 ( SQL injection vulnerabilities )、 網絡發現 ( network discovery )以其他 滲透測試 ( penetration testing )場景。
27. mtr
mtr 將 traceroute 以及 ping 的功能組合起來,形成一個更強大的網絡診斷工具。 使用 mtr 時,它會限制每個數據包的跳數( TTL ),然后根據過期回包判斷數據包達到的位置。 它不斷重復這個探測過程,每秒一次。
28. tcpdump
tcpdump 是一個 抓包工具 ,根據你提供的 條件表達式 ( expression )抓取匹配的 網絡數據包 ( packet )並展示。 你也可以將數據保存下來,做進一步分析。
29. Justniffer
Justniffer 是一個 TCP 包 嗅探器 。 使用該嗅探器,你可以選擇嗅探 低層數據 ( low-level data )還是 高層數據 ( high level data )。 你也可以生成日志,格式可以自定義。 例如,你可以模仿 apache 的訪問日志( access log )格式。
基礎設施監控
32. SysUsage
SysUsage 通過 sar 以及其他系統命令持續對系統進行監控。 它允許你設置告警閾值,指標超過設定值時便發送告警信息。 SysUsage 本身可以部署在中央服務器,所有采集到的統計數據也存在那。 它提供一個 Web 界面,可以查看到所有的統計數據。
34. PCP
PCP 是 Performance Co-Pilot 的簡寫。 它可以非常高效地從多台主機收集指標數據。 它提供一個編寫插件的框架,借此你可以寫插件采集你認為重要的指標。 你可以通過 Web 界面或者一個 GUI 界面查看數據圖表。 監控大型系統, PCP 是一個不錯的選擇。
35. KSysGuard
KSysGuard 這個工具既是 系統監視器 ,又是 任務管理器 。 通過 KSysGuard 你可以在一個工作表里查詢多台服務器的系統指標,也可以殺死或者啟動一個服務器進程。
36. Munin
Munin 是一個 網絡監控 和 系統監控 工具,可以為指標設置告警閾值。 它使用 RRDtool 生成圖表,並提供一個 Web 界面來展示圖表。 它主打插件擴展能力,提供了不少可用插件。
38. Zenoss
Zenoss 支持對 系統 和 網絡 指標進行監控,而且提供了 Web 界面。 它還支持 網絡資源 以及 網絡配置變更 自動發現。 它也支持告警功能,而且兼容 Nagios 插件。
39. Cacti
Cacti 是一個網絡畫圖工具,使用 RRDtool 做數據存儲。 它允許用戶定期拉取服務指標,並以圖表展示。 用戶可以通過 shell 腳本來擴展 Cacti ,實現對指定資源的監控。
40. Zabbix
Zabbix 是一個開源的 基礎設施監控 ( infrastructure monitoring )解決方案。 Zabbix 核心部分是用 C 實現的,前端則是 PHP ,數據存儲部分則可以對接大部分現有數據庫。 此外, agent 不是必要的。 如果你不想安裝 agent ,那么 Zabbix 應該一個不錯的選擇。
47. Linux進程管理器
Linux進程管理器 與 OSX 活動監視器以及 Windows 進程管理器類似。 它的設計目標是,做比 top 或 ps 更好用的工具。 通過它,你可以查看到每個系統進程,以及它們占用了多少內存和 CPU 資源。
網絡監控
下一步
訂閱更新,獲取更多學習資料,請關注我們的 微信公眾號 :

































































