Collectl: Háþróað allt-í-einn árangurseftirlitstæki fyrir Linux


Mikilvægasta skylda Linux kerfisstjóra er að ganga úr skugga um að kerfið sem hann/hún stjórnar sé í mjög góðu ástandi. Það eru mörg verkfæri í boði fyrir Linux kerfisstjóra sem geta hjálpað til við að fylgjast með og sýna ferla í kerfi eins og htop, en ekkert af þessum verkfærum getur keppt við collectl.

collectl er mjög gott skipanalínuforrit sem er mikið af eiginleikum sem hægt er að nota til að safna frammistöðugögnum sem lýsa núverandi kerfisstöðu. Ólíkt flestum öðrum vöktunartækjum, einbeitir collectl ekki að takmörkuðum fjölda kerfismælinga, heldur getur það safnað upplýsingum um margar mismunandi gerðir kerfisauðlinda eins og örgjörva, disk, minni, netkerfi, fals, tcp, inodes, infiniband, ljóma, minni, nfs, ferlar, quadrics, slabs og buddyinfo.

Það sem er mjög gott við að nota collectl er að það getur líka gegnt hlutverki tóla sem eru hönnuð með aðeins ákveðnum tilgangi eins og top, ps, iotop og mörgum öðrum. Hverjir eru sumir eiginleikar sem gera safn að gagnlegu tæki?

Eftir miklar rannsóknir hef ég tekið saman lista með nokkrum af mikilvægustu eiginleikum collectl skipanalínuforritsins fyrir ykkur.

  1. Það getur keyrt gagnvirkt, sem púki eða bæði.
  2. Það getur birt úttakið á mörgum sniðum.
  3. Það hefur getu til að fylgjast með nánast hvaða undirkerfi sem er.
  4. Það getur gegnt hlutverki margra annarra tóla eins og ps, top, iotop, vmstat.
  5. Það hefur getu til að taka upp og spila gögnin sem tekin eru.
  6. Það getur flutt gögnin út á ýmsum skráarsniðum. (þetta er mjög gagnlegt þegar þú vilt greina gögnin með utanaðkomandi verkfærum).
  7. Það getur keyrt sem þjónusta til að fylgjast með ytri vélum eða heilum netþjónaþyrpingum.
  8. Það getur sýnt gögnin í flugstöðinni, skrifað í skrá eða fals.

Hvernig á að setja upp collectl í Linux

Collectl tólið keyrir á öllum Linux dreifingum, það eina sem það þarf til að keyra er perl, svo vertu viss um að þú hafir Perl uppsett í vélinni þinni áður en þú setur collectl í vélina þína.

Eftirfarandi skipun er hægt að nota til að setja upp collectl tólið í Debian vélum eins og Ubuntu.

$ sudo apt-get install collectl

Ef þú ert að nota Red Hat byggt dreifingu geturðu auðveldlega náð í það úr endursölustaðnum með yum skipuninni.

# yum install collectl

Nokkur hagnýt dæmi um collectl tólið

Þegar uppsetningu collectl tólsins er lokið geturðu auðveldlega keyrt það frá flugstöðinni, jafnvel án nokkurs valkosts. Eftirfarandi skipun sýnir upplýsingar um örgjörva, disk og nettölfræði á mjög stuttu og læsilegu sniði.

# collectl

waiting for 1 second sample...
#
#cpu sys inter  ctxsw KBRead  Reads KBWrit Writes   KBIn  PktIn  KBOut  PktOut 
  13   5   790   1322      0      0     92      7      4     13      0       5 
  10   2   719   1186      0      0      0      0      3      9      0       4 
  12   0   753   1188      0      0     52      3      2      5      0       6 
  13   2   733   1063      0      0      0      0      1      1      0       1 
  25   2   834   1375      0      0      0      0      1      1      0       1 
  28   2   870   1424      0      0     36      7      1      1      0       1 
  19   3   949   2271      0      0     44      3      1      1      0       1 
  17   2   809   1384      0      0      0      0      1      6      0       6 
  16   2   732   1348      0      0      0      0      1      1      0       1 
  22   4   993   1615      0      0     56      3      1      2      0       3

Eins og þið getið séð af ofangreindu úttakinu sem birtist á flugstöðvarskjánum, er mjög auðvelt að vinna með kerfismælingargildin sem eru til staðar í skipanaúttakinu vegna þess að það birtist á einni línu.

Þegar collectl tólið er keyrt án nokkurs valkosts sýnir það upplýsingar um eftirfarandi undirkerfi:

  1. örgjörvi
  2. diska
  3. net

