linux監測
⑴ linux系統監控軟體都有哪些
有一款imonitor EAM,可以支持Linux,Windows,Mac OS等系統,還包括虛擬機系統和網路架構,無論是多網段還是異地監控都可以輕松實現,支持批量部署,適合大型企業使用,且監控數據都儲存在本地伺服器電腦上,不會造成數據泄露,保證您的隱私安全,還可以對本地文件進行加密處理,如果文件未經允許外發都會以密文形式進行發送,但是並不會影響文件在本地及公司內部流轉的使用,還可以禁止用戶看電影,購物,打游戲以及炒股等,提高工作效率。
⑵ Linux的系統性能如何檢測
網路使用中,我們需要簡單的監測一下Linux系統的:CPU負載、內存消耗情況、幾個指定目錄的磁碟空間、磁碟I/O、swap的情況還有就是網路流量。 今天上海快網介紹Linux的系統性能監測參數獲取方法。
Linux下的性能檢測工具其實都有很多。
mrtg就是一個很不錯的選擇。不過用mrtg就要裝sysstat、apache、snmp、perl之類的東西。而且安裝也要好幾個步驟,似乎比較麻煩。本來也想直接調用sar、vmstat之類的命令,parse一下結果就算了。哪知道發現不同的版本的linux這些命令的結果也都是不一樣。既然要按版本 parse它們的結果,那還不如直接去系統裡面獲得算了。於是研究了一下sysstat和gkrellm的源代碼,找到監測性能的數據所在。
1、CPU
在文件"/proc/stat"裡面就包含了CPU的信息。每一個CPU的每一tick用在什麼地方都在這個文件裡面記著。後面的數字含義分別是: user、nice、sys、idle、iowait。有些版本的kernel沒有iowait這一項。這些數值表示從開機到現在,CPU的每tick用在了哪裡。
就是cpu0從開機到現在有 256279030 tick用在了user消耗,11832528用在了sys消耗。所以如果想計算單位時間(例如1s)裡面CPU的負載,那隻需要計算1秒前後數值的差除以每一秒的tick數量就可以了。
2、內存消耗
文件"/proc/meminfo"裡麵包含的就是內存的信息,還包括了swap的信息。
3、磁碟空間
從gkrellm的源代碼看,這個是一個很復雜的數據。
4、磁碟I/O
磁碟I/O的數據也同樣比較復雜,有些版本看/proc/diskstats,有些版本看/proc/partitions,還有些版本至今我也不知道在那裡看……不過可以看到數據的版本也像CPU那樣,需要隔一段時間取值,兩次取值的差就是流量。
5、網路流量
網路流量也是五花八門,不過基本上都可以在/proc/net/dev裡面獲得。同樣也是需要兩次取值取其差作為流量值。
⑶ Linux性能監控工具、調優工具
除了保證程序的正確性以外,在項目開發中往往還關心性能和穩定性。我們往往要對內核、應用程序或整個系統進行性能優化。在性能優化中常用的手段如下:
使用top、vmstat、iostat、sysctl等常用工具
top命令用於顯示處理器的活動狀況。在預設情況下,顯示佔用CPU最多的任務,並且每隔5s做一次刷新;vmstat命令用於報告關於內核線程、虛擬內存、磁碟、陷阱和CPU活動的統計信息;iostat命令用於分析各個磁碟的傳輸閑忙狀況;netstat是用來檢測網路信息的工具; sar用於收集、報告或者保存系統活動信息,其中,sar用於顯示數據,sar1和sar2用於收集和保存數據
sysctl是一個可用於改變正在運行中的Linux系統的介面。用sysctl 可以讀取幾白個以上的系統變數,如用sysctl—a可讀取所有變數。
sysctl的實現原理是:所有的內核參數在/proc/sys中形成一個樹狀結構,sysctl系統調用的內核函數是sys_sysctl,匹配項目後,最後的讀寫在do_sysctl_strategy中完成。
2.使用高級分析手段,如OProfile、gprof
OProfile可以幫助用戶識別諸如模塊的佔用時間、循環的展開、高速緩存的使用率低、低效的類型轉換和冗餘操作、錯誤預測轉移等問題。它收集有關處理器事件的信息,其中包括TLB的故障、停機、存儲器訪問以及緩存命中和未命中的指令的攫取數量。OProfile支持兩種采樣方式:基於事件的采樣(Event Based)和基於時間的采樣(Time Based)。基於事件的采樣是OProfile只記錄特定事件(比如L2緩存未命中)的發生次數,當達到用戶設定的定值時Oprofile就記錄一下(采一個樣)。這種方式需要CPU內部有性能計數器(Performace Counter))。基於時間的采樣是OProfile藉助OS時鍾中斷的機制,在每個時鍾中斷,OProfile都會記錄一次(采一次樣)。引入它的目的在於,提供對沒有性能計數器的CPU的支持,其精度相對於基於事件的采樣要低,因為要藉助OS時鍾中斷的支持,對於禁用中斷的代碼,OProfile不能對其進行分析。
⑷ 如何監控linux伺服器
一般監控伺服器,你可以
首先:你可以用iostat命令,顯示存儲子系統的詳細信息,可以用來監控磁碟I/O的情況,如果%iowait的值過大,那麼就是就說明很多IO在等待了,性能當然就有影響了,當然,用free也可以查看大概的情況,如下:
其次;就是windows下面都有的工具,wireshark,前身是ethereal,是一個網路協議檢測程序,可以抓去網站運行的相關咨詢,包括每一封包流向及其內容,監控TCP session動態等等。
當然有些服務商是有自己的伺服器監控系統,監控軟體的,我用的是小鳥雲的!他們有專門的與"雲監控」雲管家等監控軟體!我是覺得很好!這樣就免得麻煩!
⑸ linux監測系統動態的進程狀態使用什麼命令
摘要 您好,top:動態查看進程的變化。
⑹ 如何在Linux系統上監測系統溫度
在Linux 桌面系統中安裝 psensor。 在啟動 psensor之前,需要先配置lm_sensors和hddtemp。 lm_sensors 配置。 運行以下命令,配置lm_sensors,每一項都選擇YES。 $ sudo sensors-detect 這個命令將會探查和檢測硬體中嵌入的感測器(包括CPUs、儲存控制器、I/O晶元),然後自動決定系統中哪個驅動模塊需要載入並監測其溫度。 一旦感測器檢測完成,需要把檢測到的驅動模塊添加到/etc配置中,這樣才可以在開機時自動載入。 接下來,繼續載入必要的模塊,如下: Ubuntu: $ sudo service mole-init-tools start Debian: $ sudo /etc/init.d/kmod start Fedora $ sudo service lm_sensors start hddtemp 配置 還需要啟動hddtemp,監控硬碟驅動器的溫度。 運行下列命令,作為一個守護進程啟動hddtemp。記得把「/dev/sda」替換成系統上的硬碟驅動器。 $ sudo hddtemp -d /dev/sda 用 psensor 監控系統溫度 要啟動psensor監測溫度,只需簡單運行: $ psensor psensor窗口將顯示一個可用的感測器列表,並將感測器中讀出的溫度可視化顯示出來。可以選擇性地啟用或禁用任意一個感測器。 另外,可以為每個感測器設置警報級別,這樣當感測器溫度超過某一閾值時,就能得到通知了。 psensor默認使用的溫度單位是「攝氏度」,最新的版本(0.7-0.8)支持在攝氏與華氏之間轉換溫度單位,如果用的版本比較舊(例如 0.6.x)並且不支持溫度單位轉換,Ubuntu用戶可以通過PPA倉庫來安裝最新版的psensor,Debian用戶則可以通過源代碼來安裝。
⑺ linux下有沒有比較好的網路監控軟體
OpManager的linux network monitor主動監控linux伺服器和機器的運行狀況、性能和可用性。您可以使用OpManager預定義的Linux監控設備模板,並通過選項監控Linux設備的特定參數,從而深入到基本內容。OpManager的linux網路監控功能還可以跟蹤cpu利用率和資源,以幫助進行網路容量規劃。https://www.manageengine.cn/network-monitoring/linux-network-monitoring.html
⑻ 如何監控linux伺服器上的數據
linux伺服器性能監測是很重要的工作,伺服器運行應該提供最有效的系統性能。當伺服器系統性能突然低於平均應有的情況,問題可能來自在執行的進程、內存的使用率、磁碟的性能、網路流量和cpu
的壓力。在預算短缺的今天,理解如何優化系統性能比以往任何時候都重要。
要實現它的前提是,你必須充分了解自己的計算機和網路,從而找到真正的瓶頸所在。本文提供一些基礎的工具來辨別和處理一些性能問題。使用的linux
發行版本是red
hat
enterprise
linux
4,工作過程是:首先查看整個系統的狀態,然後是檢查特定的子系統。
linux伺服器進行性能監控有幾種方法,每種方法都各有其優缺點。
使用snmp等標准工具
標准及非標准工具能執行一個或多個收集、合並及傳輸階段,如rstatd或snmp工具,然而標準的rstat後台程序提供的信息是有限的,速度慢而且效率低。
內核模塊
幾個系統監控工程利用內核模塊來存取監控數據。一般情況下,這是很有效的收集系統數據的方法。然而這種方法存在的問題是,當主內核源內有其它改變時,必須保持代碼一致性。一個內核模塊可能與用戶想使用的其它內核模塊相沖突。此外,在使用監控系統之前,用戶必須獲得或申請模塊。
/proc虛擬文件系統
/proc虛擬文件系統是一個較快的、高效率執行系統監控的方法。使用/proc的主要缺點是必須保持代碼分析與/proc
文件格式改變的同步。事實表明,linux內核的改變比/proc
文件格式的改變要更頻繁,所以,用/proc虛擬文件系統比用內核模塊存在的問題要少。本文介紹的方法即基於/proc虛擬文件系統。
一、
/proc文件系統特點
linux
系統向管理員提供了非常好的方法,使他們可以在系統運行時更改內核,而不需要重新引導內核系統。這是通過
/proc
虛擬文件系統實現的。/proc
文件虛擬系統是一種內核和內核模塊用來向進程
(process)
發送信息的機制
(所以叫做
/proc)。這個偽文件系統讓你可以和內核內部數據結構進行交互,獲取
有關進程的有用信息,在運行中
(on
the
fly)
改變設置
(通過改變內核參數)。
與其他文件系統不同,/proc
存在於內存之中而不是硬碟上。不用重新啟動而去看
cmos
,就可以知道系統信息。這就是
/proc
的妙處之一。
小提示:
每個linux系統根據軟硬體不同/proc
虛擬文件系統的內容也有些差異。/proc
虛擬文件系統有三個很重要的目錄:net,scsi和sys。sys目錄是可寫的,可以通過它來訪問或修改內核的參數,而net和scsi則依賴於內核配置。
⑼ linux伺服器監控的幾個方法和命令
監控會降低性能的。同問filter、simls是什麼?沒用過。
當伺服器系統性能突然低於平均應有的情況,問題可能來自在執行的進程、內存的使用率、磁碟的性能和CPU 的壓力。在預算有限的時代,理解如何優化系統性能比以往任何時候都重要。要實現它的前提是,你必須充分了解自己的伺服器,從而找到真正的瓶頸所在。本文提供一些基礎的工具來辨別和處理一些性能問題。工作過程是:首先查看整個系統的狀態(伺服器整體)後是檢查特定的子系統(內存、處理器、IO等)。
一、系統負載監測
1.使用uptime命令
2.使用cron命令進行定時監測系統負載:
二、Unix進程運行的監測
1.使用ps命令
Unix系統提供了ps等察看進程信息的系統調用,通過結合使用這些系統調用,我們可以清晰地了解進程的運行狀態以及存活情況,從而採取相應的措施,來確保Unix系統的性能。它們是目前在Unix下最常見的進程狀況查看工具,是隨 Unix版本發行的,安裝好系統之後,用戶就可以使用。 這里以ps命令為例,ps命令是最基本同時也是非常強大的進程查看命令。利用它可以確定有哪些進程正在運行及運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等。ps命令可以監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的
2.使用進程監控工具
如果安裝了CDE環境,可以使用圖形界面進程等系統信息,使用方法是單擊「前面板」上「工具」子面板上的「查找進程」控制項。 顯示「進程管理器」主窗口。它立即對工作站進行采樣,並顯示所有當前進程的采樣。
三、內存使用情況監測
內存是Unix內核所管理的最重要的資源之一。內存管理系統是操作系統中最為重要的部分,因為系統的物理內存總是少於系統所需要的內存數量。虛擬內存就是為了克服這個矛盾而採用的策略。系統的虛擬內存通過在各個進程之間共享內存而使系統看起來有多於實際內存的內存容量。Unix支持虛擬內存, 就是使用磁碟作為RAM的擴展,使可用內存相應地有效擴大。核心把當前不用的內存塊存到硬碟,騰出內存給其他目的。當原來的內容又要使用時,再讀回內存。
⑽ 如何監控LINUX網路狀態
下面是按功能劃分的命令名稱。
監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每個進程的帶寬使用――nethogs
1. nload
nload是一個命令行工具,讓用戶可以分開來監控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調整。用起來很簡單,不支持許多選項。
所以,如果你只需要快速查看總帶寬使用情況,無需每個進程的詳細情況,那麼nload用起來很方便。
$ nload
安裝nload:Fedora和Ubuntu在默認軟體庫裡面就有nload。CentOS用戶則需要從Epel軟體庫獲得nload。
# fedora或centos $ yum install nload -y # ubuntu/debian $ sudo apt-get install nload
2. iftop
iftop可測量通過每一個套接字連接傳輸的數據;它採用的工作方式有別於nload。iftop使用pcap庫來捕獲進出網路適配器的數據包,然後匯總數據包大小和數量,搞清楚總的帶寬使用情況。
雖然iftop報告每個連接所使用的帶寬,但它無法報告參與某個套按字連接的進程名稱/編號(ID)。不過由於基於pcap庫,iftop能夠過濾流量,並報告由過濾器指定的所選定主機連接的帶寬使用情況。
$ sudo iftop -n
n選項可以防止iftop將IP地址解析成主機名,解析本身就會帶來額外的網路流量。
安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認軟體庫獲得它。CentOS用戶可以從Epel獲得它。
# fedora或centos yum install iftop -y # ubuntu或 debian $ sudo apt-get install iftop
3. iptraf
iptraf是一款互動式、色彩鮮艷的IP區域網監控工具。它可以顯示每個連接以及主機之間傳輸的數據量。下面是屏幕截圖。
$ sudo iptraf
安裝iptraf:
# Centos(基本軟體庫) $ yum install iptraf # fedora或centos(帶epel) $ yum install iptraf-ng -y # ubuntu或debian $ sudo apt-get install iptraf iptraf-ng
4. nethogs
nethogs是一款小巧的"net top"工具,可以顯示每個進程所使用的帶寬,並對列表排序,將耗用帶寬最多的進程排在最上面。萬一出現帶寬使用突然激增的情況,用戶迅速打開nethogs,就可以找到導致帶寬使用激增的進程。nethogs可以報告程序的進程編號(PID)、用戶和路徑。
$ sudo nethogs
安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認軟體庫獲得。CentOS用戶則需要Epel。
# ubuntu或debian(默認軟體庫) $ sudo apt-get install nethogs # fedora或centos(來自epel) $ sudo yum install nethogs -y
5. bmon
bmon(帶寬監控器)是一款類似nload的工具,它可以顯示系統上所有網路介面的流量負載。輸出結果還含有圖表和剖面,附有數據包層面的詳細信息。
安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認軟體庫來安裝。CentOS用戶則需要安裝repoforge,因為Epel裡面沒有bmon。
# ubuntu或debian $ sudo apt-get install bmon # fedora或centos(來自repoforge) $ sudo yum install bmon
bmon支持許多選項,能夠製作HTML格式的報告。欲知更多信息,請參閱參考手冊頁。
6. slurm
slurm是另一款網路負載監控器,可以顯示設備的統計信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡單,無法顯示關於網路負載的任何更進一步的詳細信息。
$ slurm -s -i eth0
安裝slurm
# debian或ubuntu $ sudo apt-get install slurm # fedora或centos $ sudo yum install slurm -y
7. tcptrack
tcptrack類似iftop,使用pcap庫來捕獲數據包,並計算各種統計信息,比如每個連接所使用的帶寬。它還支持標準的pcap過濾器,這些過濾器可用來監控特定的連接。
安裝tcptrack:Ubuntu、Debian和Fedora在默認軟體庫裡面就有它。CentOS用戶則需要從RepoForge獲得它,因為Epel裡面沒有它。
# ubuntu, debian $ sudo apt-get install tcptrack # fedora, centos(來自repoforge軟體庫) $ sudo yum install tcptrack
8. vnstat
vnstat與另外大多數工具有點不一樣。它實際上運行後台服務/守護進程,始終不停地記錄所傳輸數據的大小。之外,它可以用來製作顯示網路使用歷史情況的報告。
$ service vnstat status * vnStat daemon is running
運行沒有任何選項的vnstat,只會顯示自守護進程運行以來所傳輸的數據總量。
$ vnstat Database updated: Mon Mar 17 15:26:59 2014 eth0 since 06/12/13 rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s ------------------------+-------------+-------------+------------- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s ------------------------+-------------+-------------+------------- estimated 199 MiB | 63 MiB | 262 MiB |
想實時監控帶寬使用情況,請使用"-l"選項(實時模式)。然後,它會顯示入站數據和出站數據所使用的總帶寬量,但非常精確地顯示,沒有關於主機連接或進程的任何內部詳細信息。
$ vnstat -l -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
vnstat更像是一款製作歷史報告的工具,顯示每天或過去一個月使用了多少帶寬。它並不是嚴格意義上的實時監控網路的工具。
vnstat支持許多選項,支持哪些選項方面的詳細信息請參閱參考手冊頁。
安裝vnstat
# ubuntu或debian $ sudo apt-get install vnstat # fedora或 centos(來自epel) $ sudo yum install vnstat
9. bwm-ng
bwm-ng(下一代帶寬監控器)是另一款非常簡單的實時網路負載監控工具,可以報告摘要信息,顯示進出系統上所有可用網路介面的不同數據的傳輸速度。
$ bwm-ng bwm-ng v0.6 (probing every 0.500s), press 'h' for help input: /proc/net/dev type: rate / iface Rx Tx T ot================================================================= == eth0: 0.53 KB/s 1.31 KB/s 1.84 KB lo: 0.00 KB/s 0.00 KB/s 0.00 KB------------------------------------------------------------------------------------------------------------- total: 0.53 KB/s 1.31 KB/s 1.84 KB/s
如果控制台足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。
$ bwm-ng -o curses2
安裝bwm-ng:在CentOS上,可以從Epel來安裝bwm-ng。
# ubuntu或debian $ sudo apt-get install bwm-ng # fedora或centos(來自epel) $ sudo apt-get install bwm-ng
10. cbm:Color Bandwidth Meter
這是一款小巧簡單的帶寬監控工具,可以顯示通過諸網路介面的流量大小。沒有進一步的選項,僅僅實時顯示和更新流量的統計信息。
$ sudo apt-get install cbm
11. speedometer
這是另一款小巧而簡單的工具,僅僅繪制外觀漂亮的圖形,顯示通過某個介面傳輸的入站流量和出站流量。
$ speedometer -r eth0 -t eth0
安裝speedometer
# ubuntu或debian用戶 $ sudo apt-get install speedometer
12. pktstat
pktstat可以實時顯示所有活動連接,並顯示哪些數據通過這些活動連接傳輸的速度。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會顯示關於HTTP請求的詳細信息。
$ sudo pktstat -i eth0 -nt $ sudo apt-get install pktstat
13. netwatch
netwatch是netdiag工具庫的一部分,它也可以顯示本地主機與其他遠程主機之間的連接,並顯示哪些數據在每個連接上所傳輸的速度。
$ sudo netwatch -e eth0 -nt $ sudo apt-get install netdiag
14. trafshow
與netwatch和pktstat一樣,trafshow也可以報告當前活動連接、它們使用的協議以及每條連接上的數據傳輸速度。它能使用pcap類型過濾器,對連接進行過濾。
只監控TCP連接
$ sudo trafshow -i eth0 tcp $ sudo apt-get install netdiag
15. netload
netload命令只顯示關於當前流量負載的一份簡短報告,並顯示自程序啟動以來所傳輸的總位元組量。沒有更多的功能特性。它是netdiag的一部分。
$ netload eth0 $ sudo apt-get install netdiag
16. ifstat
ifstat能夠以批處理式模式顯示網路帶寬。輸出採用的一種格式便於用戶使用其他程序或實用工具來記入日誌和分析。
$ ifstat -t -i eth0 0.5 Time eth0 HH:MM:SS KB/s in KB/s out 09:59:21 2.62 2.80 09:59:22 2.10 1.78 09:59:22 2.67 1.84 09:59:23 2.06 1.98 09:59:23 1.73 1.79
安裝ifstat:Ubuntu、Debian和Fedora用戶在默認軟體庫裡面就有它。CentOS用戶則需要從Repoforge獲得它,因為Epel裡面沒有它。
# ubuntu, debian $ sudo apt-get install ifstat # fedora, centos(Repoforge) $ sudo yum install ifstat
17. dstat
dstat是一款用途廣泛的工具(用python語言編寫),它可以監控系統的不同統計信息,並使用批處理模式來報告,或者將相關數據記入到CSV或類似的文件。這個例子顯示了如何使用dstat來報告網路帶寬。
安裝dstat
$ dstat -nt -net/total- ----system---- recv send| time 0 0 |23-03 10:27:13 1738B 1810B|23-03 10:27:14 2937B 2610B|23-03 10:27:15 2319B 2232B|23-03 10:27:16 2738B 2508B|23-03 10:27:17
18. collectl
collectl以一種類似dstat的格式報告系統的統計信息;與dstat一樣,它也收集關於系統不同資源(如處理器、內存和網路等)的統計信息。這里給出的一個簡單例子顯示了如何使用collectl來報告網路使用/帶寬。
$ collectl -sn -oT -i0.5 waiting for 0.5 second sample... # <----------Network----------> #Time KBIn PktIn KBOut PktOut 10:32:01 40 58 43 66 10:32:01 27 58 3 32 10:32:02 3 28 9 44 10:32:02 5 42 96 96 10:32:03 5 48 3 28
安裝collectl
# Ubuntu/Debian用戶 $ sudo apt-get install collectl #Fedora $ sudo yum install collectl