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