Athugið: Í okkar tilviki er undirkerfi allar tegundir kerfisauðlinda sem hægt er að mæla.

Þú getur líka sýnt tölfræði fyrir öll undirkerfi nema plötur með því að sameina skipunina með –all valkostinum eins og sýnt er hér að neðan.

# collectl --all

waiting for 1 second sample...
#
#cpu sys inter  ctxsw Cpu0 Cpu1 Free Buff Cach Inac Slab  Map   Fragments KBRead  Reads KBWrit Writes   KBIn  PktIn  KBOut  PktOut   IP  Tcp  Udp Icmp  Tcp  Udp  Raw Frag Handle Inodes  Reads Writes Meta Comm 
  16   3   817   1542  430  390   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0     24      3      1      1      0       1    0    0    0    0  623    0    0    0   8160 240829      0      0    0    0 
  11   1   745   1324  316  426   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0      0      0      0      3      0       2    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0 
  15   2   793   1683  371  424   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0      0      0      1      1      0       1    0    0    0    0  622    0    0    0   8160 240829      0      0    0    0 
  16   2   872   1875  427  446   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0     24      3      1      1      0       1    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0 
  24   2   842   1383  473  368   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0    168      6      1      1      0       1    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0 
  27   3   844   1099  478  365   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0      0      0      1      6      1       9    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0 
  26   5   823   1238  396  428   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0      0      0      2     11      3       9    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0 
  15   1   753   1276  361  391   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0     40      3      1      2      0       3    0    0    0    0  623    0    0    0   8160 240829      0      0    0    0

En hvernig fylgist þú með örgjörvanotkuninni með hjálp tólsins? „-s“ valmöguleikann ætti að nota til að stjórna hvaða undirkerfisgögnum á að safna eða spila.

Til dæmis er hægt að nota eftirfarandi skipun til að fylgjast með samantekt á örgjörvanotkun.

# collectl -sc

waiting for 1 second sample...
#
#cpu sys inter  ctxsw 
  15   2   749   1155 
  16   3   772   1445 
  14   2   793   1247 
  27   4   887   1292 
  24   1   796   1258 
  16   1   743   1113 
  15   1   743   1179 
  14   1   706   1078 
  15   1   764   1268

Hvað gerist þegar þú sameinar skipunina með „scdn“? Besta leiðin til að læra hvernig á að nota skipanalínuverkfæri er að æfa eins mikið og mögulegt er, svo keyrðu eftirfarandi skipun í flugstöðinni þinni og sjáðu hvað er að fara að gerast.

# collectl -scdn

waiting for 1 second sample...
#
#cpu sys inter  ctxsw KBRead  Reads KBWrit Writes   KBIn  PktIn  KBOut  PktOut 
  25   4   943   3333      0      0      0      0      1      1      0       2 
  27   3   825   2910      0      0      0      0      1      1      0       1 
  27   5   886   2531      0      0      0      0      0      0      0       1 
  20   4   872   2406      0      0      0      0      1      1      0       1 
  26   1   854   2091      0      0     20      2      1      1      0       1 
  39   4  1004   3398      0      0      0      0      2      8      3       6 
  41   6   955   2464      0      0     40      3      1      2      0       3 
  25   7   890   1609      0      0      0      0      1      1      0       1 
  16   2   814   1165      0      0    796     43      2      2      0       2 
  14   1   779   1383      0      0     48      6      1      1      0       1 
  11   2   795   1285      0      0      0      0      2     14      1      14

Þú getur auðveldlega skilið að sjálfgefinn valkostur er „cdn“, hann stendur fyrir örgjörva, diska og netgögn. Niðurstaða skipunarinnar er sú sama og úttakið „collectl -scn“

Ef þú vilt safna gögnum um minnið skaltu nota eftirfarandi skipun.

# collectl -sm

waiting for 1 second sample...
#
#Free Buff Cach Inac Slab  Map 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G 
   1G 177M   1G 684M 193M   1G

Ofangreind framleiðsla er mjög gagnleg þegar þú vilt fá nákvæmar upplýsingar um minnisnotkun þína, laust minni og annað mikilvægt efni fyrir frammistöðu kerfisins.

Hvað með smá gögn á tcp? Notaðu eftirfarandi skipun til að gera það.

# collectl -st

waiting for 1 second sample...
#
#  IP  Tcp  Udp Icmp 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0 
    0    0    0    0

