Collectl: ഒരു അഡ്വാൻസ്ഡ് ലിനക്സ് പെർഫോമൻസ് റിപ്പോർട്ടിംഗ് ടൂൾ


ഒരു ലിനക്സ് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്ററുടെ ഏറ്റവും പ്രധാനപ്പെട്ട കടമ അവൻ/അവൾ നിയന്ത്രിക്കുന്ന സിസ്റ്റം വളരെ നല്ല നിലയിലാണെന്ന് ഉറപ്പാക്കുക എന്നതാണ്. htop പോലുള്ള ഒരു സിസ്റ്റത്തിലെ പ്രക്രിയകൾ നിരീക്ഷിക്കാനും പ്രദർശിപ്പിക്കാനും സഹായിക്കുന്ന നിരവധി ടൂളുകൾ Linux സിസ്റ്റം അഡ്മിനുകൾക്കായി ലഭ്യമാണ്, എന്നാൽ ഈ ടൂളുകൾക്കൊന്നും ശേഖരിക്കലുമായി മത്സരിക്കാനാവില്ല.

നിലവിലെ സിസ്റ്റം സ്റ്റാറ്റസ് വിവരിക്കുന്ന പെർഫോമൻസ് ഡാറ്റ ശേഖരിക്കാൻ ഉപയോഗിക്കാവുന്ന വളരെ നല്ല ഫീച്ചറുകളാൽ സമ്പുഷ്ടമായ കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റിയാണ് collectl. മറ്റ് മിക്ക മോണിറ്ററിംഗ് ടൂളുകളിൽ നിന്നും വ്യത്യസ്തമായി, പരിമിതമായ എണ്ണം സിസ്റ്റം മെട്രിക്കുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നില്ല, പകരം, cpu, ഡിസ്ക്, മെമ്മറി, നെറ്റ്വർക്ക്, സോക്കറ്റുകൾ, tcp, inodes, infiniband എന്നിങ്ങനെ വിവിധ തരം സിസ്റ്റം ഉറവിടങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കാൻ ഇതിന് കഴിയും. , ക്ലസ്റ്റർ, മെമ്മറി, nfs, പ്രോസസ്സുകൾ, ക്വാഡ്രിക്സ്, സ്ലാബുകൾ, ഒപ്പം buddyinfo.

iotop പോലുള്ള ഒരു പ്രത്യേക ഉദ്ദേശ്യത്തോടെ മാത്രം രൂപകൽപ്പന ചെയ്തിരിക്കുന്ന യൂട്ടിലിറ്റികളുടെ പങ്ക് വഹിക്കാനും മറ്റ് പലതിനും കഴിയും എന്നതാണ് കളക്ൾ ഉപയോഗിക്കുന്നതിലെ ഒരു നല്ല കാര്യം. Collelt-നെ ഒരു ഉപയോഗപ്രദമായ ഉപകരണമാക്കുന്ന ചില സവിശേഷതകൾ ഏതൊക്കെയാണ്?

നിങ്ങൾക്കായി കളക്ടൽ കമാൻഡ്-ലൈൻ യൂട്ടിലിറ്റിയുടെ ഏറ്റവും പ്രധാനപ്പെട്ട ചില സവിശേഷതകൾ ഇനിപ്പറയുന്നവയാണ്.

  • ഇതിന് ഇന്ററാക്ടീവ് ആയി, ഡെമൺ ആയി അല്ലെങ്കിൽ രണ്ടും ആയി പ്രവർത്തിക്കാൻ കഴിയും.
  • ഇതിന് നിരവധി ഫോർമാറ്റുകളിൽ ഔട്ട്പുട്ട് പ്രദർശിപ്പിക്കാൻ കഴിയും.
  • ഏതാണ്ട് ഏത് ഉപസിസ്റ്റത്തെയും നിരീക്ഷിക്കാനുള്ള കഴിവുണ്ട്.
  • ഇതിന് ps, top, iotop, vmstat എന്നിങ്ങനെയുള്ള മറ്റ് പല യൂട്ടിലിറ്റികളുടെയും പങ്ക് വഹിക്കാനാകും.
  • പിടിച്ചെടുത്ത ഡാറ്റ റെക്കോർഡ് ചെയ്യാനും പ്ലേബാക്ക് ചെയ്യാനും ഇതിന് കഴിവുണ്ട്.
  • ഇതിന് വിവിധ ഫയൽ ഫോർമാറ്റുകളിൽ ഡാറ്റ കയറ്റുമതി ചെയ്യാൻ കഴിയും. (ബാഹ്യ ഉപകരണങ്ങൾ ഉപയോഗിച്ച് ഡാറ്റ വിശകലനം ചെയ്യണമെങ്കിൽ ഇത് വളരെ ഉപയോഗപ്രദമാണ്).
  • വിദൂര മെഷീനുകൾ അല്ലെങ്കിൽ മുഴുവൻ സെർവർ ക്ലസ്റ്ററും നിരീക്ഷിക്കുന്നതിനുള്ള ഒരു സേവനമായി ഇതിന് പ്രവർത്തിക്കാനാകും.
  • ഇതിന് ടെർമിനലിൽ ഡാറ്റ പ്രദർശിപ്പിക്കാനും ഒരു ഫയലിലേക്കോ സോക്കറ്റിലേക്കോ എഴുതാനും കഴിയും.

