歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux操作系統監控工具

  監控你的WEB服務器或者WEB主機運行是否正常與健康是非常重要的。你要確保用戶始終可以打開你的網站並且網速不慢。服務器監控工具允許你收集和分析有關你的Web服務器的數據。這裡學習啦小編就與大家談談Linux操作票撒謊那個面都有一些什麼樣的系統監控工具。

  linux操作系統監控工具

  一、基於命令行的性能監控工具

  1.dstat - 多類型資源統計工具

  該命令整合了vmstat,iostat和ifstat三種命令。同時增加了新的特性和功能可以讓你能及時看到各種的資源使用情況,從而能夠使你對比和整合不同的資源使用情況。通過不同顏色和區塊布局的界面幫助你能夠更加清晰容易的獲取信息。它也支持將信息數據導出到cvs格式文件中,從而用其他應用程序打開,或者導入到數據庫中。你可以用該命令來監控cpu內存和網絡狀態隨著時間的變化。

  2.atop - 相比top更好的ASCII碼體驗

  這個使用ASCII碼顯示方式的命令行工具是一個顯示所有進程活動的性能監控工具。它可以展示每日的系統日志以進行長期的進程活動分析,並高亮顯示過載的系統使用資源。它包含了CPU,內存,交換空間,磁盤和網絡層的度量指標。所有這些功能只需在終端運行atop即可。

  # atop

  當然你也可以使用交互界面來顯示數據並進行排序。

  3.Nmon - 類Unix系統的性能監控

  Nmon是Nigel's Monitor縮寫,它最早開發用來作為AIX的系統監控工具。如果使用在線模式,可以使用光標鍵在屏幕上操作實時顯示在終端上的監控信息。使用捕捉模式能夠將數據保存為CSV格式,方便進一步的處理和圖形化展示。

  更多的信息參考我們的nmon性能監控文章。

  4.slabtop - 顯示內核slab緩存信息

  這個應用能夠顯示緩存分配器是如何管理Linux內核中緩存的不同類型的對象。這個命令類似於top命令,區別是它的重點是實時顯示內核slab緩存信息。它能夠顯示按照不同排序條件來排序顯示緩存列表。它同時也能夠顯示一個slab層信息的統計信息的題頭。舉例如下:

  # slabtop --sort=a# slabtop -s b# slabtop -s c# slabtop -s l# slabtop -s v# slabtop -s n# slabtop -s o

  更多信息參閱內核slab緩存文章。

  5.sar - 性能監控和瓶頸檢查

  sar 命令可以將操作系統上所選的累積活動計數器內容信息輸出到標准輸出上。其基於計數值和時間間隔參數的審計系統,會按照指定的時間間隔輸出指定次數的監控信息。如果時間間隔參數為設置為0,那麼sar命令將會顯示系統從開機到當時時刻的平均統計信息。有用的命令如下:

  # 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 - 簡單的統計監控工具

  Saidar是一個簡單且輕量的系統信息監控工具。雖然它無法提供大多性能報表,但是它能夠通過一個簡單明了的方式顯示最有用的系統運行狀況數據。你可以很容易地看到運行時間、平均負載、CPU、內存、進程、磁盤和網絡接口統計信息。

  Usage: saidar [-d delay] [-c] [-v] [-h] -d 設置更新時間(秒)-c 彩色顯示-v 顯示版本號-h 顯示本幫助

  7.top - 經典的Linux任務管理工具

  作為一個廣為人知的Linux工具,top是大多數的類Unix操作系統任務管理器。它可以顯示當前正在運行的進程的列表,用戶可以按照不同的條件對該列表進行排序。它主要顯示了系統進程對CPU和內存的使用狀況。top可以快速檢查是哪個或哪幾個進程掛起了你的系統。你可以在這裡看到top使用的例子。 你可以在終端輸入top來運行它並進入到交互模式:

  交互模式的一些快捷操作: 全局命令: <回車/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z 統計區的命令: l, m, t, 1 任務區的命令: 外觀: b, x, y, z 內容: 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 - 系統進程的高級視圖

  Sysdig是一個能夠讓系統管理員和開發人員以前所未有方式洞察其系統行為的監控工具。其開發團隊希望改善系統級的監控方式,通過提供關於存儲,進程,網絡和內存子系統的統一有序以及粒度可見的方式來進行錯誤排查,並可以創建系統活動記錄文件以便你可以在任何時間輕松分析。

  簡單例子:

  # 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改善系統層次的監控和錯誤排查。

  9.netstat - 顯示開放的端口和連接

  它是Linux管理員使用來顯示各種網絡信息的工具,如查看什麼端口開放和什麼網絡連接已經建立以及何種進程運行在該連接之上。同時它也顯示了不同程序間打開的Unix套接字的信息。作為大多數Linux發行版本的一部分,netstat的許多命令在 netstat和它的不同輸出中有詳細的描述。最為常用的如下:

  $ netstat | head -20$ netstat -r$ netstat -rC$ netstat -i$ netstat -ie$ netstat -s$ netstat -g$ netstat -tapn

  10.tcpdump - 洞察網絡封包

  tcpdump可以用來查看網絡連接的封包內容。它顯示了傳輸過程中封包內容的各種信息。為了使得輸出信息更為有用,它允許使用者通過不同的過濾器獲取自己想要的信息。可以參照的例子如下:

  # 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 - 虛擬內存統計信息

  vmstat是虛擬內存(virtual memory statistics)的縮寫,作為一個內存監控工具,它收集和顯示關於內存,進程,終端和分頁和I/O阻塞的概括信息。作為一個開源程序,它可以在大部分Linux發行版本中找到,包括Solaris和FreeBSD。它用來診斷大部分的內存性能問題和其他相關問題。

  M更多信息 參考 vmstat命令文章。

  12.free - 內存統計信息

  free是另一個能夠在終端中顯示內存和交換空間使用的命令行工具。由於它的簡易,它經常用於快速查看內存使用或者是應用於不同的腳本和應用程序中。在這裡你可以看到這個小程序的許多應用。幾乎所有的系統管理員日常都會用這個工具。:-)

  13.Htop - 更加友好的top

  Htop基本上是一個top改善版本,它能夠以更加多彩的方式顯示更多的統計信息,同時允許你采用不同的方式進行排序,它提供了一個用戶友好的接口。

  你可以在文章“關於htop和top的比較”中找到更多的信息 。

  14.ss - 網絡管理的現代替代品

  ss是iproute2包的一部分。iproute2是用來替代一整套標准的Unix網絡工具組件,它曾經用來完成網絡接口配置,路由表和管理ARP表任務。ss工具用來記錄套接字統計信息,它可以顯示類似netstat一樣的信息,同時也能顯示更多TCP和狀態信息。一些例子如下:

  # ss -tnap# ss -tnap6# ss -tnap# ss -s# ss -tn -o state established -p

  15.lsof - 列表顯示打開的文件

  lsof命令,意為“list open files”, 用於在許多類Unix系統中顯示所有打開的文件及打開它們的進程。在大部分Linux發行版和其他類Linux操作系統中系統管理員用它來檢查不同的進程打開了哪些文件。

  # lsof +p process_id# lsof | less# lsof –u username# lsof /etc/passwd# lsof –i TCP:ftp# lsof –i TCP:80

  你可以找到 更多例子 在lsof 文章

  16.iftop - 類似top的了網絡連接工具

  iftop是另一個基於網絡信息的類似top的程序。它能夠顯示當前時刻按照帶寬使用量或者上傳或者下載量排序的網絡連接狀況。它同時提供了下載文件的預估完成時間。

  更多信息可以參考網絡流量iftop文章。

  17.iperf - 網絡性能工具

  iperf是一個網絡測試工具,能夠創建TCP和UDP數據連接並在網絡上測量它們的傳輸性能。它支持調節關於時間,協議和緩沖等不同的參數。對於每一個測試,它會報告帶寬,丟包和其他的一些參數。

  如果你想用使用這個工具,可以參考這篇文章: 如何安裝和使用iperf

  18.Smem - 高級內存報表工具

  Smem是最先進的Linux命令行工具之一,它提供關於系統中已經使用的和共享的實際內存大小,試圖提供一個更為可靠的當前內存使用數據。

  $ smem -m$ smem -m -p | grep firefox$ smem -u -p$ smem -w -p

  參考我們的文章:Smem更多的例子

  二、圖形化或基於Web的性能工具

  19.Icinga - Nagios的社區分支版本

  Icinga是一個開源免費的網絡監控程序,作為Nagios的分支,它繼承了前者現有的大部分功能,同時基於這些功能又增加了社區用戶要求已久的功能和補丁。

  更多信息請參考安裝和配置lcinga文章。

  20.Nagios - 最為流行的監控工具

  作為在Linux上使用最為廣泛和最為流行的監控方案,它有一個守護程序用來收集不同進程和遠程主機的信息,這些收集到的信息都通過功能強大的web界面進行呈現。

  你可以在文章“如何安裝nagios”裡面找到更多的信息

  21.Linux process explorer - Linux下的procexp

  Linux process explorer是一個Linux下的圖形化進程浏覽工具。它能夠顯示不同的進程信息,如進程數,TCP/IP連接和每一個進程的性能指標。作為Windows下procexp在Linux的替代品,是由Sysinternals開發的,其目標是比top和ps提供更好用戶體驗。

  查看 linux process explorer 文章獲取更多信息。

  22.Collectl - 性能監控工具

  你可以既可以通過交互的方式使用這個性能監控工具,也可以用它把報表寫到磁盤上,並通過web服務器來訪問。它以一種易讀易管理的格式,顯示了CPU,磁盤,內存,網絡,網絡文件系統,進程,slabs等統計信息。

  更多 關於Collectl的文章。

  23.MRTG - 經典網絡流量監控圖形工具

  這是一個采用rrdtool的生成圖形的流量監控工具。作為最早的提供圖形化界面的流量監控工具,它被廣泛應用在類Unix的操作系統中。查看我們關於如何使用MRTG的文章獲取更多關於安裝和配置的信息。

  24.Monit - 簡單易用的監控工具

  Monit是一個用來監控進程,系統加載,文件系統和目錄文件等的開源的Linux工具。你能夠讓它自動化維護和修復,也能夠在運行錯誤的情景下執行特定動作或者發郵件報告提醒系統管理員。如果你想要用這個工具,你可以查看如何使用Monit的文章。

  25.Munin - 為服務器提供監控和提醒服務

  作為一個網絡資源監控工具,Munin能夠幫助分析資源趨勢和查看薄弱環節以及導致產生性能問題的原因。開發此軟件的團隊希望它能夠易用和用戶體驗友好。該軟件是用Perl開發的,並采用rrdtool來繪制圖形,使用了web界面進行呈現。開發人員推廣此應用時聲稱當前已有500多個監控插件可以“即插即用*”。

  看過“ linux操作系統監控工具 ”的人還看了:

Copyright © Linux教程網 All Rights Reserved