Cara Install Prometheus dan Grafana di VPS Ubuntu

Apa itu Prometheus dan Grafana ?

Install Prometheus dan Grafana – Prometheus dan Grafana adalah dua aplikasi open-source yang sering digunakan bersama untuk memantau dan memvisualisasikan data metrik dari sistem, aplikasi, atau infrastruktur. Prometheus bertugas mengumpulkan data metrik dari berbagai sumber (seperti server atau aplikasi) melalui protokol HTTP. Sedangkan Grafana memanfaatkan data yang dikumpulkan oleh Prometheus untuk membuat panel visual yang interaktif, seperti grafik, tabel, atau heatmap. Dengan antarmuka yang user-friendly,

Alur Kerja Prometheus dan Grafana

  1. Prometheus mengumpulkan dan menyimpan metrik.
  2. Grafana terhubung ke Prometheus sebagai data source.
  3. Pengguna membuat dashboard di Grafana menggunakan kueri PromQL untuk menampilkan data dari Prometheus.

From metrics to insight

Power your metrics and alerting with the leading
open-source monitoring solution.

– prometheus.io

Persiapan Sebelum Instalasi

Sebelum mulai Instalasi Prometheus dan Grafana, ada beberapa hal yang perlu disiapkan, di antaranya adalah Server VPS. Di sini Kami menggunakan Server VPS bersistem operasi Linux Ubuntu versi 24.04 LTS untuk menginstall Prometheus dan Grafananya.

Spesifikasi VPS yang Kami Gunakan.

  • 1 vCore
  • 1 GB RAM
  • 20 GB Disk
  • Ubuntu 24.04 LTS
  • Infrastruktur: DigitalOcean, Linode, Vultr, VPS Lokal Indonesia, dll

Cara Install Prometheus dan Grafana di Server Ubuntu 24.04

Seperti yang sudah Kami jelaskan di ataa tentang pengertian, tugas, dan alur kerja Prometheus Grafana. Singkatnya, Prometheus yang mengumpulkan data kemudian data tersebut ditampilkan oleh grafana. Kali ini KIta akan mencoba menginstall kedua tool tersebut ke VPS. Berikut adalah Gambaran Proses yang akan KIta lakukan.

Gambaran Proses

  • Mempersiapkan Server (Update, Upgrade, Atur Zona Waktu)
  • Menginstall Prometheus
  • Menginstall Node Exporter
  • Menginstall Grafana
  • Menghubungkan Prometheus ke Grafana (Prometheus Jadi Data Source)
  • Membuat Grafik Monitoring

Baca Juga: Cara Install Tool Monitoring Uptime (UptimeKuma)

Langkah #1: Mempersiapkan Server (Update, Upgrade, Atur Zona Waktu)

Sebelum menginstal aplikasi atau perangkat lunak pada server, ada beberapa langkah penting yang harus dilakukan. Pertama, update untuk memastikan daftar paket terbaru tersedia di sistem. Selanjutnya, upgrade package yang sudah terinstal ke versi termutakhir guna memperbaiki celah keamanan dan bug. Selain itu, atur zona waktu server/VPS sesuai dengan lokasi pengguna agar catatan log (log) server mudah dipantau dan tugas penjadwalan otomatis (cron) dapat berjalan sesuai waktu yang diharapkan.

sudo apt update
sudo apt upgrade -y

Atur juga timezone server dan sesuaikan dengan daerah tempat tinggal Anda. disini saya mengatur timezone server ke Asia/Jakarta.

sudo timedatectl set-timezone Asia/Jakarta

Langkah #2: Menginstall Prometheus

Ada beberapa cara untuk menginstall prometheus, diantaranya dengan Pre-Compiled Binary, APT Paket, Build From Fource, dan Docker Image. Tapi pada tutorial kali ini Kita akan menginstall prometheus dengan metode Pre-Compile Binary. yaitu dengan mengunduh biner yang sudah dicompile langsung dari situs resmi Prometheus. Karena cara ini cocok untuk pengguna yang ingin langsung menggunakan Prometheus tanpa perlu melakukan compile sendiri.

Link Pre-Compile -> Click Here.

sudo apt install wget -y
cd /opt

wget https://github.com/prometheus/prometheus/releases/download/v3.1.0/prometheus-3.1.0.linux-amd64.tar.gz

