Monitor VPS dengan Grafana + Prometheus + node_exporter

NATVPS.id – Terdapat banyak cara untuk melakukan monitoring server. Selain menggunakan software seperti Nezha dan Status, terdapat opsi yang tak kalah populernya seperti menggunakan Prometheus + node_exporter dan menggabungkannya dengan Grafana.

Artikel ini membahas mengenai langkah-langkah install Grafana + Prometheus + node_exporter di VPS. Artikel ini menggunakan Ubuntu 22.04 sebagai basis OS. Distribusi Linux lainnya (seperti Debian & CentOS) dapat digunakan, namun beberapa langkah kemungkinan berbeda. Silahkan menyesuaikan tahapan instalasi.

Secara singkat, Grafana, Prometheus, dan node_exporter mempunyai peran yang berbeda:

  • Grafana: Digunakan untuk memvisualisasikan data dari sumber seperti Prometheus
  • Prometheus: Sumber data untuk Grafana. Prometheus mengumpulkan data dari berbagai sumber (seperti node_exporter) yang kemudian dihubungkan ke Grafana
  • node_exporter: Pengirim data / exporter yang berisi informasi mengenai sistem, kemudian dikirim ke Prometheus

Urutannya seperti ini: node_exporter –> Prometheus –> Grafana.

Port Forwarding

Karena kita menggunakan NAT VPS, kita perlu menambahkan konfigurasi port forwarding agar dapat mengakses Grafana & Prometheus.

Berikut adalah port yang digunakan:

  • Grafana –> 3000
  • Prometheus –> 9090

Tambahkan port forward yang menuju ke dua port tersebut. Sebagai contoh:

Install Grafana

Pertama, pasang beberapa package yang diperlukan:

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

Tambah kunci GPG untuk verifikasi keaslian binary Grafana:

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

Tambah repositori Grafana:

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

Terakhir, install Grafana menggunakan:

sudo apt update
sudo apt install grafana -y

Tunggu hingga proses instalasi selesai.

Terakhir, aktifkan Grafana dengan memasukkan perintah:

sudo systemctl daemon-reload
sudo systemctl enable --now grafana-server

Install Prometheus

Pertama, buat user baru khusus untuk Prometheus:

sudo useradd -M -U prometheus

 

Kemudian, unduh rilis terbaru Prometheus. Untuk mengeceknya, silahkan buka https://prometheus.io/download/, kemudian salin link download untuk os linux dan arsitektur amd64. Pada saat artikel ini ditulis, versi terbarunya adalah v3.4.2.

wget https://github.com/prometheus/prometheus/releases/download/v3.4.2/prometheus-3.4.2.linux-amd64.tar.gz -O prometheus.tar.gz
tar -xzvf prometheus.tar.gz
sudo mv prometheus-* /opt/prometheus

Ganti permission direktori untuk user prometheus:

sudo chown prometheus:prometheus -R /opt/prometheus

Untuk mengaktifkan Prometheus, kita dapat membuat file unit Systemd agar dapat berjalan di latar belakang.

apt install nano -y # Jika belum
sudo nano /etc/systemd/system/prometheus.service

Tempelkan kode berikut:

# https://natvps.id/install-grafana-prometheus-nodeexporter
# Reference: https://janakiev.com/blog/prometheus-setup-systemd/#download-and-install-prometheus

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

[Service]
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/prometheus \
  --config.file=/opt/prometheus/prometheus.yml \
  --storage.tsdb.path=/opt/prometheus/data \
  --storage.tsdb.retention.time=30d

[Install]
WantedBy=multi-user.target

Simpan file tersebut dengan Ctrl-X, y, lalu Enter.

Terakhir, aktifkan unit Systemd Prometheus dengan perintah:

sudo systemctl daemon-reload
sudo systemctl enable --now prometheus.service

Install node_exporter

Sama seperti Prometheus, buat user baru khusus untuk node_exporter:

sudo useradd -M -U node_exporter

Unduh node_exporter melalui laman Prometheus. Sama seperti sebelumnya, untuk mengecekny, silahkan buka https://prometheus.io/download/, geser ke bawah hingga bagian node_exporter kemudian salin link download untuk os linux dan arsitektur amd64. Pada saat artikel ini ditulis, versi terbarunya adalah v.1.9.1.

wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz -O node_exporter.tar.gz
tar -xzvf node_exporter.tar.gz
sudo mv node_exporter-*/node_exporter /usr/local/bin

Ganti permission untuk user node_exporter:

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

Untuk mengaktifkan node_exporter, kita dapat membuat file unit Systemd agar dapat berjalan di latar belakang.

apt install nano -y # Jika belum
sudo nano /etc/systemd/system/node_exporter.service
# https://natvps.id/install-grafana-prometheus-nodeexporter
# Reference: https://medium.com/@shyamsandeep28/installation-of-prometheus-grafana-with-node-exporter-8ce3c97d968c

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=node_exporter
Group=node_exporter
ExecStart=/usr/local/bin/node_exporter \
--collector.mountstats \
--collector.logind \
--collector.processes \
--collector.ntp \
--collector.systemd \
--collector.tcpstat \
--collector.wifi
Restart=always
RestartSec=10s

[Install]
WantedBy=multi-user.target

Aktifkan unit Systemd dengan perintah:

sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter.service

Konfigurasi Prometheus

Buka file

nano /opt/prometheus/prometheus.yml

Pada baris paling bawah, tambahkan:

  - job_name: node
    static_configs:
      - targets: ['localhost:9100']

Restart Prometheus dengan:

systemctl restart prometheus.service

Login Grafana

Buka Grafana melalui port yang sudah ditentukan sebelumnya:

 

Username & password default adalah admin. Silahkan ganti setelah sukses login.

Menambahkan Datasource Prometheus

Buka Menu (logo Grafana) -> Connections -> Data sources.

 

Pilih Add data source.

 

 

Pilih Prometheus.

 

Anda akan diarahkan ke konfigurasi datasource, Pada bagian Connection, masukkan http://localhost:9090

 

Klik Save & test. Jika berhasil, notifikasi sukses akan muncul.

Membuat Dashboard

Masuk ke Menu -> Dashboards

 

Pilih Create dashboard

Pilih Import a dashboard untuk menggunakan idashboard yang telah dibuat komunitas.

 

Masukkan ID 1860 lalu klik Load.

Pilih Prometheus sebagai datasource, lalu klik Import.

Selesai. Dashboard node_exporter telah ditambahkan ke Grafana, dan informasi sistem dapat dilihat.

Penutup

Demikianlah artikel ini mengenai langkah-langkah install GoWhatsapp di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

You May Also Like

About the Author: Hendra Manudinata