Eftir að þú hefur aflað þér reynslu geturðu auðveldlega sameinað valkosti til að fá þær niðurstöður sem þú vilt. Til dæmis er hægt að sameina „t“ fyrir tcp og „c“ fyrir örgjörva. Eftirfarandi skipun gerir það.

# collectl -stc

waiting for 1 second sample...
#
#cpu sys inter  ctxsw   IP  Tcp  Udp Icmp 
  23   8   961   3136    0    0    0    0 
  24   5   916   3662    0    0    0    0 
  21   8   848   2408    0    0    0    0 
  30  10   916   2674    0    0    0    0 
  38   3   826   1752    0    0    0    0 
  31   3   820   1408    0    0    0    0 
  15   5   781   1335    0    0    0    0 
  17   3   802   1314    0    0    0    0 
  17   3   755   1218    0    0    0    0 
  14   2   788   1321    0    0    0    0

Það er erfitt fyrir okkur mannfólkið að muna alla tiltæka valkosti svo ég birti yfirlitslistann yfir undirkerfi sem tólið styður.

  1. b – upplýsingar um félaga (minnisbrot)
  2. c – CPU
  3. d – Diskur
  4. f – NFS V3 Gögn
  5. i – Inode og skráarkerfi
  6. j – truflar
  7. l – Lustre
  8. m – Minni
  9. n – Netkerfi
  10. s – Innstungur
  11. t – TCP
  12. x – Samtenging
  13. y – Hellur (kerfishluta skyndiminni)

Mjög mikilvæg gögn fyrir kerfisstjóra eða Linux notanda eru gögnin sem safnað er um diskanotkun. Eftirfarandi skipun mun hjálpa þér að fylgjast með notkun disksins.

# collectl -sd

waiting for 1 second sample...
#
#KBRead  Reads KBWrit Writes 
      0      0      0      0 
      0      0      0      0 
      0      0     92      7 
      0      0      0      0 
      0      0     36      3 
      0      0      0      0 
      0      0      0      0 
      0      0    100      7 
      0      0      0      0

Þú getur líka notað „-sD“ valkostinn til að safna gögnum á einstökum diskum, en þú verður að vita að upplýsingar um heildar diska verða ekki tilkynntar.

# collectl -sD

waiting for 1 second sample...

# DISK STATISTICS (/sec)
#           Pct
#Name       KBytes Merged  IOs Size  KBytes Merged  IOs Size  RWSize  QLen  Wait SvcTim Util
sda              0      0    0    0      52     11    2   26      26     1     8      8    1
sda              0      0    0    0       0      0    0    0       0     0     0      0    0
sda              0      0    0    0      24      0    2   12      12     0     0      0    0
sda              0      0    0    0     152      0    4   38      38     0     0      0    0
sda              0      0    0    0     192     45    3   64      64     1    20     20    5
sda              0      0    0    0     204      0    2  102     102     0     0      0    0
sda              0      0    0    0       0      0    0    0       0     0     0      0    0
sda              0      0    0    0     116     26    3   39      38     1    16     16    4
sda              0      0    0    0       0      0    0    0       0     0     0      0    0
sda              0      0    0    0       0      0    0    0       0     0     0      0    0
sda              0      0    0    0      32      5    3   11      10     1    16     16    4
sda              0      0    0    0       0      0    0    0       0     0     0      0    0

Þú getur líka notað önnur smáatriði undirkerfi til að safna ítarlegum gögnum. Eftirfarandi er listi yfir smáatriði undirkerfi.

  1. C – CPU
  2. D – Diskur
  3. E – Umhverfisgögn (vifta, afl, hitastig), í gegnum ipmitool
  4. F – NFS Gögn
  5. J – truflar
  6. L – Luster OST smáatriði EÐA skráakerfi viðskiptavinar
  7. N – Netkerfi
  8. T – 65 TCP teljarar eru aðeins fáanlegir á söguþræðisniði
  9. X – Samtenging
  10. Y – Hellur (kerfishluta skyndiminni)
  11. Z – Ferlar

Það eru margir tiltækir valkostir í collectl tólinu, en það er ekki nægur tími og pláss til að ná yfir þá alla í aðeins einni grein. Hins vegar er þess virði að minnast á og kenna hvernig á að nota tólið sem toppur og ps.

Það er mjög auðvelt að láta collectl virka sem efsta tólið, keyrðu bara eftirfarandi skipun í flugstöðinni þinni og þú munt sjá svipaða úttak sem efsta tólið gefur þér þegar það er keyrt í Linux kerfinu þínu.

# collectl --top

