Integrasi Sysdig Monitor di OpenShift
Sysdig mampu menyediakan Cloud Monitoring yang memungkinkan kita untuk memaksimalkan performa dan ketersediaan dari infrastruktur, layanan, dan aplikasi berbasis cloud. Pada artikel ini saya akan mencoba mengintegrasikan layanan Sysdig Monitor dengan klaster OpenShift Cloud Platform.
Sysdig
Sysdig adalah sebuah Software as a Service (SaaS) yang bertugas untuk mengambil timeseries data atau biasa disebut metric dari klaster atau cloud native environment kemudian mengolah lalu menampilkannya secara real time untuk berbagai kebutuhan, misalnya akselerasi troubleshooting, monitoring at scale, menyederhanakan visibilitas metric, membangun dashboard monitoring yang fleksibel, hingga memberikan alert dengan respon cepat. Sysdig membagi produknya menjadi beberapa jenis, yaitu Sysdig Monitor, Sysdig Secure, dan gabungan dari keduanya yang disebut dengan Sysdig Platform atau Sysdig Secure DevOps Platform. Semua produk tersebut sebenarnya adalah komersil, namun kita dapat mencobanya dengan free-trial selama satu bulan. Pada artikel ini saya hanya akan mencoba mengintegrasikan Sysdig Monitor saja.
Metrics
Metric adalah nilai kuantitatif atau ukuran yang dapat dikelompokkan atau dibagi dengan label. Metric dari Sysdig Monitor dibagi menjadi dua jenis seperti berikut.
- Default metrics, yaitu metric yang berhubungan dengan sistem atau host, container, orchestrator, HTTP, dan infrastruktur jaringan.
- Custom metrics, berhubungan dengan metric yang didapat dari aplikasi pihak ketiga seperti JMX, StatsD, Prometheus dan beberapa metric dari aplikasi lain yang terintegrasi.
Sysdig secara otomatis mengambil metric dari berbagai tipe, dan melabelinya secara otomatis. Custom Metric juga dapat dilabeli sesuai kebutuhan pengguna. Biasanya metric akan berguna untuk membuat Dashboard hingga Alerts.
Sysdig Agent
Untuk dapat berjalan pada lingkungan cloud native yang kita miliki, Sysdig menggunakan agent yang disebut dengan Sysdig Agent, di mana agent tersebut diwujudkan sebagai sebuah container atau sebuah service yang dapat di-deploy dengan atau tanpa container orchestrator seperti Kubernetes atau Mesos.
Prerequisites
Pastikan beberapa syarat ini terpenuhi sebelum melakukan tahap lebih lanjut.
Membuat Akun
Kita memerlukan sebuah akun free-trial untuk mencoba Sysdig. Akun ini kita perlukan agar dapat mengoperasikan dashboard front end Sysdig Monitor dari klaster OpenShift kita. Silahkan membuat akun Sysdig dengan alamat berikut.
Isi beberapa data yang dibutuhkan seperti nama, jabatan pekerjaan, alamat email, nama perusahaan, dan negara. Kemudian pilih Trial Offer yang dibutuhkan, misalnya Sysdig Monitor. Untuk SaaS Region dapat dipilih berdasarkan di mana letak infrastruktur kita berada. Karena saya menggunakan layanan AWS di Amerika Serikat untuk menjalankan klaster OpenShift, maka saya memilih Region us-west. Kemudian untuk Primay Use Cases dapat di pilih apapun, misalnya Kubernetes Monitoring.
Jika kata sandi sudah dibuat, biasanya kita perlu menunggu sekitar 15 menit untuk dapat masuk ke front-end dari Setelah membuat akun, tunggu beberapa saat dan kita akan mendapatkan sebuah email untuk membuat kata sandi baru.
Mendapatkan Access Key
Untuk mendapatkan access key kita perlu masuk ke situs front end Sysdig. Kita dapat mengaksesnya dengan URL sesuai dengan Region yang kita gunakan.
Region | URL |
---|---|
US East (North Virginia) | app.sysdigcloud.com/#/login |
US West (Oregon) | us2.app.sysdig.com/#/login |
European Union | eu1.app.sysdig.com/#/login |
Setelah login, lalu masuk ke halaman Settings seperti berikut ini.
Kemudian, pilih Agent Installation maka akan terdapat Access Key yang nanti akan kita gunakan.
Klaster OpenShift
Di sini saya telah memiliki klaster OpenShift 4 dari hasil instalasi dengan metode IPI seperti yang telah saya tulis pada artikel sebelumnya (Quick Install OKD 4 di AWS). Dan pastikan bahwa OpenShift dapat dikelola dari komputer lokal kita menggunakan perintah oc
atau origin-client
.
Konfigurasi OpenShift
Jika prasyarat sebelumnya telah terpenuhi, maka kita dapat melanjutkan beberapa tahap berikut.
Membuat Project Baru
Buat sebuah project baru untuk deployment Sysdig Agent seperti berikut.
|
|
Melabeli Node
Labeli semua node dengan node selector seperti berikut ini.
|
|
Pindah Project
Sekarang kita akan berpindah menuju project yang baru saja dibuat, jalankan perintah berikut.
|
|
Membuat Service Account
Kita perlu membuat service account baru untuk project sysdig-agent.
|
|
Previlege Security Context Constraints
Tambahkan service account sebelumnya ke previleged Security Context Constraint dengan perintah berikut ini.
|
|
Cluster Role
Tambahkan service account sebelumnya ke Cluster Role cluster-reader
seperti berikut.
|
|
Memasang Sysdig Agent
Pada tahap ini saya akan menggunakan Helm untuk mempermudah dan mempercepat pemasangan Sysdig Agent pada klaster.
Pasang Paket Helm
Sebelumnya pasang terlebih dahulu paket helm
di komputer lokal kita dengan perintah seperti berikut.
|
|
pacman
. Silahkan sesuaikan dengan distro yang kalian gunakan.Menambah Repositori
Tambahkan repositori Helm dari Sysdig ke komputer lokal.
|
|
Pasang Sysdig Agent dengan Helm
Jalankan perintah berikut ini untuk memasang Sysdig Agent melalui Helm.
|
|
Sesuaikan accessKey dengan yang kita dapat dari front-end Sysdig di tahap sebelumnya. Sesuaikan juga k8s_cluster_name dengan nama klaster OpenShift kita. Sedangkan untuk collector dan collector_port disesuaikan dengan region dari akun Sysdig yang kita gunakan, di sini saya memakai ingest-us2.app.sysdig.com:6443
karena saya menggunakan akun Sysdig dengan region us-west. Untuk informasi selengkapnya dari masing-masing region, silahkan melihat alamat kolektor dari Sysdig.
Pengujian
Jika tahap-tahap sebelumnya telah dilakukan, sekarang kita akan menguji apakah Sysdig Agent berhasil terpasang pada klaster.
Pods
Coba periksa pods milik Sysdig Agents dengan perintah berikut.
|
|
Jika berhasil, maka kurang lebih akan muncul tampilan seperti berikut.
|
|
Front End
Buka kembali dashboard front-end Sysdig, apabila Sysdig Agent berhasil terpasang maka seharusnya pada halaman Get Started akan muncul tampilan seperti berikut.
Selanjutnya coba buka Dashboard kemudian misalnya pilih saja Host Resource Usage, seharusnya akan tampil informasi penggunaan resource dari klaster seperti berikut ini.
Sedangkan untuk menampilkan Overview kita perlu menunggu beberapa saat karena Sysdig membutuhkan waktu yang cukup lama untuk mengolah metric dari klaster. Jika sudah bisa ditampilkan, maka kurang lebih akan seperti berikut.
Kesimpulan
Jika kita ingin melakukan inspeksi lebih lanjut terhadap container yang ada pada klaster, sebenarnya kita dapat memilih menggunakan Sysdig Platform di mana kita juga akan mendapatkan Sysdig Secure untuk keperluan forensik atau kebutuhan lain terkait keamanan pada klaster. Pada bagian Settings di Sysdig Monitor kita akan mendapati beberapa fitur Notification Channels yang lumayan berguna. Fitur tersebut dapat kita kombinasikan dengan menu Alerts untuk mengirimkan pemberitahuan langsung melalui beberapa macam layanan seperti Email, Slack, hingga WebHook. Sebagai alternatif lain dari Sysdig kita dapat menggunakan tools seperti GAP Stack (Grafana, Alertmanager, Prometheus) atau DataDog. Sebelumnya saya mencoba untuk mengintegrasikan Sysdig pada OKD namun menemui issue pada pod Sysdig Agent, selanjutnya saya putuskan untuk mencobanya di klaster OpenShift dan Sysdig Monitor dapat berjalan tanpa kendala.
Referensi
- docs.sysdig.com/en/getting-started-with-sysdig-monitor.html
- docs.sysdig.com/en/host-requirements-for-agent-installation.html
- docs.sysdig.com/en/steps-for-openshift.html
- charts.sysdig.com/
- docs.sysdig.com/en/saas-regions-and-ip-ranges.html
- docs.openshift.com/container-platform/4.6/cli_reference/helm_cli/getting-started-with-helm-on-openshift-container-platform.html
- www.openshift.com/blog/monitoring-openshift-three-tools
- kubernetes.io/docs/concepts/cluster-administration/system-metrics/