Memantau sumber daya sistem & analisis kinerja adalah tugas penting setiap administrator sistem. Ada banyak alat yang tersedia untuk Linux untuk memantau kinerja sistem, termasuk utilitas top, htop, free, dll.
Collectl adalah alat pemantauan kinerja yang free dan open source yang dapat digunakan untuk mengumpulkan informasi sumber daya sistem seperti, cpu, disk, memori, jaringan, Infiniband, lustre, memori, nfs, slabs, dan banyak lagi.
Tidak seperti alat pemantauan lain, collectl fokus pada set kecil statistik. Collectl mampu memonitor berbagai parameter secara bersamaan dan melaporkannya dengan cara yang sesuai. Collectl hadir dengan sejumlah opsi yang membantu Anda mengidentifikasi segala jenis masalah kinerja sistem. Menggunakan collectl, Anda dapat menghasilkan output yang sama dengan perintah mpstat, netstat, nfsstat, sar, ps, top dan iostat.
fitur collectl
- Kemampuan untuk menampilkan output dalam banyak format.
- Ekspor data dalam berbagai format file.
- Kemampuan untuk dijalankan sebagai layanan untuk memantau mesin jarak jauh.
- Pantau hampir semua subsistem.
Dalam tutorial ini, kita akan belajar cara menginstal dan menggunakan Collectl di server Ubuntu 18.04.
Persyaratan
- Server yang menjalankan Ubuntu 18.04.
- Masuk sebagai root atau user dengan hak sudo
Mulai
Sebelum memulai, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukan ini dengan menjalankan perintah berikut:
sudo apt-get update && sudo apt-get upgrade -y
Setelah server Anda diperbarui, Anda dapat melanjutkan ke langkah selanjutnya.
Instal Collectl
Secara default, Collectl tersedia di repositori default Ubuntu 18.04. Anda dapat menginstalnya dengan menjalankan perintah berikut:
sudo apt-get install collectl -y
Setelah instalasi selesai, Anda dapat menjalankan perintah berikut untuk melihat semua opsi yang tersedia untuk collectl:
collectl --h
Anda akan melihat output berikut:
This is a subset of the most common switches and even the descriptions are abbreviated. To see all type 'collectl -x', to get started just type 'collectl' usage: collectl [switches] -c, --count count collect this number of samples and exit -f, --filename file name of directory/file to write to -i, --interval int collection interval in seconds [default=1] -o, --options options misc formatting options, --showoptions for all d|D - include date in output T - include time in output z - turn off compression of plot files -p, --playback file playback results from 'file' (be sure to quote if wild carded) or the shell might mess it up -P, --plot generate output in 'plot' format -s, --subsys subsys specify one or more subsystems [default=cdn] --verbose display output in verbose format (automatically selected when brief doesn't make sense) Various types of help -h, --help print this text -v, --version print version -V, --showdefs print operational defaults -x, --helpextend extended help, more details descriptions too -X, --helpall shows all help concatenated together --showoptions show all the options --showsubsys show all the subsystems --showsubopts show all subsystem specific options --showtopopts show --top options --showheader show file header that 'would be' generated --showcolheaders show column headers that 'would be' generated --showslabaliases for SLUB allocator, show non-root aliases --showrootslabs same as --showslabaliases but use 'root' names Copyright 2003-2016 Hewlett-Packard Development Company, L.P. collectl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the source kit
Cara Menggunakan Collectl
Sekarang, jalankan collectl tanpa opsi apa pun akan menampilkan informasi tentang cpu, disk, dan statistik jaringan dalam format yang sangat pendek dan dapat dengan mudah dibaca oleh manusia.
collectl
Anda akan melihat output berikut:
<--------CPU--------><----------Disks-----------><----------Network----------> #cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut 8 0 942 4183 128 1 0 0 0 0 0 0 7 1 973 4393 0 0 80 6 0 3 3 4 14 3 1268 6025 0 0 0 0 0 2 0 1 26 12 1459 6551 0 0 164 3 0 0 0 0 27 13 1854 8698 0 0 0 0 0 1 0 1 13 3 1229 4205 0 0 232 3 0 4 1 4 10 1 1083 3856 0 0 280 5 0 1 0 1 9 2 1066 3747 128 1 0 0 0 2 0 2 10 3 1046 4239 0 0 0 0 0 2 0 2 10 3 1060 3992 0 0 0 0 0 1 0 2 11 2 1062 3907 0 0 1688 3 0 1 0 1 10 2 1116 3750 0 0 616 71 0 3 0 1 11 2 1046 3627 128 1 80 3 0 2 0 2 9 2 1103 4689 0 0 0 0 0 1 0 1 13 2 1197 5198 0 0 0 0 0 1 0 1 10 2 1124 4365 128 1 0 0 0 0 0 0
Anda juga dapat list statistik untuk semua subsistem dengan perintah berikut:
collectl --all
Output:
#<--------CPU--------><-------Int--------><-----------------Memory-----------------><----------Disks-----------><----------Network----------><-------TCP--------><------Sockets-----><----Files---><------NFS Totals------> #cpu sys inter ctxsw Cpu0 Cpu1 Cpu2 Cpu3 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 7 1 950 3436 191 222 258 279 926M 3G 3G 2G 1G 6G ttsssrkg923 0 0 400 43 1 4 1 4 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 906 3125 171 202 203 337 928M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 843 3300 259 263 121 201 942M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 1 0 1 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 852 2790 198 320 188 151 942M 3G 3G 2G 1G 6G ttsssrkg923 128 1 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 852 3433 210 279 210 155 942M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 6 0 881 3035 171 204 304 206 942M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644446 0 0 0 0 6 1 884 2950 187 254 162 306 942M 3G 3G 2G 1G 6G ttsssrkg923 0 0 280 5 0 1 0 2 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 872 3375 140 261 280 191 942M 3G 3G 2G 1G 6G ttsssrkg923 0 0 220 3 0 1 0 1 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 0 859 2858 203 234 228 213 942M 3G 3G 2G 1G 6G ttsssrkg923 128 1 0 0 0 2 0 2 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 885 3346 249 213 219 230 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 5 0 787 2659 219 153 180 232 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 68 2 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 8 1 937 3264 217 248 246 256 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 4 1 4 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 908 3463 171 260 264 215 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 360 37 0 3 0 1 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 1 845 2850 188 246 214 195 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 6 0 806 3168 219 247 197 143 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 0 0 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0 7 0 880 2920 221 225 243 191 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 256 5 0 4 0 5 0 0 0 0 1762 0 0 0 17184 644446 0 0 0 0 6 1 840 2953 198 271 224 149 941M 3G 3G 2G 1G 6G ttsssrkg923 0 0 20 2 0 0 0 0 0 0 0 0 1762 0 0 0 17184 644445 0 0 0 0
Anda juga dapat menggunakan perintah collectl dengan opsi –top seperti yang ditunjukkan di bawah ini:
collectl --top
Output:
# TOP PROCESSES sorted by time (counters are /sec) 01:22:37 # PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command 2257 linuxid 20 491 1 S 1G 143M 3 0.01 0.16 17 01:52.14 0 0 0 0 /usr/bin/mplayer 2791 linuxid 20 2117 0 R 68M 28M 1 0.01 0.08 9 00:00.56 0 0 0 2 /usr/bin/perl 1024 root 20 996 1 S 402M 196M 0 0.02 0.02 4 40:23.01 0 0 0 0 /usr/lib/xorg/Xorg 1735 linuxid 20 1712 8 S 3G 145M 3 0.01 0.02 3 40:50.11 0 0 0 0 kwin_x11 2112 linuxid 20 1745 2 S 666M 71M 2 0.01 0.01 2 00:04.46 0 0 0 0 /usr/bin/konsole 32095 linuxid 20 12627 11 S 4G 136M 3 0.01 0.01 2 00:13.31 0 0 0 1 /opt/google/chrome/chrome 491 linuxid 20 1687 3 S 727M 70M 2 0.00 0.01 1 00:32.40 0 0 0 0 /usr/bin/smplayer 1204 root RT 2 0 S 0 0 1 0.01 0.00 1 16:49.88 0 0 0 0 irq/130-nvidia 2259 linuxid 20 14743 24 S 2G 158M 0 0.00 0.01 1 00:17.82 0 0 0 1 /usr/lib/firefox/firefox 12613 linuxid 20 1745 28 S 1G 464M 0 0.00 0.01 1 32:45.95 0 0 0 0 /opt/google/chrome/chrome 13059 linuxid 20 12627 14 S 8G 194M 1 0.00 0.01 1 03:13.19 0 0 0 3 /opt/google/chrome/chrome 14805 linuxid 20 14743 29 S 2G 279M 3 0.01 0.00 1 04:35.76 0 0 0 0 /usr/lib/firefox/firefox 14842 linuxid 20 14743 28 S 2G 314M 3 0.00 0.01 1 02:42.34 0 0 0 0 /usr/lib/firefox/firefox 22268 linuxid 20 1 0 S 29M 12M 0 0.00 0.01 1 01:53.95 0 0 0 0 /opt/wine-stable/bin/wineserver 24582 linuxid 20 12627 11 S 4G 163M 0 0.00 0.01 1 01:32.96 0 0 0 0 /opt/google/chrome/chrome 26178 linuxid 20 14743 29 S 3G 311M 0 0.00 0.01 1 02:34.64 0 0 0 1 /usr/lib/firefox/firefox 26416 linuxid 20 12627 13 S 8G 237M 3 0.00 0.01 1 02:45.15 0 0 0 4 /opt/google/chrome/chrome 1 root 20 0 0 S 220M 9M 1 0.00 0.00 0 00:04.64 0 0 0 0 /sbin/init 2 root 20 0 0 S 0 0 3 0.00 0.00 0 00:00.02 0 0 0 0 kthreadd 4 root 0 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/0:0H 6 root 0 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 mm_percpu_wq 7 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.39 0 0 0 0 ksoftirqd/0
Monitor CPU, Memori dan Penggunaan Disk
Anda dapat memantau penggunaan CPU dengan menjalankan opsi collectl dengan -sc
:
collectl -sc
Output:
#<--------CPU--------> #cpu sys inter ctxsw 13 6 1045 4635 13 5 1058 4631 7 1 858 3009 10 3 954 3897 7 1 881 3528 14 3 1068 4465 6 0 861 2866 17 5 1097 4289 16 4 1087 4409 15 5 1027 4173 9 1 1103 2988 11 3 947 3475 8 2 910 3001 11 1 1009 3926 8 1 881 3399
Anda juga dapat melihat informasi detail penggunaan CPU dengan perintah berikut:
collectl -sC
Output:
waiting for 1 second sample... # SINGLE CPU STATISTICS # Cpu User Nice Sys Wait IRQ Soft Steal Guest NiceG Idle 0 2 0 2 0 0 0 0 0 0 95 1 3 0 1 0 0 0 0 0 0 95 2 3 0 1 0 0 0 0 0 0 94 3 12 0 1 0 0 0 0 0 0 86 0 5 0 0 0 0 0 0 0 0 94 1 3 0 1 0 0 0 0 0 0 95 2 9 0 1 9 0 0 0 0 0 80 3 7 0 2 0 0 0 0 0 0 91 0 2 0 2 0 0 0 0 0 0 96 1 4 0 2 0 0 0 0 0 0 94 2 14 0 0 0 0 0 0 0 0 85 3 2 0 0 0 0 0 0 0 0 97 0 14 0 2 0 0 0 0 0 0 84 1 4 0 1 0 0 0 0 0 0 94 2 4 0 1 1 0 0 0 0 0 93 3 10 0 2 0 0 0 0 0 0 88 0 6 0 2 0 0 0 0 0 0 91 1 6 0 1 1 0 0 0 0 0 92 2 14 0 1 2 0 0 0 0 0 82
Untuk memantau penggunaan memori sistem Anda, jalankan perintah berikut:
collectl -sm
Output:
#<-----------Memory-----------> #Free Buff Cach Inac Slab Map 978M 3G 3G 2G 1G 6G 978M 3G 3G 2G 1G 6G 979M 3G 3G 2G 1G 6G 979M 3G 3G 2G 1G 6G 979M 3G 3G 2G 1G 6G 979M 3G 3G 2G 1G 6G 978M 3G 3G 2G 1G 6G 978M 3G 3G 2G 1G 6G 978M 3G 3G 2G 1G 6G
Monitor penggunaan memori dengan informasi detail dengan perintah berikut:
collectl -sM
Output:
waiting for 1 second sample... # MEMORY STATISTICS # Node Total Used Free Slab Mapped Anon AnonH Locked Inact HitPct 0 15999M 15025M 997968K 1672M 1239M 5590M 0 0 3074M 100.00 0 15999M 15023M 976M 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 976M 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 976M 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 976M 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 976M 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 999816K 1672M 1239M 5588M 0 0 3074M 100.00 0 15999M 15023M 999724K 1672M 1239M 5589M 0 0 3075M 100.00 0 15999M 15023M 999584K 1672M 1239M 5589M 0 0 3075M 100.00 0 15999M 15023M 999468K 1672M 1239M 5589M 0 0 3075M 100.00
Anda dapat memantau penggunaan disk dengan perintah berikut:
collectl -sd
Output:
waiting for 1 second sample... #<----------Disks-----------> #KBRead Reads KBWrit Writes 0 0 0 0 0 0 64 3 128 1 0 0 0 0 836 39 0 0 4 1 0 0 0 0 0 0 224 3 0 0 0 0 0 0 240 35 128 1 0 0 0 0 300 32 0 0 0 0
Pantau penggunaan disk dengan informasi detail dengan perintah berikut:
collectl -sD
Output:
waiting for 1 second sample... # DISK STATISTICS (/sec) # <---------reads---------------><---------writes--------------><--------averages--------> Pct #Name KBytes Merged IOs Size Wait KBytes Merged IOs Size Wait RWSize QLen Wait SvcTim Util sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sdb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sdc 0 0 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 0 0 sdb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sdc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 0 252 10 5 50 10 50 1 10 10 5 sdb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sdc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 0 120 12 4 30 17 30 1 17 17 6 sdb 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Monitor CPU, Memory dan Disk Bersamaan
Anda dapat memantau penggunaan CPU, Memori dan Disk dengan menjalankan perintah berikut :
collectl -scmd
Output:
waiting for 1 second sample... #<--------CPU--------><-----------Memory-----------><----------Disks-----------> #cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes 8 1 856 3239 955M 3G 3G 2G 1G 6G 0 0 0 0 6 1 881 3546 955M 3G 3G 2G 1G 6G 12 1 912 38 8 1 899 3060 955M 3G 3G 2G 1G 6G 0 0 0 0 6 0 808 2676 955M 3G 3G 2G 1G 6G 128 1 0 0 6 0 864 2895 955M 3G 3G 2G 1G 6G 0 0 272 4 7 1 861 3344 954M 3G 3G 2G 1G 6G 0 0 240 6 8 1 920 3482 954M 3G 3G 2G 1G 6G 0 0 316 41 6 1 821 2723 954M 3G 3G 2G 1G 6G 0 0 0 0 9 3 993 3937 954M 3G 3G 2G 1G 6G 0 0 24 1 7 1 881 2763 954M 3G 3G 2G 1G 6G 0 0 0 0 9 1 1333 3967 969M 3G 3G 2G 1G 6G 0 0 440 41
Kesimpulan
Pada artikel di atas, kami telah memberikan gambaran singkat tentang collectl. Collectl hadir dengan banyak opsi yang memudahkan Anda memonitor sistem Linux Anda.