Prometheus berfungsi untuk mengumpulkan metrik dari target server untuk mengamati, mengevaluasi, menampilkan hasil, dan mentrigger alert pada kondisi tertentu.
1. Instalasi Prometheus#
Membuat user prometheus dan direktori yang dibutuhkan.
1
2
3
| sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus
|
Untuk pemasanganya kita perlu mendownload terlebih dahulu binari file pada halaman https://prometheus.io/download/ untuk memilih versi yang akan digunakan.
1
2
3
4
5
| # Definisikan versi prometheus yang akan di install
PROMETHEUS_VER=2.37.5
sudo wget https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VER/prometheus-$PROMETHEUS_VER.linux-amd64.tar.gz
# extract dan pindah ke direktori prometheus
sudo tar -zxvf prometheus-$PROMETHEUS_VER.linux-amd64.tar.gz && cd prometheus-$PROMETHEUS_VER.linux-amd64
|
Install file binari prometheus
1
2
| sudo install -o prometheus -g prometheus prometheus /usr/local/bin
sudo install -o prometheus -g prometheus promtool /usr/local/bin
|
Pindahkan direktori consoles dan console_libraries serta update ownership ke prometheus user
1
2
| sudo mv console* /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus
|
2. Konfigurasi Prometheus#
Buat file konfigurasi prometheus.yml
1
2
3
| sudo nano /etc/prometheus/prometheus.yml
# Sesuaikan dengan kebutuhan, dan update file ownership ke prometheus user
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| global:
scrape_interval: 10s
evaluation_interval: 10s
scrape_configs:
- job_name: "prometheus"
scrape_interval: 5s
static_configs:
- targets: ["localhost:9090"]
# Relabeling "instance" to remove the ":9090" part
relabel_configs:
- source_labels: [__address__]
target_label: instance
regex: '([^:]+)(:[0-9]+)?'
replacement: '${1}'
|
3. Konfigurasi Service Prometheus#
Buat file service systemd prometheus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| cat <<EOF | sudo tee /etc/systemd/system/prometheus.service
[Unit]
Description="The Prometheus monitoring system and time series database."
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/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries \
--web.listen-address="0.0.0.0:9090"
[Install]
WantedBy=multi-user.target
EOF
|
Reload systemd service untuk mendaftarkan service yang baru, lalu jalankan pada saat system boot.
1
2
3
4
| sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
# Pastikan service sudah berjalan
sudo systemctl status prometheus
|
Bisa kita lanjutkan untuk administrasi via web console dengan menuju alamat url http://<ip-server-prometheus>:9090/
Referensi#