Thursday, April 4, 2024
Docker Grafana Monitoring Prometheus

Install Prometheus dan Grafana Pada Docker

grafana

“Install Prometheus dan Grafana Pada Docker”

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

  • Pilih prometheus
  • Masukan URL prometheus
  • Klik Save end test

Install Dashboard Grafana

  • Misal kita coba install dengan code : 1860
  • Klik Menu dashboard -> Import
  • 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.

(Visited 207 times, 1 visits today)

Similar Posts