Linux-ൽ collection എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

കളക്ട് യൂട്ടിലിറ്റി എല്ലാ ലിനക്സ് ഡിസ്ട്രിബ്യൂഷനുകളിലും പ്രവർത്തിക്കുന്നു, അതിന് റൺ ചെയ്യാൻ ആവശ്യമുള്ള ഒരേയൊരു കാര്യം perl ആണ്, അതിനാൽ നിങ്ങളുടെ മെഷീനിൽ collectl ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങളുടെ മെഷീനിൽ Perl ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക (മുൻകൂട്ടി ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്).

ഡെബിയൻ അധിഷ്ഠിത വിതരണങ്ങളായ ഉബുണ്ടു, ലിനക്സ് മിന്റ് എന്നിവയിൽ കളക്ടർ യൂട്ടിലിറ്റി ഇൻസ്റ്റോൾ ചെയ്യുന്നതിന് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിക്കാം.

$ sudo apt-get install collectl

നിങ്ങൾ Rocky Linux അല്ലെങ്കിൽ AlmaLinux അല്ലെങ്കിൽ മറ്റേതെങ്കിലും ലിനക്സ് വിതരണങ്ങൾ പോലുള്ള RedHat-അധിഷ്ഠിത വിതരണമാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് ടാർബോൾ എളുപ്പത്തിൽ ഡൗൺലോഡ് ചെയ്യാനും അത് അൺപാക്ക് ചെയ്യാനും കാണിച്ചിരിക്കുന്നതുപോലെ പ്രവർത്തിപ്പിക്കാനും കഴിയും.

# wget https://sourceforge.net/projects/collectl/files/latest/download -O collectl.tar.gz
# tar -xvf collectl.tar.gz
# cd collectl-*
# ./INSTALL

Linux-ൽ Collectl Monitoring Tool ഉപയോഗിക്കുന്നു

കളക്ട് ടൂളിന്റെ ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് അത് ടെർമിനലിൽ നിന്ന് എളുപ്പത്തിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയും, ഒരു ഓപ്ഷനും ഇല്ലാതെ പോലും. ഇനിപ്പറയുന്ന കമാൻഡ് cpu, ഡിസ്ക്, നെറ്റ്വർക്ക് സ്ഥിതിവിവരക്കണക്കുകൾ എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ വളരെ ഹ്രസ്വവും മനുഷ്യർക്ക് വായിക്കാവുന്നതുമായ ഫോർമാറ്റിൽ പ്രദർശിപ്പിക്കും.

# collectl

ടെർമിനൽ സ്ക്രീനിൽ പ്രദർശിപ്പിച്ചിരിക്കുന്ന മുകളിലെ ഔട്ട്പുട്ടിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, കമാൻഡ് ഔട്ട്പുട്ടിൽ നിലവിലുള്ള സിസ്റ്റം മെട്രിക്സ് മൂല്യങ്ങൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത് വളരെ എളുപ്പമാണ്, കാരണം ഇത് ഒരൊറ്റ വരിയിൽ ദൃശ്യമാണ്.

കളക്ട് യൂട്ടിലിറ്റി ഒരു ഓപ്ഷനും ഇല്ലാതെ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ അത് ഇനിപ്പറയുന്ന സബ്സിസ്റ്റങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നു:

  • cpu
  • ഡിസ്കുകൾ
  • നെറ്റ്വർക്ക്

ശ്രദ്ധിക്കുക: ഞങ്ങളുടെ കാര്യത്തിൽ, ഒരു സബ്സിസ്റ്റം എന്നത് അളക്കാൻ കഴിയുന്ന എല്ലാ തരത്തിലുള്ള സിസ്റ്റം റിസോഴ്സുകളുമാണ്.

താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ --all ഓപ്ഷനുമായി കമാൻഡ് സംയോജിപ്പിച്ച് സ്ലാബുകൾ ഒഴികെയുള്ള എല്ലാ സബ്സിസ്റ്റങ്ങളുടെയും സ്ഥിതിവിവരക്കണക്കുകൾ നിങ്ങൾക്ക് പ്രദർശിപ്പിക്കാൻ കഴിയും.

# collectl --all

