Contents

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.

/integrasi-sysdig-monitor-di-openshift/sysdig.png
Sysdig

Metrics

Metric adalah nilai kuantitatif atau ukuran yang dapat dikelompokkan atau dibagi dengan label. Metric dari Sysdig Monitor dibagi menjadi dua jenis seperti berikut.

  1. Default metrics, yaitu metric yang berhubungan dengan sistem atau host, container, orchestrator, HTTP, dan infrastruktur jaringan.
  2. 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.

/integrasi-sysdig-monitor-di-openshift/metric.png
Metric

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.

/integrasi-sysdig-monitor-di-openshift/membuat-akun-sysdig.png
Membuat Akun Sysdig

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.

/integrasi-sysdig-monitor-di-openshift/konfirmasi-email.png
Konfirmasi Email

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.

RegionURL
US East (North Virginia)app.sysdigcloud.com/#/login
US West (Oregon)us2.app.sysdig.com/#/login
European Unioneu1.app.sysdig.com/#/login

Setelah login, lalu masuk ke halaman Settings seperti berikut ini.

/integrasi-sysdig-monitor-di-openshift/settings.png
Settings

Kemudian, pilih Agent Installation maka akan terdapat Access Key yang nanti akan kita gunakan.

/integrasi-sysdig-monitor-di-openshift/settings-agent-installation.png
Settings - Agent Installation

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.

/integrasi-sysdig-monitor-di-openshift/klaster-openshift.png
Klaster Openshift


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.

1
$ oc adm new-project sysdig-agent --node-selector='app=sysdig-agent'

Melabeli Node

Labeli semua node dengan node selector seperti berikut ini.

1
$ oc label node --all "app=sysdig-agent"

Pindah Project

Sekarang kita akan berpindah menuju project yang baru saja dibuat, jalankan perintah berikut.

1
$ oc project sysdig-agent

Membuat Service Account

Kita perlu membuat service account baru untuk project sysdig-agent.

1
$ oc create serviceaccount sysdig-agent

Previlege Security Context Constraints

Tambahkan service account sebelumnya ke previleged Security Context Constraint dengan perintah berikut ini.

1
$ oc adm policy add-scc-to-user privileged -n sysdig-agent -z sysdig-agent

Cluster Role

Tambahkan service account sebelumnya ke Cluster Role cluster-reader seperti berikut.

1
$ oc adm policy add-cluster-role-to-user cluster-reader -n sysdig-agent -z sysdig-agent

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.

1
$ sudo pacman -Sy helm
Perhatian
Saya menggunakan sistem GNU/Linux dengan distro Arch-based, maka di sini saya memakai package manager pacman. Silahkan sesuaikan dengan distro yang kalian gunakan.

Menambah Repositori

Tambahkan repositori Helm dari Sysdig ke komputer lokal.

1
2
$ helm repo add sysdig https://charts.sysdig.com
$ helm repo update

Pasang Sysdig Agent dengan Helm

Jalankan perintah berikut ini untuk memasang Sysdig Agent melalui Helm.

1
2
3
4
5
6
7
8
$ helm install sysdig-agent \
    --set sysdig.accessKey=<access key> \
    --set sysdig.settings.collector=ingest-us2.app.sysdig.com \
    --set sysdig.settings.collector_port=6443 \
    --set sysdig.settings.k8s_cluster_name=<nama klaster> \
    --set sysdig.settings.ssl=true \
    --set sysdig.settings.ssl_verify_certificate=false \
    sysdig/sysdig

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.

1
$ oc get pods

Jika berhasil, maka kurang lebih akan muncul tampilan seperti berikut.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
NAME                                READY   STATUS    RESTARTS   AGE
sysdig-agent-2wcsj                  1/1     Running   0          32m
sysdig-agent-45hgx                  1/1     Running   0          32m
sysdig-agent-559z9                  1/1     Running   0          32m
sysdig-agent-89wqp                  1/1     Running   0          32m
sysdig-agent-b5vbn                  1/1     Pending   0          32m
sysdig-agent-b9rlt                  1/1     Running   0          32m
sysdig-agent-image-analyzer-2rjht   1/1     Running   0          32m
sysdig-agent-image-analyzer-5vmp2   1/1     Running   0          32m
sysdig-agent-image-analyzer-m6xkb   1/1     Running   0          32m
sysdig-agent-image-analyzer-mhgb7   1/1     Running   0          32m
sysdig-agent-image-analyzer-n8xm2   1/1     Running   0          32m
sysdig-agent-image-analyzer-pgr9p   1/1     Running   0          32m
sysdig-agent-image-analyzer-pn8kv   1/1     Running   0          32m
sysdig-agent-image-analyzer-q4mvv   1/1     Running   0          32m
sysdig-agent-image-analyzer-rstz5   1/1     Running   0          32m
sysdig-agent-n4wqv                  1/1     Running   0          32m
sysdig-agent-pd745                  1/1     Running   0          32m
sysdig-agent-vsr4b                  1/1     Running   0          32m

Front End

Buka kembali dashboard front-end Sysdig, apabila Sysdig Agent berhasil terpasang maka seharusnya pada halaman Get Started akan muncul tampilan seperti berikut.

/integrasi-sysdig-monitor-di-openshift/front-end-sysdig.png
Front End Sysdig

Selanjutnya coba buka Dashboard kemudian misalnya pilih saja Host Resource Usage, seharusnya akan tampil informasi penggunaan resource dari klaster seperti berikut ini.

/integrasi-sysdig-monitor-di-openshift/host-resource-usage.png
Host Resource Usage

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.

/integrasi-sysdig-monitor-di-openshift/sysdig-monitor-overview.png
Sysdig Monitor Overview


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