Sysdig - Alat Pemantauan dan Pemecahan Masalah Sistem yang Kuat untuk Linux


Sysdig adalah alat pemantauan dan pemecahan masalah sistem sumber terbuka, lintas platform, kuat dan fleksibel untuk Linux; ini juga berfungsi pada Windows dan Mac OSX tetapi dengan fungsionalitas terbatas dan dapat digunakan untuk analisis sistem, inspeksi, dan debugging.

Biasanya, Anda akan menggunakan campuran berbagai alat pemantauan kinerja dan pemecahan masalah Linux termasuk yang tercantum di bawah ini untuk melakukan tugas pemantauan dan debugging Linux:

  1. strace – menemukan panggilan sistem dan sinyal ke suatu proses.
  2. tcpdump – pemantauan lalu lintas jaringan mentah.
  3. netstat – pemantauan koneksi jaringan.
  4. htop – pemantauan proses waktu nyata.
  5. iftop – pemantauan bandwidth jaringan waktu nyata.
  6. lsof – melihat file mana yang dibuka dengan proses apa.

Namun, sysdig mengintegrasikan semua alat di atas dan banyak lagi, yang ditawarkan dalam satu program sederhana, terlebih lagi dengan dukungan container yang luar biasa. Ini memungkinkan Anda untuk menangkap, menyimpan, memfilter, dan memeriksa perilaku nyata (aliran peristiwa) sistem Linux serta container.

Muncul dengan antarmuka baris perintah dan UI interaktif yang kuat (csysdig) yang memungkinkan Anda melihat aktivitas sistem secara real-time, atau melakukan dump jejak dan menyimpannya untuk analisis nanti. Anda dapat melihat cara kerja csysdig dari video di bawah ini.

Fitur Sysdig:

  • Ini cepat, stabil dan mudah digunakan dan didokumentasikan dengan baik secara komprehensif.
  • Dilengkapi dengan dukungan asli untuk teknologi container, termasuk Docker, LXC.
  • Itu dapat ditulis dalam Lua; menawarkan pahat (skrip Lua ringan) untuk memproses kejadian sistem yang ditangkap.
  • Mendukung pemfilteran keluaran yang berguna.
  • Mendukung penelusuran sistem dan aplikasi.
  • Itu dapat diintegrasikan dengan Ansible, Puppet dan Logstash.
  • Aktifkan contoh analisis log tingkat lanjut.
  • Ia juga menawarkan fitur analisis serangan server Linux (forensik) untuk peretas etis dan banyak lagi.

Pada artikel ini, kami akan menunjukkan cara menginstal sysdig pada sistem Linux, dan menggunakannya dengan contoh dasar analisis sistem, pemantauan, dan pemecahan masalah.

Cara Install Sysdig di Linux

Menginstal paket sysdig semudah menjalankan perintah di bawah ini, yang akan memeriksa semua persyaratan; jika semuanya sudah siap, ia akan mengunduh dan menginstal paket dari repositori Draios APT/YUM.

curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash 
OR
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

Setelah menginstalnya, Anda perlu menjalankan sysdig sebagai root karena memerlukan akses ke area penting seperti sistem file /proc, /dev/sysdig* perangkat dan perlu memuat modul kernel sysdig-probe secara otomatis (jika tidak); jika tidak gunakan perintah sudo.

Contoh paling mendasar adalah menjalankannya tanpa argumen apa pun, ini akan memungkinkan Anda melihat aliran peristiwa sistem Linux Anda yang diperbarui secara real-time:

sudo sysdig

Output di atas (data mentah) mungkin tidak terlalu masuk akal bagi Anda, untuk output yang lebih berguna, jalankan csysdig:

sudo csysdig 

Catatan: Untuk merasakan alat ini secara nyata, Anda perlu menggunakan sysdig yang menghasilkan data mentah seperti yang kita lihat sebelumnya, dari data yang sedang berjalan Sistem Linux: ini mengharuskan Anda memahami cara menggunakan filter dan pahat.

Namun jika Anda membutuhkan cara yang mudah dalam menggunakan sysdig – lanjutkan dengan csysdig.

Memahami Pahat dan Filter Sysdig

Pahat Sysdig adalah skrip Lua minimal untuk memeriksa aliran peristiwa sysdig guna melaksanakan tindakan pemecahan masalah sistem yang berguna dan banyak lagi. Perintah di bawah ini akan membantu Anda melihat semua pahat yang tersedia:

sudo sysdig -cl

Cuplikan layar menunjukkan daftar contoh pahat dalam berbagai kategori.

Jika Anda ingin mengetahui informasi lebih lanjut tentang pahat tertentu, gunakan tanda -i:

sudo sysdig -i topprocs_cpu

Filter Sysdig menambahkan lebih banyak kekuatan pada jenis keluaran yang dapat Anda peroleh dari aliran peristiwa, filter ini memungkinkan Anda menyesuaikan keluaran. Anda harus menentukannya di akhir baris perintah.