# TOP PROCESSES sorted by time (counters are /sec) 13:11:02
# PID  User     PR  PPID THRD S   VSZ   RSS CP  SysT  UsrT Pct  AccuTime  RKB  WKB MajF MinF Command
^COuch!tecmint  20     1   40 R    1G  626M  0  0.01  0.14  15  28:48.24    0    0    0  109 /usr/lib/firefox/firefox 
 3403  tecmint  20     1   40 R    1G  626M  1  0.00  0.20  20  28:48.44    0    0    0  600 /usr/lib/firefox/firefox 
 5851  tecmint  20  4666    0 R   17M   13M  0  0.02  0.06   8  00:01.28    0    0    0    0 /usr/bin/perl 
 1682  root     20  1666    2 R  211M   55M  1  0.02  0.01   3  03:10.24    0    0    0   95 /usr/bin/X 
 3454  tecmint  20  3403    8 S  216M   45M  1  0.01  0.02   3  01:23.32    0    0    0    0 /usr/lib/firefox/plugin-container 
 4658  tecmint  20  4657    3 S  207M   17M  1  0.00  0.02   2  00:08.23    0    0    0  142 gnome-terminal 
 2890  tecmint  20  2571    3 S  340M   68M  0  0.00  0.01   1  01:19.95    0    0    0    0 compiz 
 3521  tecmint  20     1   24 S  710M  148M  1  0.01  0.00   1  01:47.84    0    0    0    0 skype 
    1  root     20     0    0 S    3M    2M  0  0.00  0.00   0  00:02.57    0    0    0    0 /sbin/init 
    2  root     20     0    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kthreadd 
    3  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.60    0    0    0    0 ksoftirqd/0 
    5  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/0:0H 
    7  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/u:0H 
    8  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:04.42    0    0    0    0 migration/0 
    9  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 rcu_bh 
   10  root     20     2    0 R     0     0  0  0.00  0.00   0  00:02.22    0    0    0    0 rcu_sched 
   11  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:00.05    0    0    0    0 watchdog/0 
   12  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:00.07    0    0    0    0 watchdog/1 
   13  root     20     2    0 S     0     0  1  0.00  0.00   0  00:00.73    0    0    0    0 ksoftirqd/1 
   14  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:01.96    0    0    0    0 migration/1 
   16  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kworker/1:0H 
   17  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 cpuset

Og nú síðast en ekki síst, til að nota collectl tólið sem ps tólið skaltu keyra eftirfarandi skipun í flugstöðinni þinni. Þú munt fá upplýsingar um ferla í kerfinu þínu á sama hátt og þú gerir þegar þú keyrir ps skipunina í flugstöðinni þinni.

# collectl -c1 -sZ -i:1

waiting for 1 second sample...

### RECORD    1 >>> tecmint-vgn-z13gn <<< (1397979716.001) (Sun Apr 20 13:11:56 2014) ###

# PROCESS SUMMARY (counters are /sec)
# PID  User     PR  PPID THRD S   VSZ   RSS CP  SysT  UsrT Pct  AccuTime  RKB  WKB MajF MinF Command
    1  root     20     0    0 S    3M    2M  0  0.00  0.00   0  00:02.57    0    0    0    0 /sbin/init 
    2  root     20     0    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kthreadd 
    3  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.60    0    0    0    0 ksoftirqd/0 
    5  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/0:0H 
    7  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/u:0H 
    8  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:04.42    0    0    0    0 migration/0 
    9  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 rcu_bh 
   10  root     20     2    0 S     0     0  0  0.00  0.00   0  00:02.24    0    0    0    0 rcu_sched 
   11  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:00.05    0    0    0    0 watchdog/0 
   12  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:00.07    0    0    0    0 watchdog/1 
   13  root     20     2    0 S     0     0  1  0.00  0.00   0  00:00.73    0    0    0    0 ksoftirqd/1 
   14  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:01.96    0    0    0    0 migration/1 
   16  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kworker/1:0H 
   17  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 cpuset 
   18  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 khelper 
   19  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kdevtmpfs 
   20  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 netns 
   21  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 bdi-default 
   22  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kintegrityd

Ég er mjög viss um að margir Linux kerfisstjórar munu líka við þetta tól og finna fyrir krafti þess þegar þeir nota það til hins ýtrasta. Ef þú vilt efla þekkingu þína á collectl á næsta stig skaltu skoða handbókarsíður þess og halda áfram að æfa þig.

Sláðu bara inn eftirfarandi skipun í flugstöðinni þinni og byrjaðu að lesa.

# man collectl

Tilvísunartenglar

collectl Heimasíða