Kombinasi Prometheus sebagai sistem monitoring dan time-series database dengan Grafana sebagai platform visualisasi telah menjadi standar industri.
Integrasi antara kedua tool ini memungkinkan tim DevOps dan SRE untuk mendapatkan insight real-time tentang performa aplikasi dan infrastruktur.
Apa itu Grafana?
Grafana adalah platform open-source untuk monitoring, analisis data, dan visualisasi yang paling populer di dunia.
Platform ini sering disebut sebagai “Dashboard” karena kemampuannya menghubungkan dan menampilkan data dari berbagai sumber.
Fitur & Karakter Utama Grafana
1. Visualisasi yang Kaya dan Fleksibel
Menyediakan banyak jenis grafik (time series, bar, gauge, heatmap, dll). Panel yang dapat dikustomisasi sepenuhnya. Mendukung annotasi (penanda waktu kejadian) dan alerting (peringatan).
2. Multi-Sumber Data (Data Source Agnostic)
Dapat terhubung ke puluhan sumber data berbeda, baik time-series maupun non-time-series. Contoh sumber data populer: Prometheus, InfluxDB, Elasticsearch, Loki, MySQL/PostgreSQL, AWS CloudWatch, Google BigQuery, Azure Monitor, JSON, CSV, dan banyak lagi.
3. Dashboards yang Interaktif dan Dinamis
Dashboards dapat dibagikan, diberi tag, dan diatur dalam folder. Mendukung templating variabel untuk membuat dashboard dinamis (misal: pilih server, metrik, atau lingkungan dari dropdown). Explore mode untuk investigasi data secara ad-hoc tanpa membuat dashboard.
4. Alerting Cerdas
Dapat mengirim notifikasi alert ke berbagai kanal seperti Slack, Email, PagerDuty, Webhook, dll, berdasarkan kondisi tertentu pada data. Mendukung pemberitahuan berjenjang (escalation) dan pengelompokan alert (alert grouping).
5. Ekstensibilitas
Memiliki plugin ecosystem yang luas untuk data source, panel, dan aplikasi. Dapat di-embed ke aplikasi lain.
6. Platform Terbuka (Open Source)
Inti Grafana adalah proyek open-source (lisensi AGPLv3). Tersedia juga versi Grafana Enterprise (berbayar) dengan fitur tambahan seperti akses kontrol yang lebih halus, reporting, dan support enterprise. Layanan cloud: Grafana Cloud (hosted).
Install Grafana
Masuk ke directory opt menyimpan source code grafana
cd /opt
Download source code grafana pada link https://grafana.com/grafana/download, pilih Standalone Linux Binaries(64 Bit).
sudo wget wget https://dl.grafana.com/grafana-enterprise/release/12.3.1/grafana enterprise_12.3.1_20271043721_linux_amd64.tar.gz
Extract hasil download file grafana
sudo tar -zxvf grafana-enterprise_12.3.1_20271043721_linux_amd64.tar.gz
Masuk ke directory grafana-12.3.1
cd grafana-12.3.1
Lokasi binary grafana berada di directory bin
cd bin
Membuat Service Grafana
Buat user, hanya digunakan untuk menjalankan serivce grafana
sudo useradd –no-create-home –shell /bin/false grafana
Buat sebuah file service untuk grafana
sudo nano /etc/systemd/system/grafana_server.service
[Unit]
Description=Grafana instance
Documentation=https://grafana.com
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=grafana
Group=grafana
Restart=always
RestartSec=10 # tambahkan delay antara restart
StartLimitIntervalSec=600
StartLimitBurst=5# Untuk instalasi manual dari tar.gz
ExecStart=/opt/grafana-12.3.1/bin/grafana-server \
–config=/opt/grafana-12.3.1/conf/defaults.ini \
–homepath=/opt/grafana-12.3.1 \
–packaging=tar.gz \# Security
ProtectSystem=full
NoNewPrivileges=true
PrivateTmp=true[Install]
WantedBy=multi-user.target
Ubah user dan group pada folder grafana-12.3.1 menjadi grafana
sudo chown grafana:grafana -R /opt/grafana-12.3.1
Load daemon dan restart service grafana server
sudo systemctl daemon-reload
sudo systemctl enable grafana_server
sudo systemctl stop grafana_server
sudo systemctl start grafana_server
sudo systemctl status grafana_server
Intergasi Grafana dengan Prometeus
Akses pada browser http://IP_PUBLIC:3000 untuk masuk ke dashboard grafana, akan muncul halaman from login.
Account default grafana username dan password adalah admin/admin.

Update password default grafana, pastikan sulit ditebak

Berikut adalah dashboard dari grafana

Agar grafana bisa menampilkan data bentuk visual, maka kita harus menghubungkan dengan sumber data, yaitu prometehus.
Masuk menu, Connection => Data Sources => Add data sources => Cari Prometehus

Masukan Name kolom contoh disini “Prometheus” dan pada bagian Connection masukan ip address prometheus. karena prometehus berjalan di satu server sama dengan grafana, hanya memasukan http://localhost:9090.

Scroll ke paling bawah, Save & test
Pastikan muncul pesan “Successfully queried the Prometheus API“, Artinya Grafana dengan Prometheus sudah terhubung melalui API.

Querying Prometheus Metric
Pada grafana kita bisa melakukan query PromQL seperti biasa di menu Home => Explore => Prometehus. Masukan di kolom Metrics browser misalnya; “irate(node_network_receive_bytes_total[1M]) * 8“.
Artinya: Menghitung bandwidth download jaringan real-time (dalam bit per detik), setiap 1 menit.

Import Dashboard Grafana
Salah satu yang menarik dari grafana adalah kita dapat membuat dashboard custom dari data metric yang ada, tapi tidak perlu khawatir grafana menyediakan template yang sudah jadi di Public Grafana jadi kita tinggal import ke dashboard grafana.
Template yang bisa gunakan dashboard Node Exporter Full, karena kita memiliki datanya yang tersimpan di prometheus.
Pada sebelah kanan Copy ID to clipboard

Masuk ke dashboard grafana => Import a dashboard

Paste ID template dashboard Node Exporter, Load

Import

Berikut dashboard template Node Exporter berhasil berjalan di grafana


