Sysdig adalah alat pemantauan dan pemecahan masalah sistem sumber terbuka, lintas platform. Ini berguna untuk sysadmin berpengalaman serta mereka yang pertama kali merasakan baris perintah Linux. Ini dapat memberi kami banyak wawasan tentang apa yang sebenarnya terjadi di server, container, atau desktop kami selama operasi normal.
Sysdig hadir dengan antarmuka baris perintah, tetapi juga memiliki UI web untuk mereka yang lebih condong ke GUI.
Sysdig mengumpulkan data sistem dan memungkinkan pengguna memfilter dan memantau data ini dengan berbagai cara. Anda dapat menangkap lalu lintas ke/dari wadah atau VM, menggunakan filter untuk membuat sistem hanya menunjukkan kepada Anda peristiwa yang relevan seperti 'jika proses X mendengarkan pada port Y', dan Anda dapat menggabungkan peristiwa bersama-sama menjadi representasi grafis dari tren jangka panjang .
Kekuatan terbesar Sysdig adalah kedalaman wawasannya. Sysdig dapat memberi tahu Anda di mana semua pembacaan disk Anda terjadi, berapa banyak paket yang dikirim/diterima oleh setiap wadah, atau jika ada server web Anda yang sedang down. Ia bahkan bekerja lebih keras dan mencadangkan informasi ini dengan data biner yang relevan (jika direkam).
Sebagian besar waktu kita sebagai sysadmin dihabiskan untuk memecahkan masalah yang sulit untuk direproduksi atau diidentifikasi. Alasan mengapa masalah ini sangat sulit untuk di-debug adalah karena tidak ada cukup informasi untuk melanjutkan.
Sysdig dapat memberikan informasi yang cukup untuk memecahkan masalah ini. Setelah kami memiliki informasi ini, pemecahan masalah kami menjadi jauh lebih mudah - sering kali kami merasa seperti memiliki kekuatan super.
Sysdig bekerja pada sebagian besar distribusi utama, termasuk CentOS, Ubuntu, Debian, Fedora Core, Arch Linux, Gentoo, dan bahkan OSX. Instalasinya cukup sederhana; tidak memerlukan kompilasi kode sumber (yay!), dan bahkan ada halaman GitHub resmi yang memiliki petunjuk penginstalan untuk setiap distribusi yang didukung secara resmi oleh Sysdig.
Untuk artikel ini, kita akan menginstal Sysdig pada server Debian 11. Prosesnya cukup sederhana dan tidak memerlukan banyak pengetahuan mendalam tentang Linux untuk memulai.
Prasyarat
Untuk menginstal sysdig, kita harus memiliki:
- Koneksi ssh ke server jarak jauh kami.
- Akses root atau sudo.
Memperbarui Sistem
Sebaiknya perbarui sistem sebelum kita melanjutkan. Kita dapat melakukannya dengan menjalankan:
sudo apt-get update && sudo apt-get upgrade -y
Setelah pembaruan selesai, jalankan perintah berikut untuk menginstal dependensi yang diperlukan. libc6 adalah pustaka standar C yang digunakan oleh Sysdig untuk melakukan sebagian besar pekerjaan beratnya. curl adalah alat yang mengambil file menggunakan protokol HTTP atau HTTPS, dan itulah yang akan kita gunakan untuk mengunduh sysdig. libcurl3 adalah dependensi untuk curl.
sudo apt install libc6 libcurl3 gnupg -y
sudo apt install software-properties-common curl -y
Menginstal Syndig di Debian 11
Sekarang setelah sistem diperbarui, mari unduh dan instal Sysdig. Jalankan perintah berikut untuk mengunduh dan menginstal sysdig.
sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
Tergantung pada spesifikasi server Anda, ini mungkin memakan waktu cukup lama. Jadi harap bersabar saat pengunduhan dan penginstalan ini selesai.
Contoh keluaran:
Setelah instalasi selesai, kita dapat memeriksa apakah Sysdig telah diinstal dengan benar dengan menjalankan perintah di bawah ini.
sysdig --version
Jika instalasi berhasil, perintah ini akan mengembalikan detail versi sysdig seperti yang ditunjukkan di bawah ini.
Anda juga dapat memeriksa berbagai kemampuan sysdig dengan menjalankan perintah berikut.
sysdig -h
Menggunakan Sysdig
Setelah Sysdig terinstal, mari membahas beberapa perintah dasar di Sysdig.
Hal pertama yang perlu kita lakukan adalah menjalankan perintah di bawah ini untuk mulai merekam aktivitas sistem. Kami menggunakan perintah sysdig untuk memantau sistem. Kami menjalankan perintah sysdig dengan awalan sudo, yang diperlukan karena csysdig memerlukan akses root atau sudo agar dapat berfungsi.
sudo csysdig
Contoh keluaran:
Saat sysdig mulai merekam peristiwa, sysdig akan mulai mengisi antarmuka dengan informasi. Setelah menjalankan perintah di atas, data sistem diperbarui setiap dua detik. Ini dikendalikan oleh variabel refresh_rate, yang defaultnya adalah 2 detik. Ini dapat disesuaikan menggunakan file konfigurasi sysdig.
Pada output di atas, Anda akan melihat kolom seperti PID, Name, CPU dan Comm. Ini adalah deskripsi kolom dan dapat dilihat dengan mengarahkan mouse ke atasnya. Sintaks nama kolom adalah [nama kolom]- [deskriptor kolom].
Bidang yang paling kami pedulikan biasanya meliputi:
- PID - PID dari proses yang menghasilkan acara.
- PPID - PID dari proses induk untuk proses tertentu.
- %CPU - berapa banyak waktu CPU yang digunakan suatu proses.
- USER - nama pengguna pengguna yang bertanggung jawab atas proses tersebut.
- RES - jumlah memori non-swapped yang digunakan suatu proses.
- Perintah - baris perintah yang memulai proses.
Tentu saja, ada banyak kolom lain yang dapat Anda gunakan untuk menggali lebih dalam aktivitas sistem. Dan Sysdig dapat disesuaikan dengan kebutuhan Anda.
Karena data sistem terus diperbarui, mungkin sulit untuk memahami apa yang terjadi. Kita dapat menghentikan sysdig agar tidak berjalan dengan menekan CTRL + C . Setelah antarmuka dibersihkan, kita dapat menjalankan perintah sysdig dengan opsi dan filter untuk mendapatkan data yang kita inginkan.
Systax adalah sysdig [opsi] [filter].
Mekanisme penyaringan Sysdig sangat kuat dan dapat digunakan untuk menemukan apa yang Anda cari. Filter, mirip dengan tcpdump, terdiri dari rantai satu atau lebih ekspresi primitif yang dihubungkan oleh konjungsi ('dan', 'atau') dan secara opsional diakhiri oleh disjungsi ('tidak'). Untuk menampilkan semua filter yang dapat kita gunakan dengan sysdig, jalankan perintah berikut.
sysdig -l
Anda akan mendapatkan daftar dengan sejumlah besar filter dengan deskripsi singkat masing-masing seperti yang ditunjukkan di bawah ini.
Karena tidak mungkin untuk mencakup semuanya, kami akan membahas beberapa filter yang umum digunakan.
Kita akan mulai dengan filter - proc.name=yang memungkinkan kita memfilter nama proses tertentu.
Misalnya, untuk mencari semua peristiwa untuk nama proses "nano", kita dapat menjalankan perintah berikut.
sudo sysdig proc.name=nano
Contoh keluaran:
Anda juga dapat menggunakan operator seperti “atau” dan “dan” untuk mendapatkan data yang lebih spesifik. Misalnya, Anda bisa mendapatkan semua acara untuk "nano" atau "vi".
sudo sysdig proc.name=cat or proc.name=vi
Jalankan perintah di bawah ini untuk melihat peristiwa terkait jaringan. Anda dapat melihat port mana yang terhubung, alamat MAC, dan banyak lagi secara real-time.
sudo sysdig -c netstat
Contoh keluaran:
Jalankan perintah di bawah untuk mendapatkan proses pemakai CPU teratas.
sudo sysdig -c topprocs_cpu
Contoh keluaran:
Untuk menangkap aktivitas sistem dan menyimpannya untuk analisis nanti, gunakan opsi -w, diikuti dengan nama file. Pada contoh di bawah, kami menangkap semua output dari sysdig ke dalam file bernama “sysdig-output.scap”
sudo sysdig -w sysdig-output.scap
Perintah ini memberitahu sysdig untuk mengeluarkan data secara terus menerus sampai dihentikan dengan menekan CTRL+C . Seiring waktu, ukuran file akan bertambah besar. Anda dapat menggunakan -C opsi untuk menangkap aktivitas sistem ke file dengan ukuran maksimum sejumlah MB tertentu.
Misalnya, perintah di bawah ini akan membuat file baru setiap 1 MB dan menyimpan aktivitas sistem di dalamnya.
sudo sysdig -C 1 -w sysdig-output.scap
Jalankan perintah ls -l untuk melihat file yang baru dibuat dengan nama “sysdig-output.scap” seperti gambar di bawah ini.
ls -l
Outputnya adalah sebagai berikut:
Kesimpulan
Sysdig memiliki banyak fungsi dan dapat digunakan sebagai alat yang hebat untuk pemecahan masalah dan analisis kinerja. Dan karena bersifat open-source, Anda juga dapat memperluas fungsinya melalui pahat untuk memenuhi kebutuhan Anda.
Pada artikel ini, kita telah membahas beberapa perintah dasar untuk memulai dengan sysdig. Untuk bacaan lebih lanjut tentang sysdig dan kasus penggunaannya, silakan lihat halaman dokumentasinya.