Linux運(yùn)維工程師必知的29個監(jiān)控工具
隨著互聯(lián)網(wǎng)行業(yè)的不斷發(fā)展,各種監(jiān)控工具多得不可勝數(shù)。這里列出網(wǎng)上最全的監(jiān)控工具。讓你可以擁有超過80種方式來管理你的機(jī)器。
在本文中,我們主要包括以下方面:
命令行工具
網(wǎng)絡(luò)相關(guān)內(nèi)容
系統(tǒng)相關(guān)的監(jiān)控工具
日志監(jiān)控工具
基礎(chǔ)設(shè)施監(jiān)控工具
監(jiān)控和調(diào)試性能問題是一個艱巨的任務(wù),但用對了正確的工具有時也是很容易的。下面是一些你可能聽說過的工具,也有可能沒有聽說過——何不趕快開始試試?
八大系統(tǒng)監(jiān)控工具
1.top

這是一個被預(yù)裝在許多 UNIX 系統(tǒng)中的小工具。當(dāng)你想要查看在系統(tǒng)中運(yùn)行的進(jìn)程或線程時:top 是一個很好的工具。你可以對這些進(jìn)程以不同的方式進(jìn)行排序,默認(rèn)是以 CPU 進(jìn)行排序的。
2.htop

htop 實(shí)質(zhì)上是 top 的一個增強(qiáng)版本。它更容易對進(jìn)程排序。它看起來上更容易理解,并且已經(jīng)內(nèi)建了許多通用操作。它也是完全交互式的。
3.atop
atop 和 top,htop 非常相似,它也能監(jiān)控所有進(jìn)程,但不同于 top 和 htop 的是,它可以按日記錄進(jìn)程的日志供以后分析。它也能顯示所有進(jìn)程的資源消耗。它還會高亮顯示已經(jīng)達(dá)到臨界負(fù)載的資源。
4.apachetop
apachetop 會監(jiān)控 apache 網(wǎng)絡(luò)服務(wù)器的整體性能。它主要是基于 mytop。它會顯示當(dāng)前的讀取進(jìn)程、寫入進(jìn)程的數(shù)量以及請求進(jìn)程的總數(shù)。
5.ftptop
ftptop 給你提供了當(dāng)前所有連接到 ftp 服務(wù)器的基本信息,如會話總數(shù),正在上傳和下載的客戶端數(shù)量以及客戶端是誰。
6.mytop

mytop 是一個很簡潔的工具,用于監(jiān)控 mysql 的線程和性能。它能讓你實(shí)時查看數(shù)據(jù)庫以及正在處理哪些查詢。
7.powertop

powertop 可以幫助你診斷與電量消耗和電源管理相關(guān)的問題。它也可以幫你進(jìn)行電源管理設(shè)置,以實(shí)現(xiàn)對你服務(wù)器最有效的配置。你可以使用 tab 鍵切換選項卡。
8.iotop

iotop 用于檢查 I/O 的使用情況,并為你提供了一個類似 top 的界面來顯示。它按列顯示讀和寫的速率,每行代表一個進(jìn)程。當(dāng)發(fā)生交換或 I/O 等待時,它會顯示進(jìn)程消耗時間的百分比。
與網(wǎng)絡(luò)相關(guān)的監(jiān)控
9.ntopng

ntopng 是 ntop 的升級版,它提供了一個能通過瀏覽器進(jìn)行網(wǎng)絡(luò)監(jiān)控的圖形用戶界面。它還有其他用途,如:地理定位主機(jī),顯示網(wǎng)絡(luò)流量和 ip 流量分布并能進(jìn)行分析。
10.iftop

iftop 類似于 top,但它主要不是檢查 cpu 的使用率而是監(jiān)聽所選擇網(wǎng)絡(luò)接口的流量,并以表格的形式顯示當(dāng)前的使用量。像“為什么我的網(wǎng)速這么慢呢?!”這樣的問題它可以直接回答。
11.jnettop

jnettop 以相同的方式來監(jiān)測網(wǎng)絡(luò)流量但比 iftop 更形象。它還支持自定義的文本輸出,并能以友好的交互方式來深度分析日志。
12.bandwidthd

BandwidthD 可以跟蹤 TCP/IP 網(wǎng)絡(luò)子網(wǎng)的使用情況,并能在瀏覽器中通過 png 圖片形象化地構(gòu)建一個 HTML 頁面。它有一個數(shù)據(jù)庫系統(tǒng),支持搜索、過濾,多傳感器和自定義報表。
13.EtherApe
EtherApe 以圖形化顯示網(wǎng)絡(luò)流量,可以支持更多的節(jié)點(diǎn)。它可以捕獲實(shí)時流量信息,也可以從 tcpdump 進(jìn)行讀取。也可以使用 pcap 格式的網(wǎng)絡(luò)過濾器來顯示特定信息。
14.ethtool

