Panduan Install Prometheus¶
Apa itu Prometheus?¶
Prometheus adalah open-source monitoring & alerting toolkit yang awalnya dibuat oleh SoundCloud, sekarang dikelola oleh CNCF (Cloud Native Computing Foundation).
Prometheus banyak dipakai di dunia cloud-native, DevOps, Kubernetes untuk mengumpulkan metrik, menyimpannya, lalu membuat query/alert.
Fungsi Prometheus¶
Mengumpulkan metrik dari aplikasi, server, container, database, dsb. Menyimpan data dalam bentuk time-series (berdasarkan timestamp). Query data dengan bahasa khusus bernama PromQL. Membuat alert (via Alertmanager) kalau ada kondisi tertentu (misalnya CPU > 80%). Bisa diintegrasikan dengan Grafana untuk visualisasi.
Cara Kerja Prometheus¶
- Scraping → Prometheus secara aktif menarik (pull) data dari endpoint HTTP yang expose /metrics.
- Time-series DB → Data disimpan berdasarkan label (contoh: cpu_usage{instance="server1"}).
- Query → Kita bisa jalankan query PromQL untuk analisis atau visualisasi.
- Alerting → Jika kondisi match (misalnya disk_usage > 90%), alert dikirim ke Alertmanager → lalu diteruskan ke email, Slack, PagerDuty, dll.
Mempersiapkan server¶
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 server mudah dipantau dan tugas penjadwalan otomatis (cron) dapat berjalan sesuai waktu yang diharapkan.
sudo apt update
sudo apt upgrade -y
sudo timedatectl set-timezone Asia/Jakarta
Install 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.
sudo apt install -y wget tar
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v3.5.0/prometheus-3.5.0.linux-amd64.tar.gz
tar -xvzf prometheus-3.5.0.linux-amd64.tar.gz
cd prometheus-3.5.0.linux-amd64
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
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:
Buka Web Console Prometheus dengan menggunakan IP Address dengan port :9090 (default port).
Masuk ke Status -> Targets, dan pastikan prometheus endpoint state up seperti gambar di bawah ini:
http://<server_ip>:9090/targets