പക്ഷേ, യൂട്ടിലിറ്റിയുടെ സഹായത്തോടെ നിങ്ങൾ എങ്ങനെയാണ് സിപിയു ഉപയോഗം നിരീക്ഷിക്കുന്നത്? ഏത് സബ്സിസ്റ്റം ഡാറ്റയാണ് ശേഖരിക്കേണ്ടത് അല്ലെങ്കിൽ പ്ലേ ബാക്ക് ചെയ്യേണ്ടതെന്ന് നിയന്ത്രിക്കാൻ -s ഓപ്ഷൻ ഉപയോഗിക്കണം.

ഉദാഹരണത്തിന്, cpu ഉപയോഗത്തിന്റെ സംഗ്രഹം നിരീക്ഷിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കാം.

# collectl -sc

നിങ്ങൾ scdn എന്ന കമാൻഡ് സംയോജിപ്പിക്കുമ്പോൾ എന്ത് സംഭവിക്കും? കമാൻഡ്-ലൈൻ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് അറിയാനുള്ള ഏറ്റവും നല്ല മാർഗം കഴിയുന്നത്ര പരിശീലിക്കുക എന്നതാണ്, അതിനാൽ നിങ്ങളുടെ ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് എന്താണ് സംഭവിക്കാൻ പോകുന്നതെന്ന് കാണുക.

# collectl -scdn

സ്ഥിരസ്ഥിതി ഓപ്ഷൻ cdn ആണെന്ന് നിങ്ങൾക്ക് എളുപ്പത്തിൽ മനസ്സിലാക്കാം, ഇത് cpu, ഡിസ്കുകൾ, നെറ്റ്വർക്ക് ഡാറ്റ എന്നിവയെ സൂചിപ്പിക്കുന്നു. കമാൻഡിന്റെ ഫലം “collectl -scn” ന്റെ ഔട്ട്പുട്ടിനു തുല്യമാണ്.

നിങ്ങൾക്ക് മെമ്മറിയെക്കുറിച്ചുള്ള ഡാറ്റ ശേഖരിക്കണമെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# collectl -sm

നിങ്ങളുടെ മെമ്മറി ഉപയോഗം, സൌജന്യ മെമ്മറി, നിങ്ങളുടെ സിസ്റ്റത്തിന്റെ പ്രകടനത്തിന് മറ്റ് പ്രധാനപ്പെട്ട കാര്യങ്ങൾ എന്നിവയെ കുറിച്ചുള്ള ചില വിശദമായ വിവരങ്ങൾ ലഭിക്കണമെങ്കിൽ മുകളിലെ ഔട്ട്പുട്ട് വളരെ ഉപയോഗപ്രദമാണ്.

ടിസിപിയിലെ ചില ഡാറ്റ എങ്ങനെയുണ്ട്? അത് ചെയ്യാൻ താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# collectl -st

നിങ്ങൾ കുറച്ച് അനുഭവം നേടിയ ശേഷം നിങ്ങൾക്ക് ആവശ്യമുള്ള ഫലങ്ങൾ നേടുന്നതിന് ഓപ്ഷനുകൾ എളുപ്പത്തിൽ സംയോജിപ്പിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് tcp-യ്ക്കുള്ള “t” ഉം cpu-യ്ക്കായി “c” ഉം സംയോജിപ്പിക്കാം. താഴെ പറയുന്ന കമാൻഡ് അത് ചെയ്യുന്നു.

# collectl -stc

ലഭ്യമായ എല്ലാ ഓപ്ഷനുകളും ഓർക്കാൻ മനുഷ്യരായ ഞങ്ങൾക്ക് ബുദ്ധിമുട്ടാണ്, അതിനാൽ ടൂൾ പിന്തുണയ്ക്കുന്ന സബ്സിസ്റ്റങ്ങളുടെ സംഗ്രഹ ലിസ്റ്റ് ഞാൻ പോസ്റ്റുചെയ്യുന്നു.

  • b – ചങ്ങാതി വിവരം (മെമ്മറി ഫ്രാഗ്മെന്റേഷൻ)
  • c – CPU
  • d – Disk
  • f – NFS V3 ഡാറ്റ
  • i – Inode, ഫയൽ സിസ്റ്റം
  • j – തടസ്സപ്പെടുത്തുന്നു
  • l – Lustre
  • m – മെമ്മറി
  • n – നെറ്റ്വർക്കുകൾ
  • s – സോക്കറ്റുകൾ
  • t – TCP
  • x – പരസ്പരം ബന്ധിപ്പിക്കുക
  • y – സ്ലാബുകൾ (സിസ്റ്റം ഒബ്ജക്റ്റ് കാഷെകൾ)