tar -xvzf prometheus-3.1.0.linux-amd64.tar.gz
cd prometheus-3.1.0.linux-amd64
  • Perintah di atas akan masuk ke direktori /opt dan mengunduh prometheus versi v3.1.0

Buat user dan group untuk menjalankan prometheus, buat juga direktori untuk menyimpan binari dan file konfigurasi prometheus.

sudo useradd --no-create-home --shell /bin/false prometheus

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Setelah itu, pindahkan file binari dan file konfigurasi prometheus ke direktori /var/lib dan /etc.

sudo mv prometheus.yml /etc/prometheus/
sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/

Ubah kepemilikan direktori /etc/prometheus, /usr/bin/prometheus, dan /var/lib/prometheus agar bisa diakses oleh user prometheus.

sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
  • /etc/prometheus: Tempat menyimpan file konfigurasi prometheus.
  • /usr/local/bin/prometheus: Lokasi file executable prometheus
  • /var/lib/prometheus: Tempat penyimpanan data prometheus yang berubah-ubah.

Terakhir buat konfigurasi systemd agar prometheus berjalan sebagai service di VPS atau Server..

sudo nano /etc/systemd/system/prometheus.service

Salin dan tempel baris kode di bawah ini:

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus \

[Install]
WantedBy=multi-user.target

Lalu Mulai dan Aktifkan Servicenya.

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus

Pastikan statusnya active (running) seperti ini:

Prometheus Status
Prometheus Status

Buka Web Console Prometheus dengan menggunakan IP Address. Masuk ke ->Status->Targets, dan pastikan prometheus endpoint state up seperti gambar di bawah ini:

http://ip-server:9090/targets

Web Console Prometheus
Web Console Prometheus

Langkah #3: Menginstall Node Exporter

Node Exporter adalah agen monitoring yang digunakan untuk mengumpulkan metrics hardware dan sistem operasi. Prometheus sendiri hanya bertindak sebagai server monitoring dan tidak bisa langsung mengumpulkan data dari sistem. Node Exporter lah yang akan mengumpulkan data, lalu Prometheus akan menarik (scrape) data tersebut. data metriks yang dikumpulkan seperti: CPU usage, Memori (RAM), Disk usage, Load average, Network traffic, Proses yang berjalan

Sama seperti prometheus, KIta akan menginstall Node Exporter dari Pre-Compile Binary yang sudah disediakan.

cd /opt

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

tar -xvzf node_exporter-1.8.2.linux-amd64.tar.gz
cd node_exporter-1.8.2.linux-amd64

Kemudian pindahkan binari node exporter ke /usr/local/bin. Dan agar lebih aman, buat juga user dan group yang akan digunakan untuk menjalankan Node Exporter. Terakhir ubah kepemilikan direktorinya.

sudo useradd -rs /bin/false node_exporter

sudo mv node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Buat konfigurasi node exporter di Systemd. Ini bertujuan agar node exporter berjalan sebagai service.

sudo nano /etc/systemd/system/node_exporter.service

Salin dan tempel baris kode di bawah ini:

[Unit]
Description=Prometheus exporter for machine metrics

[Service]
Restart=always
User=prometheus
ExecStart=/usr/local/bin/node_exporter
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

Lalu Mulai dan Aktifkan Servicenya.

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo systemctl status node_exporter

Pastikan statusnya active (running) seperti ini:

Node Exporter Status
Node Exporter Status

Langkah #4: Menghubungkan Node Exporter ke Prometheus

Sekarang kita akan mencoba menghubungkan node exporter agar dapat di scrape oleh prometheus. Nantinya Kita bisa melihat metriks-metrik yang dikumpulkan oleh node exporter. Untuk antisipasi kegagalam, pertama Kita cadagkan dulu konfigurasi default dari prometheus. Kemudian buat file konfigurasi yang baru.

sudo mv /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml.bak
sudo nano /etc/prometheus/prometheus.yml

Salin dan tempelkan baris konfigurasi di bawah ini:

global:
  scrape_interval: 15s  # Set interval pengambilan data menjadi 15 detik
  evaluation_interval: 15s  # Evaluasi aturan setiap 15 detik

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node-exporter-localhost"
    static_configs:
      - targets: ["localhost:9100"]

