Grafana


Apa itu Grafana?

Grafana merupakah seuab aplikasi web analitik open source dan visualisasi interaktif yang digunakan untuk memantau kinerja aplikasi. Hal ini memungkinkan pengguna untuk menyerap data dari berbagai sumber, membuat kueri dan menampilkannya dalam bagan yang dapat disesuaikan, mengatur peringatan untuk perilaku abnormal, dan memvisualisasikan data di dasbor. Namun, sifat sumber terbukanya mengharuskan pengguna untuk memelihara instance Grafana mereka secara manual, sebuah tugas yang ditangani oleh penawaran Grafana yang Dihosting dari MetricFire, yang menyediakan semua fungsi tanpa biaya tambahan manajemen. Seperti yang ada pada artikel sebelumnya yang berjudul Prometheus dan Node Exporter kita bisa mengkombinasikan Prometheus dan Node Exporter dengan Grafana ini sebagai visualisasi yang lebih nyaman untuk dilihat.

Fitur – fitur Grafana

  1. Visualisasi data : dapat digunakan untuk membuat dashboard yang interaktif dan dapat dikustomisasi dengan berbagai jenis panel seperti grafik, tabel, heatmap, dan lainnya.
  2. Data Source yang Beragam : Grafana mendukung berbagai data source seperti Prometheus, InfluxDB, MySQL, PostgreSQL, Elasticsearch, AWS CloudWatch, Microsoft SQL Server, dan banyak lainnya. Di dalam artikel kali ini kita akan menggunakan Prometheus sebagai data source untuk ditampilkan. Grafana mempunyai kemampuan editor kueri yang intuitif, sehingga untuk setiap data source yang didukung, memungkinkan pembuatan kueri kompleks dengan mudah.
  3. Alerting : konfigurasi alert untuk data real-time dengan notifikasi melalui berbagai channel seperti email, Slack, PagerDuty, dan lain-lain.
  4. Ekstensi dan Plugin : mendukung berbagai plugin untuk data source tambahan, panel visualisasi, dan aplikasi.
  5. Performance Monitoring : sudah terintegrasi dengan Loki untuk monitoring log dan juga terintegrasi dengan Tempo untuk tracing.
  6. Dan masih banyak fitur lainnya dari Grafana yang bisa dilihat pada dokumentasi resminya.

Keuntungan Grafana

  1. Gratis dan Open Source: Grafana bisa digunakan dan dimodifikasi tanpa biaya.
  2. Integrasi Luas: Mendukung banyak data source seperti Prometheus, InfluxDB, MySQL, dan lainnya.
  3. Dashboard Interaktif: Memungkinkan pembuatan dashboard yang dapat disesuaikan dengan berbagai jenis visualisasi.
  4. Templating dan Variabel: Membuat dashboard dinamis dan mudah disesuaikan.
  5. Alerting: Notifikasi real-time melalui email, Slack, PagerDuty, dll.
  6. Komunitas dan Plugin: Banyak plugin tersedia untuk memperluas fungsionalitas.
  7. Multi-Tenancy: Mendukung penggunaan oleh banyak tim atau organisasi.
  8. Customization: Tingkat kustomisasi tinggi untuk tampilan dan fungsionalitas.
  9. Monitoring Performance: Integrasi dengan Loki dan Tempo untuk log dan tracing.

Kekurangan Grafana

  1. Kurva Pembelajaran: Memerlukan waktu untuk belajar, terutama konfigurasi data source dan kueri.
  2. Resource Intensive: Dapat memerlukan banyak sumber daya untuk data besar atau query kompleks.
  3. Fitur Terbatas pada Versi Gratis: Beberapa fitur lanjutan hanya tersedia di Grafana Enterprise.
  4. Analisis Lanjutan Terbatas: Kurang kuat untuk analisis data yang sangat mendalam.
  5. Kompleksitas Konfigurasi: Pengaturan awal bisa kompleks, terutama dengan berbagai data source dan alert.
  6. Skalabilitas: Memerlukan pemahaman teknis untuk skalabilitas yang baik.

Konfigurasi

Masuk ke konfigurasi, kali ini kita akan membuat tampilan dasboard dengan data yang diambil dari Prometheus. Bagaimana caranya??? simak beberapa langkah yang akan dilakukan dibawah ini.

Langkah pertama yang harus dilakukan adalah melakukan instalasi Grafana. Untuk melakukan instalasi Grafana bisa dilihat pada dokumentasi resminya, klik saja disini.

root@hostname:/# systemctl status grafana-server
● grafana-server.service - Grafana instance
Loaded: loaded (/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-05-17 13:51:52 +07; 13s ago
Docs: http://docs.grafana.org
Main PID: 42161 (grafana)
Tasks: 18 (limit: 2205)
Memory: 102.3M
CGroup: /system.slice/grafana-server.service
└─42161 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.lo>

Jika sudah berjalan seperti diatas dengan ditandain active (running) kita bisa mengaksesnya melalui brower dengan menggunakan port 3000. Lalu login dengan menggunakan Username dan Password yang sudah diatur.

Selanjutnya, langsung saja kita menghubungkan Grafana dengan Prometheus dan Node Exporter, cara nya klik Connection > Data sources > Add Data Sources > Prometheus.

Masukan nama dan URL dari Prometheus, lalu klik Save & Test.

Setelah berhasil di Connetkan kita bisa langsung saja membuat Dasboard baru dengan cara klik Dashboard > + Create Dashboard.

Namun, kali ini saya akan menggunakan dan melakukan Import Dasboard yang sudah ada. Masukan ID dari Dasboard yang sudah tersimpan klik Load.

Masukan data source-nya dari Prometheus, untuk Name dan Folder bisa diubah serta diatur sesuai dengan kebutuhan masing-masing. Terakhir klik Import.

Nantinya, kita akan bisa langsung menampilkan dasboard secara lengkap tentang penggunaan resource dari sistem operasi kita. Jadi dari yang awalnya berupa metrik di Node Exporter, sekarang data ditampilkan dalam bentuk visualisasi grafik yang mudah untuk dilihat.

Nah, sekarang data metrik berhasil tertampil dalam bentuk visualisasi yang sangat nyaman dan mudah dilihat kan. Terimakasih sudah membaca, semoga menjadi informasi yang menambah pengetahuan anda.