系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux安裝使用Collectl

Linux安裝使用監(jiān)控軟件Collectl的方法

時(shí)間:2015-02-04 17:12:39 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150204/37030.html 手機(jī)查看 評論

  作為Linux系統(tǒng)監(jiān)控工具,Collectl是款值得推薦的軟件,使用Collectl能夠及時(shí)掌握系統(tǒng)的運(yùn)行狀況,還能像iotop命令一樣使用collectl進(jìn)行智能統(tǒng)計(jì),下面小編就給大家介紹下Collectl的安裝及使用。

 Linux安裝使用監(jiān)控軟件Collectl的方法

  系統(tǒng)資源監(jiān)控

  Collectl作為一個(gè)輕量級的監(jiān)控工具,在同類工具中是功能最全的。用戶可監(jiān)測不同的復(fù)雜系統(tǒng)矩陣值,并可保留數(shù)據(jù)以做之后的分析。不同于其他只用來監(jiān)測特定系統(tǒng)參數(shù)的工具,Collectl可以同時(shí)監(jiān)測不同的變量,并以合適的方式記錄它們。

  不同于或聚焦于一小組統(tǒng)計(jì)數(shù)據(jù)、采用唯一輸出方式,或采用迭代、作為守護(hù)進(jìn)程運(yùn)行的大部分監(jiān)測工具,collectl可以同時(shí)全部實(shí)現(xiàn)。用戶可選擇各種子系統(tǒng)中的任一系統(tǒng)來監(jiān)測包括內(nèi)存,CPU,磁盤,索引節(jié)點(diǎn),無線帶寬,lustre,內(nèi)存,網(wǎng)絡(luò),網(wǎng)絡(luò)文件系統(tǒng),進(jìn)程,二次型,slabs,套接口及TCP等信息。

  深入學(xué)習(xí)前讓我們先看以下命令。

  $ collectl

  waiting for1 second sample.。。

  #《--------CPU--------》《----------Disks-----------》《----------Network----------》

  #cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut

  00864177200000100

  521338273400820001

  1012222647009230201

  107631722008030102

  CPU使用率,磁盤輸入輸出和網(wǎng)絡(luò)活動以每秒為單位來加載。對可以理解這些數(shù)據(jù)的人來說這些信息很容易讀懂。這項(xiàng)列表在給定的時(shí)間間隔里會持續(xù)增加,并可直接形成一項(xiàng)文件跟蹤日志。collectl工具提供了各種命令來對這些數(shù)據(jù)進(jìn)行記錄,查找及做其他處理。

  安裝collectl工具

  對Ubuntu/Debian用戶來說Collectl是默認(rèn)資源,所以使用apt命令便可獲取。

  $ sudo apt-get install collectl

  Fedora/CentOS用戶使用yum命令便可獲取。

  $ yum install collectl

  使用

  必要的了解 - Collectl子系統(tǒng)

  子系統(tǒng)是可檢測到的不同系統(tǒng)資源類型。像CPU,內(nèi)存,帶寬等等都可構(gòu)成一個(gè)子系統(tǒng)。只運(yùn)行collectl命令將以批處理模式輸出CPU,磁盤和網(wǎng)絡(luò)子系統(tǒng)信息,我們在上文已看到相關(guān)內(nèi)容。

  從操作說明可以看到,Collectl可以識別以下子系統(tǒng)。

  總計(jì)子系統(tǒng)

  b - buddy info (內(nèi)存片段)

  c - CPU

  d -Disk

  f - NFS V3 Data

  i -InodeandFileSystem

  j -Interrupts

  l -Lustre

  m -Memory

  n -Networks

  s -Sockets

  t - TCP

  x -Interconnect

  y -Slabs(system object caches)

  細(xì)節(jié)子系統(tǒng)

  這是一系列的詳細(xì)信息,大部分情況下都會由相應(yīng)的總計(jì)數(shù)據(jù)衍生出來。目前“環(huán)境變量”和“進(jìn)程”2類沒有相應(yīng)的總計(jì)數(shù)據(jù)。如果有3個(gè)磁盤,選擇-sd,將只會看到3個(gè)磁盤組合出的單一信息。如果選擇-sD,將會分別顯示各磁盤信息。

  C - CPU

  D -Disk

  E -Environmental data (fan, power, temp), via ipmitool

  F - NFS Data

  J -Interrupts

  L -Lustre OST detail OR client Filesystem detail

  M -Memory node data, which is also known as numa data

  N -Networks

  T -65 TCP counters only available in plot format

  X -Interconnect

  Y -Slabs(system object caches)

  Z -Processes

  使用“-s”來監(jiān)測特定的子系統(tǒng)并向其添加子系統(tǒng)的識別項(xiàng),F(xiàn)在讓我們舉幾個(gè)例子。

  1. 監(jiān)測cpu使用率

  用“-sc”實(shí)現(xiàn)CPU總使用率的監(jiān)測

  $ collectl -sc

  waiting for1 second sample.。。

  #《--------CPU--------》

  #cpu sys inter ctxsw

  3018003729

  3017673599

  使用“-C”觀察各個(gè)單獨(dú)的CPU使用情況。結(jié)果將會輸出多行,分別對應(yīng)一個(gè)CPU。

  $ collectl -sC

  waiting for1 second sample.。。

  # SINGLE CPU STATISTICS

  # Cpu User Nice Sys Wait IRQ Soft Steal Idle

  0300000096

  1300000096

  2200000097

  3100000098

  0200000097

  1202000095

  2100000098

  3401000095

  如果需要,可以同時(shí)使用C和c來獲取單項(xiàng)CPU監(jiān)測數(shù)據(jù)和匯總數(shù)據(jù)。

  2. 內(nèi)存監(jiān)測

  使用m子系統(tǒng)查看內(nèi)存。

  $ collectl -sm

  waiting for1 second sample.。。

  #《-----------Memory-----------》

  #Free Buff Cach Inac Slab Map

  2G220M1G1G210M3G

  2G220M1G1G210M3G

  2G220M1G1G210M3G

  不難解釋。 M用來查看更多內(nèi)存的詳細(xì)信息。

  $ collectl -sM

  waiting for1 second sample.。。

  # MEMORY STATISTICS

  # Node Total Used Free Slab Mapped Anon Locked Inact Hit%

  07975M5939M2036M215720K372184K06652K1434M0

  07975M5939M2036M215720K372072K06652K1433M0

  3. 查看磁盤使用情況

  d和D可以查看磁盤使用的概況和詳細(xì)情況。

  $ collectl -sd

  waiting for1 second sample.。。

  #《----------Disks-----------》

  #KBRead Reads KBWrit Writes

  4113624

  008013

  $ collectl -sD

  waiting for1 second sample.。。

  # DISK STATISTICS (/sec)

  # 《---------reads---------》《---------writes---------》《--------averages--------》 Pct

  #Name KBytes Merged IOs Size KBytes Merged IOs Size RWSize QLen Wait SvcTim Util

  sda 0000000000000

  sda 0000000000000

  sda 10211715322621

  sda 0000921151818112125

  “--verbose”命令可以用來查看附加信息。和D命令不同,它將概況擴(kuò)展,包含了更多信息。

  $ collectl -sd --verbose

  4. 同時(shí)報(bào)告多系統(tǒng)情況

  如果想要同時(shí)得到CPU,內(nèi)存和磁盤報(bào)告,那么同時(shí)使用子命令組合來實(shí)現(xiàn)。

  $ collectl -scmd

  waiting for1 second sample.。。

  #《--------CPU--------》《-----------Memory-----------》《----------Disks-----------》

  #cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes

  40218743341G221M1G1G210M3G0000

  30189640651G221M1G1G210M3G00205

  5. 顯示統(tǒng)計(jì)時(shí)間

  若要將每行的監(jiān)測信息和時(shí)間一同顯示,使用T選項(xiàng)。通過在“-o”參數(shù)來指定。

  $ collectl -scmd -oT

  waiting for1 second sample.。。

  # 《--------CPU--------》《-----------Memory-----------》《----------Disks-----------》

  #Time cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes

  12:03:0530196140131G225M1G1G212M3G0000

  12:03:0630188438101G225M1G1G212M3G0000

  12:03:0730201140601G225M1G1G212M3G0000

  使用“-oTm”可將時(shí)間換成毫秒顯示。

  6. 改變樣本計(jì)數(shù)

  collectl報(bào)告的每行都是一份快照或樣本,它通常設(shè)定定期間隔如1秒來取樣。i可用來設(shè)置時(shí)間間隔,c用來設(shè)置樣本計(jì)數(shù)。

  $ collectl -c1 -sm

  waiting for1 second sample.。。

  #《-----------Memory-----------》

  #Free Buff Cach Inac Slab Map

  1G261M1G1G228M3G

  使用i命令可改變更新時(shí)間間隔。

  $ collectl -sm -i2

  waiting for2 second sample.。。

  #《-----------Memory-----------》

  #Free Buff Cach Inac Slab Map

  1G261M1G1G229M3G

  上面的命令設(shè)定每2秒收集一次內(nèi)存信息。

  7. 像iotop一樣使用collectl

  top命令將collectl像iostat/top工具一樣進(jìn)行智能統(tǒng)計(jì)。列表會持續(xù)更新,且可以使用不同字段實(shí)現(xiàn)排序。

  $ collectl --top iokb

  輸出如下

  # TOP PROCESSES sorted by iokb (counters are /sec) 09:44:57

  # PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command

  3104 enlighte 2026833 S 938M33M00.000.00000:09.160400/usr/bin/ktorrent

  1 root 2000 S 26M3M20.000.00000:01.300000/sbin/init

  2 root 2000 S 0030.000.00000:00.000000 kthreadd

  3 root 2020 S 0000.000.00000:00.020000 ksoftirqd/0

  4 root 2020 S 0000.000.00000:00.000000 kworker/0:0

  5 root 020 S 0000.000.00000:00.000000 kworker/0:0H

  7 root RT 20 S 0000.000.00000:00.080000 migration/0

  8 root 2020 S 0020.000.00000:00.000000 rcu_bh

  9 root 2020 S 0000.000.00000:00.000000 rcuob/0

  上面的輸出很像top命令,并且它以磁盤數(shù)量降序排列進(jìn)程。

  若只想顯示上面的5項(xiàng)進(jìn)程,可用以下命令實(shí)現(xiàn)

  $ collectl --top iokb,5

  若想學(xué)習(xí)上面的列表里哪些字段可以排序,使用如下命令

  $ collectl --showtopopts

  下面是應(yīng)用于進(jìn)程或數(shù)據(jù)的最高排序類型列表。某些情況下你可能會使用某一字段進(jìn)行排序,但它并非顯示的一部分。

  TOP PROCESS SORT FIELDS

  進(jìn)程排序字段

  Memory

  vsz virtual memory

  rss resident (physical) memory

  Time

  syst system time

  usrt user time

  time total time

  accum accumulated time

  I/O

  rkb KB read

  wkb KB written

  iokb total I/O KB

  rkbc KB read from pagecache

  wkbc KB written to pagecache

  iokbc total pagecacge I/O

  ioall total I/O KB (iokb+iokbc)

  rsys read system calls

  wsys write system calls

  iosys total system calls

  iocncl Cancelled write bytes

  PageFaults

  majf major page faults

  minf minor page faults

  flt total page faults

  ContextSwitches

  vctx volunary context switches

  nctx non-voluntary context switches

  Miscellaneous(best when used with--procfilt)

  cpu cpu number

  pid process pid

  thread total process threads (not counting main)

  TOP SLAB SORT FIELDS

  numobj total number of slab objects

  actobj active slab objects

  objsize sizes of slab objects

  numslab number of slabs

  objslab number of objects in a slab

  totsize total memory sizes taken by slabs

  totchg change in memory sizes

  totpct percent change in memory sizes

  name slab names

  8. 像top一樣使用collectl

  為使collectl像top,我們只需以CPU使用率排序輸出進(jìn)程。

  $ collectl --top

  輸出如下

  # TOP PROCESSES sorted by time (counters are /sec) 14:08:46

  # PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command

  9471 enlighte 2091020 R 63M22M30.030.101300:00.810003/usr/bin/perl

  3076 enlighte 2026832 S 521M40M20.000.03300:55.140002/usr/bin/yakuake

  3877 enlighte 20335641 S 1G218M10.000.03310:10.500000/opt/google/chrome/chrome

  4625 enlighte 20289536 S 1G241M20.000.02208:24.3900012/usr/lib/firefox/firefox

  5638 enlighte 2033563 S 1G265M10.000.02209:55.040002/opt/google/chrome/chrome

  1186 root 2011524 S 502M76M00.000.01103:02.960000/usr/bin/X

  1334 www-data 2013290 S 87M1M20.000.01100:00.850000 nginx:

  上面的命令也可用于顯示子系統(tǒng)信息。

  $ collectl --top -scm

  9. 像ps一樣列出進(jìn)程

  為像ps命令一樣列出所有進(jìn)程且沒有后續(xù)更新,用“c”命令讓其計(jì)數(shù)至1. $ collectl -c1 -sZ -i:1

  上面的命令將會列出類似“ps -e”命令的所有進(jìn)程。“procfilt”用于從所有進(jìn)程中過濾出特定的進(jìn)程信息。“procopts”用于指定另一組微調(diào)進(jìn)程列表顯示的命令。

  10. 像vmstat一樣使用collectl

  Collectl有內(nèi)置命令來完成像vmstat一樣的功能。

  $ collectl --vmstat

  waiting for1 second sample.。。

  #procs ---------------memory (KB)--------------- --swaps-- -----io---- --system-- ----cpu-----

  # r b swpd free buff cache inact active si so bi bo in cs us sy id wa

  1001733M242M1922M1137M710M0001081982391820951

  1001733M242M1922M1137M710M00001906388610980

  1001733M242M1922M1137M710M00001739348030960

  11. 子系統(tǒng)的詳細(xì)信息

  下面的命令以一秒為間隔,統(tǒng)計(jì)5次CPU信息并和時(shí)間一起顯示出詳細(xì)信息(冗長)。

  $ collectl -sc -c5 -i1 --verbose -oT

  waiting for1 second sample.。。

  # CPU SUMMARY (INTR, CTXSW & PROC /sec)

  #Time User Nice Sys Wait IRQ Soft Steal Idle CPUs Intr Ctxsw Proc RunQ Run Avg1 Avg5 Avg15 RunT BlkT

  14:22:101100000087413122691086610.780.860.7810

  14:22:111500000084412832496086610.780.860.7810

  14:22:121700000082413422658086600.780.860.7800

  14:22:131500000084412412429086610.780.860.7810

  14:22:141100000088412702488086600.800.870.7800

  改變“-s”變量查看不同的子系統(tǒng)。

  總結(jié)

  本文的介紹不過是對collectl這個(gè)強(qiáng)大工具的一些淺見。本文本希望展示它有多靈活,其實(shí)通過以上的討論讓我們了解了包括記錄及回尋捕獲的數(shù)據(jù),以多種文件格式導(dǎo)出數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)換為可被廣泛的工具分析的格式等等功能的實(shí)現(xiàn)。

  collectl提供的另一大功能便是像服務(wù)一樣運(yùn)行,對遠(yuǎn)程Linux機(jī)器或完整的服務(wù)器集群提供遠(yuǎn)程監(jiān)控,其表現(xiàn)堪稱完美。

  Collectl同另一批可用于處理分析收集數(shù)據(jù)的名為Collectl實(shí)用工具 (colmux, colgui, colplot)的功能相契合。

  上面就是Linux安裝和使用Collectl的方法介紹了,Collectl能夠完成像ps、top、vmstat這些監(jiān)控命令一樣的功能,且還有其他的功能,比單純的使用命令簡單。

標(biāo)簽 監(jiān)控工具

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨(dú)特見解

立即評論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