Integrasi Grafana dengan Prometheus
Integrasi Grafana dengan Prometheus

Cara Integrasi Grafana dengan Prometheus

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.

Login Grafana
Login Grafana

Update password default grafana, pastikan sulit ditebak

Update Password Default Grafana
Update Password Default Grafana

Berikut adalah dashboard dari grafana

Dashboard Grafana
Dashboard 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

Add data source Grafana
Add data source Grafana

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.

Configruation Data Source Prometheus
Configruation Data Source Prometheus

Scroll ke paling bawah, Save & test

Pastikan muncul pesan “Successfully queried the Prometheus API“, Artinya Grafana dengan Prometheus sudah terhubung melalui API.

Test Connection Grafana dengan Prometheus
Test Connection Grafana dengan Prometheus

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.

Querying Prometheus Metric
Querying Prometheus Metric

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

Copy ID Template Dashboard Node Exporter Full
Copy ID Template Dashboard Node Exporter Full

Masuk ke dashboard grafana => Import a dashboard

Import Dashboard Grafana Template
Import Dashboard Grafana Template

Paste ID template dashboard Node Exporter, Load

Paste ID Node Exporter Full Template
Paste ID Node Exporter Full Template

Import

Import Dashboard From Grafana
Import Dashboard From Grafana

Berikut dashboard template Node Exporter berhasil berjalan di grafana

Dashboard Template Node Exporter
Dashboard Template Node Exporter