HostData.id – Dalam pengelolaan server kita perlu melakukan monitoring guna memastikan ketersediaan dan keandalan layanan yang dijalankan pada server. Untuk dapat melakukan monitoring secara mudah dan real time, kita bisa menggunakan aplikasi seperti Prometheus dan Grafana.
Prometheus merupakan sistem monitoring dan alerting dimana akan mengumpulkan data metrik dari aplikasi, sistem operasi, dan layanan jaringan. Prometheus menyimpan data dalam format time-series yang memungkinkan pemantauan dan analisis historis. Grafana merupakan aplikasi yang dapat memvisualisasikan data dari berbagai sumber termasuk data metriks dari prometheus. Pengguna dapat membuat dashboard dan ditampilkan dalam bentuk grafik, tabel, dan bentuk grafis lainnya.
Persiapan Sebelum Instalasi:
Pada proses instalasi Prometheus dan Grafana ini kita akan menggunakan VPS Indonesia dengan spesifikasi berikut:
- IP : xx.xx.xx.99
- vCPU : 4 core
- RAM : 16 GB
- Storage : 100 GB SSD
Spesifikasi VPS diatas bisa didapatkan melalui paltform kami dengan harga yang terjangkau, untuk detailnya bisa cek melalui link berikut [VPS Indonesia]
Langkah – langkah Instalasi:
- Silahkan bisa login ke VPS dengan command berikut
ssh root@IP_Address
- Setelah login, lakukan update dependensi
apt update
Instalasi Prometheus
- Download Prometheus dengan command berikut, versi dari prometheus bisa disesuaikan dengan kebutuhan, disini kita akan menginstal Prometheus v3.4.2
wget https://github.com/prometheus/prometheus/releases/download/v3.4.2/prometheus-3.4.2.linux-amd64.tar.gz
- Sebelum instalasi buat group baru dengan nama prometheus
groupadd --system prometheus
- Buat user baru dengan nama prometheus
useradd --system -s /sbin/nologin -g prometheus prometheus
- Extract prometheus yang sudah di download
tar -xvzf prometheus-3.4.2.linux-amd64.tar.gz
- Pada folder terdapat dua binari file yaitu prometheus dan promtool, pindahkan ke direktori /usr/local/bin/
mv prometheus promtool /usr/local/bin
- Membuat folder untuk menyimpan data dan konfigurasi Prometheus
mkdir -p /etc/prometheus
- Membuat folder untuk menyimpan time series database
mkdir -p /var/lib/prometheus
- Set kepemilikan pada direktori /var/lib/prometheus dengan user dan group yang sudah kita buat sebelumnya
chown -R prometheus:prometheus /var/lib/prometheus
- Set kepemilikan pada direktori /etc/prometheus dengan user dan group yang sudah kita buat sebelumnya
chown -R prometheus:prometheus /etc/prometheus
- Pindahkan file prometheus.yml ke /etc/prometheus
mv prometheus.yml /etc/prometheus
- Ubah file konfigurasi prtometheus.yml menjadi seperti berikut
global: scare_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: "prometheus" ststic_configs: - targets: ["localhost:9090"] - Membuat service systemd untuk prometheus dan tambahkan kode berikut
nano /etc/systemd/system/prometheus.service
[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
- Perbarui konfigurasi dengan systemd
systemctl daemon-reload
- Enable service Prometheus
systemctl enable --now prometheus.service
- Cek status Prometheus
systemctl status prometheus
- Pastikan service sudah aktif
Instalasi Node Exporter
- Download Node Exporter, disini kita akan menggunakan Node Exporter vesi 1.9.1
wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz
- Extract Node Exporter yang sudah di download
tar -xvzf node_exporter-1.9.1.linux-amd64.tar.gz
- Pindahkan node exporter ke direktori /usr/local/bin
mv node_exporter /usr/local/bin/
- Buat service systemd, kita akan menjalankan Node Exporter dengan user ‘prometheus’ yang sudah ada
nano /etc/systemd/system/node-exporter.service
[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
- Perbarui konfigurasi dengan systemd
systemctl daemon reload
- Enable service Node Exporter
systemctl enable --now node_exporter
- Cek status Node Exporter
systemctl status node_exporter
- Pada tahap ini prometheus belum diarahkan untuk melakukan scraping pada Node Exporter, tambahkan pada /etc/prometheus/promethus.yml menjadi berikut
global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "node-exporter" static_configs: - targets: ["localhost:9100"] - Restart service Prometheus
systemctl restart prometheus
Instalasi Grafana
- Tambahkan package Grafana
apt-get install -y apt-transport-https software-properties-common wget
- Import GPG key
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
- Tambahkan repository (stable release)
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
- Update pakcage
sudo apt-get update
- Install Grafana
apt-get install grafana
Finalisasi
- Perbarui konfigurasi systemd
systemctl daemon reload
- Cek setiap services dan pastikan semua service berjalan
Setup Dashboard Grafana
- Buka grafana melalui browser <http://IP:3000>, kemudian login dengan kredensial admin / admin

- Tambahkan data source Prometheus melalui menu Connections -> Data Source -> Prometheus

- Kemudian tambahkan nama dan connection. Karena kita akan melakukan monitoring pada server kita sendiri, maka bisa isikan URL localhost:9090. Kemudian save

- Buatkan dashboard, kita bisa menggunakan template dari link berikut [Template Dashboard]
- Download file JSON dan import melalui menu Dashboard

- Berikut tampilan Dashboard dengan template yang sudah kita import

Demikian tutorial instalasi Grafana, Prometheus, dan Node Exporter. Selamat mencoba

