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:
- strace – menemukan panggilan sistem dan sinyal ke suatu proses.
- tcpdump – pemantauan lalu lintas jaringan mentah.
- netstat – pemantauan koneksi jaringan.
- htop – pemantauan proses waktu nyata.
- iftop – pemantauan bandwidth jaringan waktu nyata.
- 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:
- BCC – Alat Penelusuran Dinamis untuk Pemantauan Kinerja Linux, Jaringan, dan Lainnya
- pyDash – Alat Pemantauan Kinerja Linux Berbasis Web
- Perf- Alat Pemantauan dan Analisis Kinerja untuk Linux
- Collectl: Alat Pemantauan Kinerja All-in-One Tingkat Lanjut untuk Linux
- 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.