Kemudian restart service prometheus.

sudo systemctl restart prometheus

Kemudian Kita cek konfigurasinya sudah berhasil apa belum. Masuk ke Prometheus Web Console->Status->Targets. Pastikan Endpoint sudah bertambah node-exporter-localhost dan berstate up seperti ini:

Endpoint Node Exporter
Endpoint Node Exporter

Langkah #5: Konfigurasi Authentikasi untuk Prometheus

Ketika membuka Web Console Prometheus, Kita tidak diminta untuk memasukkan authentikasi seperti username dan password. Hal ini akan menjadi ancaman keamanan yang serius jika user tidak dikenal berhasil mengetahui IP prometheus dan mengambil data metriksnya. Untuk itu Kita akan mencoba konfigurasi basic auth agar prometheus memiliki authentikasi seperti username dan password.

Pertama jalankan perintah berikut untuk menginstal instal dependensi Hash Password.

sudo apt update && sudo apt install python3-bcrypt -y

Kemudian buat file konfigurasi untuk hashing password.

sudo echo 'import getpass, bcrypt; print(bcrypt.hashpw(getpass.getpass("Password: ").encode(), bcrypt.gensalt()).decode())' > /tmp/genpass.py

sudo chmod +x /tmp/genpass.py

Jalankan skrip untuk membuat password prometheus.

sudo python3 /tmp/genpass.py

Masukkan password dan akan digenerate hashingnya. Simpan hasil hashing passwordnya.

Membuat Hashing Password untuk Prometheus
Membuat Hashing Password untuk Prometheus

Implementasikan password yang sudah dihashing ke dalam konfigurasi prometheus.

sudo nano /etc/prometheus/web.yml

Salin dan tempel baris berikut. Baris berikut akan mengaplikasikan username dan password prometheus.

basic_auth_users:
    admin: $2b$12$xN9gysLaHkz8gy32jHYPCeUUSuwl45ZaDIknQHXge7oAEwVbp3/ze
  • Username = admin
    Password = $2b$12$xN9gysLaHkz8gy32jHYPCeUUSuwl45ZaDIknQHXge7oAEwVbp3/ze (hasil hashing)

Tambahkan user authentikasi ke job scrape prometheus.

sudo nano /etc/prometheus/prometheus.yml

Salin dan tempel konfigurasi auth berikut di scrape config.

basic_auth:
      username: "admin"                    # username
      password: "YOUR_PASSWORD"            # password asli(bukan hashing)
Konfigurasi Authentikasi di prometheus.yml
Konfigurasi Authentikasi di prometheus.yml

Selanjutnya tambahkan –web.config.file ke Systemd Service prometheus.

sudo nano /etc/systemd/system/prometheus.service

Masukkan ke block konfigurasi ExecStart.

--web.config.file=/etc/prometheus/web.yml
Authentikasi Prometheus - Konfigurasi Sysstemd
Authentikasi Prometheus – Konfigurasi Sysstemd

Lalu restart daemon dan service prometheus.

sudo systemctl daemon-reload
sudo systemctl restart prometheus

Terakhir periksa dengan mengakses Web Console Prometheus, dan pastikan authentikasi berjalan seperti ini:

Authentikasi Prometheus
Authentikasi Prometheus

Langkah #6: Menginstall Grafana

Grafana adalah tool visualisasi data yang digunakan untuk memantau, menganalisis, dan menampilkan data metrik secara real-time. Jadi setelah data dikumpulkan oleh node exporter dan prometheus, data tersebut akan divisualisasikan oleh tool Grafana ini.

Berbeda dari promethues dan node exporter, untuk metode instalasi Grafana ini adalah menggunakan APT Paket Manager. Pertama KIta install dulu dependensi, GPG Key, dan repositori yang dibutuhkan oleh Grafana,

sudo apt-get install -y apt-transport-https software-properties-common wget

sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com beta main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

sudo apt-get update

Kemudian install Grafana.

sudo apt-get install -y grafana

Mulai dan aktifkan service Grafana.

sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

Pastikan statusnya active (running) seperti ini:

Grafana Status
Grafana Status

Akses web dashboard Grafana menggunakan IP Address dan Port 3000.

http://ip-server:3000
username = admin
password = admin

