安裝Prometheus/Grafana#
- 設定Prometheus設定向我們spring boot application位置
# 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_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'My-Spring-Boot-Application'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 15s
static_configs:
- targets: ['192.168.1.25:9100'] # My-Spring-Boot-Application IP
- 我們使用docker-compose.yml方式來建立Prometheus/Grafana的監控環境
docker-compose up -d
version: "3.7"
services:
prometheus:
image: prom/prometheus:v2.30.0
restart: always
container_name: prometheus
volumes:
# config
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/:/etc/prometheus/
# tsdb data
- ./prometheus/data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
# backup
- '--web.enable-admin-api'
# tsdb time delete
- '--storage.tsdb.retention.time=10d'
# tsdb locat
- '--storage.tsdb.path=/prometheus'
# reload config
- '--web.enable-lifecycle'
ports:
- "9090:9090"
grafana:
image: grafana/grafana:8.1.5
restart: always
container_name: grafana
environment:
volumes:
- ./grafana/logs:/var/log/grafana
- ./grafana/plugins:/var/lib/grafana/plugins
- ./grafana/data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
ports:
- "3000:3000"
- 即可在prometheus:9090看到spring boot的metrics資料
參考連結#