“Install Prometheus dan Grafana Pada Docker”
Daftar Isi
Pengantar
Prometheus adalah aplikasi perangkat lunak sumber terbuka yang digunakan untuk pemantauan dan peringatan peristiwa. Ini merekam metrik waktu nyata dalam basis data deret waktu dengan kueri fleksibel dan peringatan waktu nyata. Antarmuka pengguna yang sederhana tempat Anda dapat memvisualisasikan, membuat kueri, dan memantau semua metrik.
Grafana adalah platform sumber terbuka untuk visualisasi, pemantauan, dan analisis data. Di Grafana, pengguna dapat membuat dasbor dengan panel, masing-masing mewakili metrik tertentu selama jangka waktu tertentu. Grafana mendukung grafik, tabel, peta panas, dan panel teks bebas serta integrasi dengan plugin dan aplikasi resmi dan buatan komunitas yang juga dapat divisualisasikan.
Keunggulan Grafana dan Prometheus
Dasbor Prometheus juga memiliki grafik sederhana. Tetapi grafik Grafana jauh lebih baik karena dapat disesuaikan sesuai dengan kebutuhan pengguna. Itu sebabnya, dalam postingan ini, kami akan mengintegrasikan Grafana dengan Prometheus untuk mengimpor dan memvisualisasikan data metrik kami.
Install Prometheus Via Docker
- Buat directory
mkdir -p /root/prome-grafa
- Buat file yaml
cd /root/prome-grafa
nano prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['127.0.0.1:9090']
- job_name: 'spring-actuator'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['HOST_IP:8080']
- Pull image prometheus
docker pull prom/prometheus
- Run container image
docker run -d --name prometheus -p 9090:9090 -v /root/prome-grafa/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
Noted : Untuk path file prometheus.yml nya bisa di sesuaikan
- Cek Kontainer UP
Install Grafana Via Docker
docker run -d --name grafana -p 3000:3000 grafana/grafana
Akses Prometehus dan Grafana
Prometheus -> http://localhost:9090 / http://IPaddr:9090
Grafana -> http://localhost:3000 / http://IPaddr:3000
Setup Grafana
- Akses http://localhost:3000 / http://IPaddr:3000
user : admin
pass : admin
Hubungkan grafana dengan prometheus
- Klik Data Source
- Pilih prometheus
- Masukan URL prometheus
- Klik Save end test
Install Dashboard Grafana
- Klik Load
- Pilih Prometheus
- Klik Import
Install Node Exporter di Client ( Misal di Centos )
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin
sudo useradd -rs /bin/false node_exporter
- Buat service
nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
- Enable service
systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter
systemctl status node_exporter
- Edit prometheus.yaml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['192.168.3.4:9090']
- job_name: 'localhost'
static_configs:
- targets: ['192.168.3.4:9100']
- Rebuild Docker Container prometehus
- Coba akses grafana metric sudah muncul
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Install Prometheus dan Grafana Pada Docker. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.