ഒരു സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ അല്ലെങ്കിൽ ഒരു ലിനക്സ് ഉപയോക്താവിനുള്ള വളരെ പ്രധാനപ്പെട്ട ഒരു ഡാറ്റയാണ് ഡിസ്ക് ഉപയോഗത്തിൽ ശേഖരിക്കുന്ന ഡാറ്റ. ഡിസ്ക് ഉപയോഗം നിരീക്ഷിക്കാൻ താഴെ പറയുന്ന കമാൻഡ് നിങ്ങളെ സഹായിക്കും.

# collectl -sd

വ്യക്തിഗത ഡിസ്കുകളിൽ ഡാറ്റ ശേഖരിക്കുന്നതിന് നിങ്ങൾക്ക് “-sD” ഓപ്ഷനും ഉപയോഗിക്കാം, എന്നാൽ മൊത്തം ഡിസ്കുകളിലെ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യപ്പെടില്ലെന്ന് നിങ്ങൾ അറിഞ്ഞിരിക്കണം.

# collectl -sD

വിശദമായ ഡാറ്റ ശേഖരിക്കുന്നതിന് നിങ്ങൾക്ക് മറ്റ് വിശദാംശ ഉപസിസ്റ്റങ്ങളും ഉപയോഗിക്കാം. വിശദമായ സബ്സിസ്റ്റങ്ങളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു.

  • C – CPU
  • D – Disk
  • E – പാരിസ്ഥിതിക ഡാറ്റ (ഫാൻ, പവർ, ടെമ്പ്), ipmitool വഴി
  • F – NFS ഡാറ്റ
  • J – തടസ്സപ്പെടുത്തുന്നു
  • L - ലസ്റ്റർ OST വിശദാംശങ്ങൾ അല്ലെങ്കിൽ ക്ലയന്റ് ഫയൽസിസ്റ്റം വിശദാംശങ്ങൾ
  • N – നെറ്റ്വർക്കുകൾ
  • T – 65 TCP കൗണ്ടറുകൾ പ്ലോട്ട് ഫോർമാറ്റിൽ മാത്രം ലഭ്യമാണ്
  • X – പരസ്പരം ബന്ധിപ്പിക്കുക
  • Y – സ്ലാബുകൾ (സിസ്റ്റം ഒബ്ജക്റ്റ് കാഷെകൾ)
  • Z – പ്രക്രിയകൾ

കളക്ട് യൂട്ടിലിറ്റിയിൽ നിരവധി ഓപ്ഷനുകൾ ലഭ്യമാണ്, എന്നാൽ അവയെല്ലാം ഒരു ലേഖനത്തിൽ മാത്രം ഉൾക്കൊള്ളാൻ മതിയായ സമയവും സ്ഥലവും ഇല്ല. എന്നിരുന്നാലും, യൂട്ടിലിറ്റി എങ്ങനെ ടോപ്പും പിഎസും ആയി ഉപയോഗിക്കാമെന്ന് പരാമർശിക്കുകയും പഠിപ്പിക്കുകയും ചെയ്യുന്നത് മൂല്യവത്താണ്.

ടോപ്പ് യൂട്ടിലിറ്റി ആയി കളക്ട് പ്രവർത്തിക്കുന്നത് വളരെ എളുപ്പമാണ്, നിങ്ങളുടെ ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, നിങ്ങളുടെ ലിനക്സ് സിസ്റ്റത്തിൽ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ടോപ്പ് ടൂളിൽ സമാനമായ ഒരു ഔട്ട്പുട്ട് നിങ്ങൾ കാണും.

# collectl --top

ഇപ്പോൾ അവസാനത്തേത് എന്നാൽ ഏറ്റവും പ്രധാനം, ps ടൂളായി കളക്ടർ യൂട്ടിലിറ്റി ഉപയോഗിക്കുന്നതിന് നിങ്ങളുടെ ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങളുടെ ടെർമിനലിൽ ps കമാൻഡ് പ്രവർത്തിപ്പിക്കുമ്പോൾ ചെയ്യുന്നതുപോലെ നിങ്ങളുടെ സിസ്റ്റത്തിലെ പ്രക്രിയകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ നിങ്ങൾക്ക് ലഭിക്കും.

# collectl -c1 -sZ -i:1

പല ലിനക്സ് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാരും കളക്ട് ടൂൾ ഇഷ്ടപ്പെടുമെന്നും അത് പൂർണ്ണമായി ഉപയോഗിക്കുമ്പോൾ അതിന്റെ ശക്തി അനുഭവപ്പെടുമെന്നും എനിക്ക് ഉറപ്പുണ്ട്. കളക്ടിനെക്കുറിച്ചുള്ള നിങ്ങളുടെ അറിവ് അടുത്ത ലെവലിലേക്ക് ഉയർത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അതിന്റെ മാനുവൽ പേജുകൾ പരിശോധിച്ച് പരിശീലനം തുടരുക.

നിങ്ങളുടെ ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്ത് വായിക്കാൻ ആരംഭിക്കുക.

# man collectl