Prometheus動態配置目標
(金慶的專欄 2018.4)
最簡單的配置是靜態目標:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090', 'localhost:9100']
labels:
group: 'prometheus'
更改此文件后,可以發送 SIGHUP 觸發配置重新加載。
Prometheus 提供了服務發現功能,可以從 consul, dns, kubernetes, file 等等多種來源發現新的目標。
其中最簡單的是從文件發現服務。
例如 /root/prometheus/prometheus.yml 配置如下:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['127.0.0.1:9090', '127.0.0.1:9100']
labels:
group: 'prometheus'
- job_name: 'test'
file_sd_configs:
- files: ['/etc/prometheus/test_sd_config/*.yml']
refresh_interval: 5s
用 docker 啟動 prometheus:
docker run -d --net=host \
-v /root/prometheus:/etc/prometheus \
--name prometheus-server \
prom/prometheus
創建 /root/prometheus/test_sd_config/test.yml 如下
- targets: [ "192.168.93.192:8080" ]
labels:
group: "my_test_group"
5s內就會自動讀取 test.yml 并添加新的目標。
可用瀏覽器打開Prometheus 9090 端口,
查看 Status 中的 Configuration, Targets, Service Discovery,
可以看到新添加的目標。
(金慶的專欄 2018.4)
最簡單的配置是靜態目標:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090', 'localhost:9100']
labels:
group: 'prometheus'
更改此文件后,可以發送 SIGHUP 觸發配置重新加載。
Prometheus 提供了服務發現功能,可以從 consul, dns, kubernetes, file 等等多種來源發現新的目標。
其中最簡單的是從文件發現服務。
例如 /root/prometheus/prometheus.yml 配置如下:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['127.0.0.1:9090', '127.0.0.1:9100']
labels:
group: 'prometheus'
- job_name: 'test'
file_sd_configs:
- files: ['/etc/prometheus/test_sd_config/*.yml']
refresh_interval: 5s
用 docker 啟動 prometheus:
docker run -d --net=host \
-v /root/prometheus:/etc/prometheus \
--name prometheus-server \
prom/prometheus
創建 /root/prometheus/test_sd_config/test.yml 如下
- targets: [ "192.168.93.192:8080" ]
labels:
group: "my_test_group"
5s內就會自動讀取 test.yml 并添加新的目標。
可用瀏覽器打開Prometheus 9090 端口,
查看 Status 中的 Configuration, Targets, Service Discovery,
可以看到新添加的目標。