Grafana
Grafana

Langkah #7: Menghubungkan Prometheus ke Grafana

Setelah semua proses instalasi mulai dari prometheus, node exporter, dan grafana sudah berhasil dilakukan, selanjutnya Kita akan hubungkan prometheus ke grafana. Atau lebih tepatnya menjadikan prometheus sebagai Data Source Grafana. Proses ini bertujuan agar metrik-metrik yang telah dikumpulkan oleh prometheus bisa divisualisasikan mejadi chart, tabel, grafik, dan lainya oleh grafana ini.

Masuk ke Home -> Connections -> Add New Connection -> Prometheus -> Add New Data Source

Menambahkan Prometheus Data Source
Menambahkan Prometheus Data Source

Konfigurasi sesuai gambar di bawah ini:

Konfigurasi Data Source Prometheus
Konfigurasi Data Source Prometheus

Scroll ke bawah, klik Save & Test, dan pastikan test sukses seperti gambar di bawah ini:

Konfigurasi Data Source Prometheus Berhasil
Konfigurasi Data Source Prometheus Berhasil

Langkah #8: Membuat Dashboard di Grafana

Kita kan coba untuk membuat dashboard standar untuk memonitor metrik seperti CPU Usage, RAM Usage, Load, Uptime, Disk Usage, Network Traffick, dan sebagainya. KIta tidak akan membuatnya dari awal tapi akan mengimport dashboard yang tersedia di Grafana Labs.

Home -> Dashboard -> New -> Import

Membuat Dashboard di Grafana
Membuat Dashboard di Grafana

Kemudian masukkan ID dari dashboard yang telah dipilih di web Grafana Labs. di sana terdapat banyak templat grafana yang siap dipakai.

ID Dashboard = 1860
Link Grafana Labs = Klik di sini

Membuat Dashboard di Grafana - Import ID Revisi
Membuat Dashboard di Grafana – Import ID Revisi

Pilih data source yang akan digunakan oleh dashboard ini.

Membuat Dashboard di Grafana - Pilih Data Source
Membuat Dashboard di Grafana – Pilih Data Source

Dan tampilan dashboard akan tampil seperti ini.

Tampilan Dashboard
Tampilan Dashboard

Penutup

Jadi begitulah panduan cara install prometheus dan grafana. Kita telah membahas secara komprehensif cara instal Prometheus dan Grafana di VPS Ubuntu 24.04. Mulai dari pengenalan dasar mengenai apa itu Prometheus dan Grafana sebagai solusi monitoring dan visualisasi, hingga persiapan awal yang diperlukan sebelum instalasi. Dengan mengikuti langkah-langkah di atas, Anda akan memiliki sistem monitoring yang handal dan mampu memberikan insight mendalam tentang performa server serta aplikasi yang berjalan.

Semoga panduan ini bermanfaat, dan selamat mencoba! 🚀

    Suka Menulis

    You might also like
    Cara Install Beszel di Linux Server untuk Monitoring

    Cara Install Beszel di Linux Server untuk Monitoring

    Cara Deploy Heimdall Dashboard ke Shared Hosting

    Cara Deploy Heimdall Dashboard ke Shared Hosting

    Membangun Sistem Monitoring Gratis dengan Uptime Kuma dan Fly.io

    Membangun Sistem Monitoring Gratis dengan Uptime Kuma dan Fly.io

    Cara Install Uptime Kuma dengan Docker Compose

    Cara Install Uptime Kuma dengan Docker Compose

    Pesan dengan Border Radius

    Informasi


    Saya bisa membantu instalasi Server seperti: LAMP atau LEMP Stack, Control Panel VPS, Instalasi WebApp, Mail Server, atau sekedar tanya tutorial di web ini. Untuk itu, silahkan hubungi saya melalui kontak yang telah tersedia.

    OrangeVPS VPS Murah
    Most Populer
    Cara Install Armbian Linux 25.05.0 di STB HG680P
    Review dan Bencmark STB HG680P Armbian Linux 24.11
    Cara Mengaktifkan WiFi di Armbian STB HG680P
    Apa Itu Armbian ? Penjelasan Lengkap Armbian Linux Ubuntu Debian Based
    Cara Konfigurasi IP Statis Armbian Linux 24.10 di STB HG680P