linux操作系統(tǒng)監(jiān)控工具
監(jiān)控你的WEB服務(wù)器或者WEB主機運行是否正常與健康是非常重要的。你要確保用戶始終可以打開你的網(wǎng)站并且網(wǎng)速不慢。服務(wù)器監(jiān)控工具允許你收集和分析有關(guān)你的Web服務(wù)器的數(shù)據(jù)。這里學(xué)習(xí)啦小編就與大家談?wù)凩inux操作票撒謊那個面都有一些什么樣的系統(tǒng)監(jiān)控工具。
linux操作系統(tǒng)監(jiān)控工具
一、基于命令行的性能監(jiān)控工具
1.dstat - 多類型資源統(tǒng)計工具
該命令整合了vmstat,iostat和ifstat三種命令。同時增加了新的特性和功能可以讓你能及時看到各種的資源使用情況,從而能夠使你對比和整合不同的資源使用情況。通過不同顏色和區(qū)塊布局的界面幫助你能夠更加清晰容易的獲取信息。它也支持將信息數(shù)據(jù)導(dǎo)出到cvs格式文件中,從而用其他應(yīng)用程序打開,或者導(dǎo)入到數(shù)據(jù)庫中。你可以用該命令來監(jiān)控cpu,內(nèi)存和網(wǎng)絡(luò)狀態(tài)隨著時間的變化。
2.atop - 相比top更好的ASCII碼體驗
這個使用ASCII碼顯示方式的命令行工具是一個顯示所有進程活動的性能監(jiān)控工具。它可以展示每日的系統(tǒng)日志以進行長期的進程活動分析,并高亮顯示過載的系統(tǒng)使用資源。它包含了CPU,內(nèi)存,交換空間,磁盤和網(wǎng)絡(luò)層的度量指標。所有這些功能只需在終端運行atop即可。
# atop
當然你也可以使用交互界面來顯示數(shù)據(jù)并進行排序。
3.Nmon - 類Unix系統(tǒng)的性能監(jiān)控
Nmon是Nigel's Monitor縮寫,它最早開發(fā)用來作為AIX的系統(tǒng)監(jiān)控工具。如果使用在線模式,可以使用光標鍵在屏幕上操作實時顯示在終端上的監(jiān)控信息。使用捕捉模式能夠?qū)?shù)據(jù)保存為CSV格式,方便進一步的處理和圖形化展示。
更多的信息參考我們的nmon性能監(jiān)控文章。
4.slabtop - 顯示內(nèi)核slab緩存信息
這個應(yīng)用能夠顯示緩存分配器是如何管理Linux內(nèi)核中緩存的不同類型的對象。這個命令類似于top命令,區(qū)別是它的重點是實時顯示內(nèi)核slab緩存信息。它能夠顯示按照不同排序條件來排序顯示緩存列表。它同時也能夠顯示一個slab層信息的統(tǒng)計信息的題頭。舉例如下:
# slabtop --sort=a# slabtop -s b# slabtop -s c# slabtop -s l# slabtop -s v# slabtop -s n# slabtop -s o
更多信息參閱內(nèi)核slab緩存文章。
5.sar - 性能監(jiān)控和瓶頸檢查
sar 命令可以將操作系統(tǒng)上所選的累積活動計數(shù)器內(nèi)容信息輸出到標準輸出上。其基于計數(shù)值和時間間隔參數(shù)的審計系統(tǒng),會按照指定的時間間隔輸出指定次數(shù)的監(jiān)控信息。如果時間間隔參數(shù)為設(shè)置為0,那么sar命令將會顯示系統(tǒng)從開機到當時時刻的平均統(tǒng)計信息。有用的命令如下:
# sar -u 2 3# sar -u -f /var/log/sa/sa05# sar -P ALL 1 1# sar -r 1 3# sar -W 1 3
6.Saidar - 簡單的統(tǒng)計監(jiān)控工具
Saidar是一個簡單且輕量的系統(tǒng)信息監(jiān)控工具。雖然它無法提供大多性能報表,但是它能夠通過一個簡單明了的方式顯示最有用的系統(tǒng)運行狀況數(shù)據(jù)。你可以很容易地看到運行時間、平均負載、CPU、內(nèi)存、進程、磁盤和網(wǎng)絡(luò)接口統(tǒng)計信息。
Usage: saidar [-d delay] [-c] [-v] [-h] -d 設(shè)置更新時間(秒)-c 彩色顯示-v 顯示版本號-h 顯示本幫助
7.top - 經(jīng)典的Linux任務(wù)管理工具
作為一個廣為人知的Linux工具,top是大多數(shù)的類Unix操作系統(tǒng)任務(wù)管理器。它可以顯示當前正在運行的進程的列表,用戶可以按照不同的條件對該列表進行排序。它主要顯示了系統(tǒng)進程對CPU和內(nèi)存的使用狀況。top可以快速檢查是哪個或哪幾個進程掛起了你的系統(tǒng)。你可以在這里看到top使用的例子。 你可以在終端輸入top來運行它并進入到交互模式:
交互模式的一些快捷操作: 全局命令: <回車/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z 統(tǒng)計區(qū)的命令: l, m, t, 1 任務(wù)區(qū)的命令: 外觀: b, x, y, z 內(nèi)容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R 色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 窗口命令: -, _, =, +, A, a, G, g, w
8.Sysdig - 系統(tǒng)進程的高級視圖
Sysdig是一個能夠讓系統(tǒng)管理員和開發(fā)人員以前所未有方式洞察其系統(tǒng)行為的監(jiān)控工具。其開發(fā)團隊希望改善系統(tǒng)級的監(jiān)控方式,通過提供關(guān)于存儲,進程,網(wǎng)絡(luò)和內(nèi)存子系統(tǒng)的統(tǒng)一有序以及粒度可見的方式來進行錯誤排查,并可以創(chuàng)建系統(tǒng)活動記錄文件以便你可以在任何時間輕松分析。
簡單例子:
# sysdig proc.name=vim# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"# sysdig evt.type=chdir and user.name=root# sysdig -l# sysdig -L# sysdig -c topprocs_net# sysdig -c fdcount_by fd.sport "evt.type=accept"# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"# sysdig -c topprocs_file# sysdig -c fdcount_by proc.name "fd.type=file"# sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open# sysdig -c topprocs_cpu# sysdig -c topprocs_cpu evt.cpu=0# sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"# sysdig evt.type=open and fd.name contains /etc
更多信息 可以在 如何利用sysdig改善系統(tǒng)層次的監(jiān)控和錯誤排查。
9.netstat - 顯示開放的端口和連接
它是Linux管理員使用來顯示各種網(wǎng)絡(luò)信息的工具,如查看什么端口開放和什么網(wǎng)絡(luò)連接已經(jīng)建立以及何種進程運行在該連接之上。同時它也顯示了不同程序間打開的Unix套接字的信息。作為大多數(shù)Linux發(fā)行版本的一部分,netstat的許多命令在 netstat和它的不同輸出中有詳細的描述。最為常用的如下:
$ netstat | head -20$ netstat -r$ netstat -rC$ netstat -i$ netstat -ie$ netstat -s$ netstat -g$ netstat -tapn
10.tcpdump - 洞察網(wǎng)絡(luò)封包
tcpdump可以用來查看網(wǎng)絡(luò)連接的封包內(nèi)容。它顯示了傳輸過程中封包內(nèi)容的各種信息。為了使得輸出信息更為有用,它允許使用者通過不同的過濾器獲取自己想要的信息??梢詤⒄盏睦尤缦拢?/p>
# tcpdump -i eth0 not port 22# tcpdump -c 10 -i eth0# tcpdump -ni eth0 -c 10 not port 22# tcpdump -w aloft.cap -s 0# tcpdump -r aloft.cap# tcpdump -i eth0 dst port 80
你可以文章“在topdump和捕捉包”中找到詳細描述。
11.vmstat - 虛擬內(nèi)存統(tǒng)計信息
vmstat是虛擬內(nèi)存(virtual memory statistics)的縮寫,作為一個內(nèi)存監(jiān)控工具,它收集和顯示關(guān)于內(nèi)存,進程,終端和分頁和I/O阻塞的概括信息。作為一個開源程序,它可以在大部分Linux發(fā)行版本中找到,包括Solaris和FreeBSD。它用來診斷大部分的內(nèi)存性能問題和其他相關(guān)問題。
M更多信息 參考 vmstat命令文章。
12.free - 內(nèi)存統(tǒng)計信息
free是另一個能夠在終端中顯示內(nèi)存和交換空間使用的命令行工具。由于它的簡易,它經(jīng)常用于快速查看內(nèi)存使用或者是應(yīng)用于不同的腳本和應(yīng)用程序中。在這里你可以看到這個小程序的許多應(yīng)用。幾乎所有的系統(tǒng)管理員日常都會用這個工具。:-)
13.Htop - 更加友好的top
Htop基本上是一個top改善版本,它能夠以更加多彩的方式顯示更多的統(tǒng)計信息,同時允許你采用不同的方式進行排序,它提供了一個用戶友好的接口。
你可以在文章“關(guān)于htop和top的比較”中找到更多的信息 。
14.ss - 網(wǎng)絡(luò)管理的現(xiàn)代替代品
ss是iproute2包的一部分。iproute2是用來替代一整套標準的Unix網(wǎng)絡(luò)工具組件,它曾經(jīng)用來完成網(wǎng)絡(luò)接口配置,路由表和管理ARP表任務(wù)。ss工具用來記錄套接字統(tǒng)計信息,它可以顯示類似netstat一樣的信息,同時也能顯示更多TCP和狀態(tài)信息。一些例子如下:
# ss -tnap# ss -tnap6# ss -tnap# ss -s# ss -tn -o state established -p
15.lsof - 列表顯示打開的文件
lsof命令,意為“list open files”, 用于在許多類Unix系統(tǒng)中顯示所有打開的文件及打開它們的進程。在大部分Linux發(fā)行版和其他類Linux操作系統(tǒng)中系統(tǒng)管理員用它來檢查不同的進程打開了哪些文件。
# lsof +p process_id# lsof | less# lsof –u username# lsof /etc/passwd# lsof –i TCP:ftp# lsof –i TCP:80
你可以找到 更多例子 在lsof 文章
16.iftop - 類似top的了網(wǎng)絡(luò)連接工具
iftop是另一個基于網(wǎng)絡(luò)信息的類似top的程序。它能夠顯示當前時刻按照帶寬使用量或者上傳或者下載量排序的網(wǎng)絡(luò)連接狀況。它同時提供了下載文件的預(yù)估完成時間。
更多信息可以參考網(wǎng)絡(luò)流量iftop文章。
17.iperf - 網(wǎng)絡(luò)性能工具
iperf是一個網(wǎng)絡(luò)測試工具,能夠創(chuàng)建TCP和UDP數(shù)據(jù)連接并在網(wǎng)絡(luò)上測量它們的傳輸性能。它支持調(diào)節(jié)關(guān)于時間,協(xié)議和緩沖等不同的參數(shù)。對于每一個測試,它會報告帶寬,丟包和其他的一些參數(shù)。
如果你想用使用這個工具,可以參考這篇文章: 如何安裝和使用iperf
18.Smem - 高級內(nèi)存報表工具
Smem是最先進的Linux命令行工具之一,它提供關(guān)于系統(tǒng)中已經(jīng)使用的和共享的實際內(nèi)存大小,試圖提供一個更為可靠的當前內(nèi)存使用數(shù)據(jù)。
$ smem -m$ smem -m -p | grep firefox$ smem -u -p$ smem -w -p
參考我們的文章:Smem更多的例子
二、圖形化或基于Web的性能工具
19.Icinga - Nagios的社區(qū)分支版本
Icinga是一個開源免費的網(wǎng)絡(luò)監(jiān)控程序,作為Nagios的分支,它繼承了前者現(xiàn)有的大部分功能,同時基于這些功能又增加了社區(qū)用戶要求已久的功能和補丁。
更多信息請參考安裝和配置lcinga文章。
20.Nagios - 最為流行的監(jiān)控工具
作為在Linux上使用最為廣泛和最為流行的監(jiān)控方案,它有一個守護程序用來收集不同進程和遠程主機的信息,這些收集到的信息都通過功能強大的web界面進行呈現(xiàn)。
你可以在文章“如何安裝nagios”里面找到更多的信息
21.Linux process explorer - Linux下的procexp
Linux process explorer是一個Linux下的圖形化進程瀏覽工具。它能夠顯示不同的進程信息,如進程數(shù),TCP/IP連接和每一個進程的性能指標。作為Windows下procexp在Linux的替代品,是由Sysinternals開發(fā)的,其目標是比top和ps提供更好用戶體驗。
查看 linux process explorer 文章獲取更多信息。
22.Collectl - 性能監(jiān)控工具
你可以既可以通過交互的方式使用這個性能監(jiān)控工具,也可以用它把報表寫到磁盤上,并通過web服務(wù)器來訪問。它以一種易讀易管理的格式,顯示了CPU,磁盤,內(nèi)存,網(wǎng)絡(luò),網(wǎng)絡(luò)文件系統(tǒng),進程,slabs等統(tǒng)計信息。
更多 關(guān)于Collectl的文章。
23.MRTG - 經(jīng)典網(wǎng)絡(luò)流量監(jiān)控圖形工具
這是一個采用rrdtool的生成圖形的流量監(jiān)控工具。作為最早的提供圖形化界面的流量監(jiān)控工具,它被廣泛應(yīng)用在類Unix的操作系統(tǒng)中。查看我們關(guān)于如何使用MRTG的文章獲取更多關(guān)于安裝和配置的信息。
24.Monit - 簡單易用的監(jiān)控工具
Monit是一個用來監(jiān)控進程,系統(tǒng)加載,文件系統(tǒng)和目錄文件等的開源的Linux工具。你能夠讓它自動化維護和修復(fù),也能夠在運行錯誤的情景下執(zhí)行特定動作或者發(fā)郵件報告提醒系統(tǒng)管理員。如果你想要用這個工具,你可以查看如何使用Monit的文章。
25.Munin - 為服務(wù)器提供監(jiān)控和提醒服務(wù)
作為一個網(wǎng)絡(luò)資源監(jiān)控工具,Munin能夠幫助分析資源趨勢和查看薄弱環(huán)節(jié)以及導(dǎo)致產(chǎn)生性能問題的原因。開發(fā)此軟件的團隊希望它能夠易用和用戶體驗友好。該軟件是用Perl開發(fā)的,并采用rrdtool來繪制圖形,使用了web界面進行呈現(xiàn)。開發(fā)人員推廣此應(yīng)用時聲稱當前已有500多個監(jiān)控插件可以“即插即用*”。
看過“ linux操作系統(tǒng)監(jiān)控工具 ”的人還看了:
1.Linux系統(tǒng)監(jiān)控要用到哪些命令
2.在Linux系統(tǒng)中使用iptraf進行網(wǎng)絡(luò)監(jiān)控的方法