Filter yang mudah dan paling umum adalah pemeriksaan dasar “class.field=value ”, Anda juga dapat menggabungkan pahat dengan filter untuk penyesuaian yang lebih canggih.

Untuk melihat daftar kelas bidang yang tersedia, bidang dan deskripsinya, ketik:


sudo sysdig -l

Membuat File Jejak Sistem Linux

Untuk membuang keluaran sysdig ke dalam file untuk dianalisis nanti, gunakan flag -w seperti ini.

Anda dapat membaca file dump jejak menggunakan tanda -r:


sudo sysdig -r trace.scap

Opsi -s digunakan untuk menentukan jumlah byte data yang akan diambil untuk setiap kejadian sistem. Dalam contoh ini, kami memfilter event untuk proses mongod.

sudo sysdig -s 3000 -w trace.scap
sudo sysdig -r trace.scap proc.name=mongod

Memantau Proses Linux

Untuk membuat daftar proses sistem, ketik:

sudo sysdig -c ps

Pantau Proses berdasarkan Penggunaan CPU

Untuk melihat proses teratas berdasarkan persentase penggunaan CPU, jalankan perintah ini:

sudo sysdig -c topprocs_cpu

Memantau Koneksi Jaringan dan I/O

Untuk melihat koneksi jaringan sistem, jalankan:

sudo sysdig -c netstat

Perintah berikut akan membantu Anda membuat daftar koneksi jaringan teratas berdasarkan total byte:

sudo sysdig -c topconns

Selanjutnya, Anda juga dapat membuat daftar proses teratas berdasarkan jaringan I/O sebagai berikut:

sudo sysdig -c topprocs_net    

Memantau File Sistem I/O

Anda dapat menampilkan data yang dibaca dan ditulis oleh proses pada sistem seperti di bawah ini:

sudo sysdig -c echo_fds

Untuk membuat daftar proses teratas berdasarkan byte disk (baca + tulis), gunakan:

sudo sysdig -c topprocs_file   

Memecahkan Masalah Kinerja Sistem Linux

Untuk mengawasi kemacetan sistem (panggilan sistem yang lambat), jalankan perintah ini:

sudo sysdig -c bottlenecks

Lacak Waktu Eksekusi suatu Proses

Untuk melacak waktu eksekusi suatu proses, Anda dapat menjalankan perintah ini dan membuang jejaknya ke dalam file:

sudo sysdig -w extime.scap -c proc_exec_time 

Kemudian gunakan filter untuk memusatkan perhatian pada detail proses tertentu (postgres dalam contoh ini) sebagai berikut:

sudo sysdig -r extime.scap proc.name=postgres

Temukan Jaringan Lambat I/0

Perintah sederhana ini akan membantu Anda mendeteksi I/0 jaringan yang lambat:

sudo sysdig -c netlower     

Menonton Entri File Log

Perintah di bawah ini membantu Anda menampilkan setiap pesan yang ditulis ke syslog, jika Anda tertarik dengan entri log untuk proses tertentu, buat dump jejak dan filter sesuai seperti yang ditunjukkan sebelumnya:

sudo sysdig -c spy_syslog      

Anda dapat mencetak data apa pun yang ditulis oleh proses apa pun ke file log sebagai berikut:

sudo sysdig -c spy_logs   

Memantau Permintaan Server HTTP

Jika Anda memiliki server HTTP seperti Apache atau Nginx yang berjalan di sistem kami, lihat log permintaan server dengan perintah ini:

sudo sysdig -c httplog    
sudo sysdig -c httptop   [Print Top HTTP Requests] 

Menampilkan Shell Login dan Aktivitas Pengguna Interaktif

Perintah di bawah ini akan memungkinkan Anda melihat semua ID shell login:

sudo sysdig -c list_login_shells

Terakhir, Anda dapat menampilkan aktivitas interaktif pengguna sistem seperti:

sudo sysdig -c spy_users

Untuk informasi dan contoh penggunaan lebih lanjut, baca halaman manual sysdig dan csysdig:

man sysdig 
man csysdig

Referensi: https://www.sysdig.org/

Periksa juga alat pemantauan kinerja Linux yang berguna ini:

  1. BCC – Alat Penelusuran Dinamis untuk Pemantauan Kinerja Linux, Jaringan, dan Lainnya
  2. pyDash – Alat Pemantauan Kinerja Linux Berbasis Web
  3. Perf- Alat Pemantauan dan Analisis Kinerja untuk Linux
  4. Collectl: Alat Pemantauan Kinerja All-in-One Tingkat Lanjut untuk Linux
  5. Netdata – Alat Pemantauan Kinerja Real-Time untuk Sistem Linux
Kesimpulan

Sysdig menyatukan fungsionalitas dari berbagai alat baris perintah ke dalam satu antarmuka yang luar biasa, sehingga memungkinkan Anda menggali lebih dalam peristiwa sistem Linux Anda untuk mengumpulkan data, menyimpannya untuk analisis nanti, dan menawarkan dukungan container yang luar biasa.

Untuk mengajukan pertanyaan atau berbagi pemikiran tentang alat ini, gunakan formulir masukan di bawah.