Grafana adalah platform visualisasi data sumber terbuka dan multi-platform yang dikembangkan oleh Grafana Labs. Grafana menyediakan aplikasi web visualisasi data interaktif yang mencakup grafik, diagram, dan peringatan. Dengan Grafana, Anda dapat melakukan kueri, visualisasi, mengatur peringatan, dan menjelajahi metrik, log, dan jejak dari TSDB. Ini adalah alat yang kuat yang mengubah data time-series database (TSDB) menjadi grafik dan visualisasi yang informatif.
Di Grafana, Anda dapat menambahkan data basis data time-series Anda melalui ‘Data Source’. Grafana mendukung beberapa sumber data seperti Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor, dan banyak lagi.
Dalam panduan ini, Anda akan menginstal Grafana pada server Debian 12 dengan Nginx sebagai reverse proxy, kemudian menambahkan Prometheus sebagai sumber data dan mengonfigurasi Dasbor Grafana untuk pemantauan sistem.
Persyaratan
Sebelum Anda melanjutkan, pastikan Anda memiliki hal berikut:
- Server Debian 12 untuk instalasi Grafana.
- Server Debian 12 dengan Prometheus dan Node Exporter Terinstal – Cara Menginstal Prometheus dan Node Exporter di Debian 12.
- Pengguna non-root dengan hak istimewa administrator sudo.
Menambahkan Repositori Grafana
Dalam panduan ini, Anda akan menginstal Grafana melalui repositori resmi Grafana. Untuk melakukannya, Anda harus menambahkan repositori Grafana ke server Debian Anda.
Untuk memulai, jalankan perintah berikut untuk menginstal dependensi dasar ke mesin Debian Anda.
sudo apt install gnupg2 apt-transport-https software-properties-common wget
Sekarang tambahkan kunci GPG Grafana dan repositori dengan menjalankan perintah berikut.
curl -fsSL https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/grafana.gpg
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://packages.grafana.com/oss/deb stable main' | sudo tee /etc/apt/sources.list.d/grafana.list
Terakhir, perbarui dan segarkan indeks paket Debian Anda untuk menerapkan perubahan.
sudo apt update
Menginstal Grafana
Sekarang setelah Anda menambahkan repositori Grafana, Anda akan menginstal Grafana melalui APT. Kemudian, Anda akan mengonfigurasi pengguna administrator dan kata sandi untuk instalasi Grafana Anda.
Instal Grafana ke sistem Debian Anda menggunakan perintah berikut. Masukkan y untuk melanjutkan dengan instalasi.
sudo apt install grafana
Setelah instalasi selesai, muat ulang manajer systemd dengan mengeksekusi perintah berikut.
sudo systemctl daemon-reload
Kemudian, mulai dan aktifkan layanan grafana-server menggunakan perintah di bawah ini.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Saat layanan grafana-server berjalan, verifikasi menggunakan perintah di bawah ini. Jika semuanya berjalan lancar, Anda harus melihat grafana-server diaktifkan dan berjalan.
sudo systemctl status grafana-server
Terakhir, buka peramban web Anda dan kunjungi alamat IP server Anda dengan port Grafana default 3000, seperti http://192.168.5.20:3000/. Masukkan pengguna admin dan kata sandi admin default, lalu klik Masuk.
Sekarang ubah kata sandi admin default dengan kata sandi baru. Lalu klik Kirim untuk mengonfirmasi.
Ketika proses selesai, Anda seharusnya melihat dasbor Grafana seperti berikut:
Mengonfigurasi Grafana
Dengan Grafana terinstal, langkah selanjutnya adalah mengonfigurasi Grafana dengan memodifikasi konfigurasi default /etc/grafana/grafana.ini dan mengatur http_addr menjadi localhost, http_port menjadi 3000, dan domain dengan nama domain lokal grafana.hwdomain.io.
Buka konfigurasi Grafana default /etc/grafana/grafana.ini menggunakan perintah editor nano berikut.
sudo nano /etc/grafana/grafana.ini
Ubah konfigurasi default dengan baris berikut. Dalam contoh ini, Anda akan menjalankan Grafana di localhost dan dengan nama domain lokal grafana.hwdomain.io.
[server]
# The IP address to bind to, empty will bind to all interfaces
http_addr = localhost
# The http port to use
http_port = 3000
# The public facing domain name used to access grafana from a browser
domain = grafana.hwdomain.io
Ketika Anda selesai, simpan dan keluar dari file.
Sekarang jalankan perintah systemctl berikut untuk me-restart grafana-server dan menerapkan perubahan. Dengan ini, instalasi Grafana Anda berjalan hanya pada localhost.
sudo systemctl restart grafana-server
Menginstal Nginx sebagai Reverse Proxy
Dalam panduan ini, Anda akan menjalankan Grafana dengan Nginx sebagai reverse proxy. Sekarang, lengkapi tugas berikut untuk menginstal dan mengonfigurasi Nginx sebagai reverse proxy untuk instalasi Grafana Anda.
Jalankan perintah berikut untuk menginstal server web Nginx ke mesin Debian Anda. Masukkan y untuk melanjutkan dengan instalasi.
sudo apt install nginx
Setelah Nginx terinstal, jalankan perintah editor nano berikut untuk membuat file blok server baru /etc/nginx/sites-available/grafana.conf.
sudo nano /etc/nginx/sites-available/grafana.conf
Sisipkan konfigurasi berikut dan pastikan untuk mengubah nama domain dalam parameter server_name.
# This is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name grafana.hwdomain.io;
root /usr/share/nginx/html;
index index.html index.htm;
access_log /var/log/nginx/grafana-access.log;
error_log /var/log/nginx/grafana-error.log;
location / {
proxy_set_header Host $http_host;
proxy_pass http://localhost:3000/;
}
# Proxy Grafana Live WebSocket connections.
location /api/live {
rewrite ^/(.*) /$1 break;
proxy
_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_pass http://localhost:3000/;
}
}
Simpan dan tutup file ketika selesai.
Selanjutnya, jalankan perintah berikut untuk mengaktifkan file blok server /etc/nginx/sites-available/grafana.conf. Kemudian, verifikasi sintaks Nginx Anda untuk memastikan bahwa Anda memiliki sintaks yang benar.
sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/
sudo nginx -t
Jika Anda memiliki sintaks Nginx yang benar, Anda harus mendapatkan keluaran ‘test is successful – syntax is ok’.
Terakhir, jalankan perintah systemctl berikut untuk me-restart layanan Nginx dan menerapkan perubahan. Lalu, verifikasi Nginx untuk memastikan bahwa layanan tersebut berjalan.
sudo systemctl restart nginx
sudo systemctl status nginx
Pada output berikut, Anda harus melihat layanan Nginx sedang berjalan.
Untuk mengakses server Grafana Anda, Anda dapat memodifikasi file /etc/hosts pada mesin lokal Anda jika Anda pengguna Linux atau MacOS. Untuk pengguna Windows, edit file C:\Windows\System32\drivers\etc\hosts sebagai administrator.
Masukkan konfigurasi berikut ke dalam file.
192.168.5.15 grafana.hwdomain.io
Simpan dan tutup file ketika selesai.
Sekarang kembali ke peramban web Anda dan kunjungi nama domain lokal untuk server Grafana, seperti http://grafana.hwdomain.io/. Jika konfigurasi Anda berhasil, Anda akan diarahkan ke halaman login Grafana.
Masuk dengan pengguna admin dan kata sandi Anda, lalu klik Masuk untuk mengonfirmasi.
Setelah itu, Anda harus mendapatkan dasbor admin Grafana.
Menambahkan Autentikasi ke Server Prometheus
Sebelum menambahkan Prometheus ke Grafana, Anda akan menyiapkan autentikasi dasar untuk Prometheus. Anda akan membuat kata sandi autentikasi dasar dengan apache2-utils, lalu mengaktifkan basic_auth untuk server Prometheus.
Dalam contoh ini, Prometheus dan Node Exporter diinstal di server yang berbeda dengan alamat IP 192.168.5.15 dan nama host prometheus.
Masuk ke server Prometheus dan instal paket apache2-utils melalui perintah apt di bawah ini.
sudo apt install apache2-utils -y
Setelah itu, hasilkan kata sandi baru untuk autentikasi dasar Prometheus. Masukkan kata sandi Anda dan salin kata sandi yang dihasilkan ke catatan Anda.
htpasswd -nB promadmin
Sekarang, buat konfigurasi Prometheus baru /etc/prometheus/web.yml menggunakan perintah editor nano berikut.
sudo nano /etc/prometheus/web.yml
Tambahkan konfigurasi berikut untuk mengamankan dasbor administrasi Prometheus dengan modul basic_auth.
# basic_auth
basic_auth_users:
promadmin: $2y$05$UlvHd4An.oQRt2UdUXzr9eZ6ShRLe3xYbMhw8ePfvGeLuu0khO4Bu
Simpan dan tutup file ketika selesai.
Selanjutnya, buka konfigurasi Prometheus default /etc/prometheus/prometheus.yml menggunakan perintah editor nano berikut.
sudo nano /etc/prometheus/prometheus.yml
Tambahkan konfigurasi basic_auth di bawah ini dalam pekerjaan Prometheus. Pastikan untuk mengubah detail pengguna dan kata sandi dengan data Anda.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
# Add settings for certificate and authentication
scheme: http
basic_auth:
username: 'promadmin'
password: 'password'
Simpan dan tutup file ketika Anda selesai.
Berikutnya, jalankan perintah berikut untuk mengedit file layanan prometheus.
sudo systemctl edit --full prometheus
Ubah opsi ExecStart default dengan yang berikut.
ExecStart=/usr/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --web.config.file=/etc/prometheus/web.yml
Simpan dan tutup file ketika selesai.
Sekarang, jalankan perintah systemctl berikut untuk me-reload manajer systemd dan menerapkan perubahan. Lalu, restart layanan prometheus.
sudo systemctl daemon-reload
sudo systemctl restart prometheus
Verifikasi layanan prometheus menggunakan perintah berikut.
sudo systemctl status prometheus
Dalam bagian ExecStart, perintah telah berubah seperti berikut.
Terakhir, buka peramban web Anda dan kunjungi alamat IP Prometheus dengan port 9090 (misalnya: http://192.168.10.15:9090/). Anda akan diminta untuk masuk dengan basic_auth Prometheus, masukkan pengguna admin dan kata sandi Anda, lalu klik Masuk.
Jika konfigurasi Anda berhasil, Anda harus melihat dasbor Prometheus seperti berikut.
Mengintegrasikan Prometheus dengan Dasbor Grafana
Setelah mengonfigurasi autentikasi Dasar pada Prometheus, Anda dapat menambahkan Prometheus sebagai sumber data ke dasbor Grafana. Ada dua langkah yang harus Anda selesaikan: menambahkan Prometheus sebagai sumber data dan kemudian mengimpor atau membuat dasbor Grafana untuk pemantauan sistem.
Menambahkan Sumber Data Prometheus
Kembali ke Dasbor Grafana, klik menu Koneksi, dan pilih Sumber data.
Klik Tambahkan sumber data untuk melanjutkan.
Pilih basis data deret waktu Prometheus.
Masukkan nama sumber data baru dan tuan rumah Prometheus ke http://192.168.5.15:9090/. Dalam bagian Autentikasi, pilih Otentikasi Dasar dan masukkan nama pengguna dan kata sandi untuk Prometheus.
Gulir ke bawah dan klik Simpan & uji untuk mengonfirmasi. Output ‘Berhasil mengkueri API Prometheus.’ mengkonfirmasi bahwa Prometheus telah ditambahkan ke Grafana.
Mengimpor Pemantauan Dasbor
Klik menu + di kanan atas dan pilih Impor Dasbor.
Temukan Dasbor yang Anda inginkan di https://grafana.com/grafana/dashboards/. Kemudian, salin dan tempel ID dasbor, lalu klik Muat untuk mengon
firmasi. Dalam hal ini, kami akan menggunakan ID Dasbor 15172.
Masukkan nama dasbor dan pilih sumber data Prometheus. Lalu klik Impor untuk mengonfirmasi.
Berikut adalah contoh Dasbor Grafana yang ditingkatkan dengan Prometheus untuk memantau sistem.
Anda sekarang berhasil menginstal Grafana pada server Debian 12 dengan Nginx sebagai reverse proxy, menambahkan Prometheus sebagai sumber data ke Grafana, dan mengimpor dasbor Grafana untuk pemantauan sistem.