ethtool 用于顯示和修改網(wǎng)絡(luò)接口控制器的一些參數(shù)。它也可以用來診斷以太網(wǎng)設(shè)備,并獲得更多的統(tǒng)計數(shù)據(jù)。
15.NetHogs

NetHogs 打破了網(wǎng)絡(luò)流量按協(xié)議或子網(wǎng)進(jìn)行統(tǒng)計的慣例,它以進(jìn)程來分組。所以,當(dāng)網(wǎng)絡(luò)流量猛增時,你可以使用 NetHogs 查看是由哪個進(jìn)程造成的。
16.iptraf

iptraf 收集的各種指標(biāo),如 TCP 連接數(shù)據(jù)包和字節(jié)數(shù),端口統(tǒng)計和活動指標(biāo),TCP/UDP 通信故障,站內(nèi)數(shù)據(jù)包和字節(jié)數(shù)。
17.ngrep

ngrep 就是網(wǎng)絡(luò)層的 grep。它使用 pcap ,允許通過指定擴(kuò)展正則表達(dá)式或十六進(jìn)制表達(dá)式來匹配數(shù)據(jù)包。
18.MRTG

MRTG 最初被開發(fā)來監(jiān)控路由器的流量,但現(xiàn)在它也能夠監(jiān)控網(wǎng)絡(luò)相關(guān)的東西。它每五分鐘收集一次,然后產(chǎn)生一個 HTML 頁面。它還具有發(fā)送郵件報警的能力。
19.bmon

bmon 能監(jiān)控并幫助你調(diào)試網(wǎng)絡(luò)。它能捕獲網(wǎng)絡(luò)相關(guān)的統(tǒng)計數(shù)據(jù),并以友好的方式進(jìn)行展示。你還可以與 bmon 通過腳本進(jìn)行交互。
20.traceroute

traceroute 是一個內(nèi)置工具,能顯示路由和測量數(shù)據(jù)包在網(wǎng)絡(luò)中的延遲。
21.IPTState
IPTState 可以讓你觀察流量是如何通過 iptables,并通過你指定的條件來進(jìn)行排序。該工具還允許你從 iptables 的表中刪除狀態(tài)信息。
22.darkstat

darkstat 能捕獲網(wǎng)絡(luò)流量并計算使用情況的統(tǒng)計數(shù)據(jù)。該報告保存在一個簡單的 HTTP 服務(wù)器中,它為你提供了一個非常棒的圖形用戶界面。
23.vnStat

vnStat 是一個網(wǎng)絡(luò)流量監(jiān)控工具,它的數(shù)據(jù)統(tǒng)計是由內(nèi)核進(jìn)行提供的,其消耗的系統(tǒng)資源非常少。系統(tǒng)重新啟動后,它收集的數(shù)據(jù)仍然存在。有藝術(shù)感的系統(tǒng)管理員可以使用它的顏色選項。
24.netstat

netstat 是一個內(nèi)置的工具,它能顯示 TCP 網(wǎng)絡(luò)連接,路由表和網(wǎng)絡(luò)接口數(shù)量,被用來在網(wǎng)絡(luò)中查找問題。
25.ss
比起 netstat,使用 ss 更好。ss 命令能夠顯示的信息比 netstat 更多,也更快。如果你想查看統(tǒng)計結(jié)果的總信息,你可以使用命令 ss -s。
26.nmap

Nmap 可以掃描你服務(wù)器開放的端口并且可以檢測正在使用哪個操作系統(tǒng)。但你也可以將其用于 SQL 注入漏洞、網(wǎng)絡(luò)發(fā)現(xiàn)和滲透測試相關(guān)的其他用途。
27.MTR

MTR 將 traceroute 和 ping 的功能結(jié)合到了一個網(wǎng)絡(luò)診斷工具上。當(dāng)使用該工具時,它會限制單個數(shù)據(jù)包的跳數(shù),然后監(jiān)視它們的到期時到達(dá)的位置。然后每秒進(jìn)行重復(fù)。
28.Tcpdump

Tcpdump 將按照你在命令行中指定的表達(dá)式輸出匹配捕獲到的數(shù)據(jù)包的信息。你還可以將此數(shù)據(jù)保存并進(jìn)一步分析。
29.Justniffer

Justniffer 是 tcp 數(shù)據(jù)包嗅探器。使用此嗅探器你可以選擇收集低級別的數(shù)據(jù)還是高級別的數(shù)據(jù)。它也可以讓你以自定義方式生成日志。比如模仿 Apache 的訪問日志。