Хотелось настроить service discovery для GCE (Google Compute Engine) в Prometheus с использованием внешнего IP адреса для опроса метрик, а не внутреннего, который испльзуется по-умолчанию. В официальной документации было не всё очевидно в этом плане, по-крайней мере для меня :)
Итак, кусок конфигурации для включения GCE Service Discovery в настройках Prometheus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| - job_name: '<your_job_name>'
scrape_interval: 30s
metrics_path: /metrics
scheme: http
gce_sd_configs:
- project: "<your_project_name>"
zone: "<your_zone_name>"
filter: "<your_filter>"
refresh_interval: 30s
relabel_configs:
- source_labels: ['__meta_gce_public_ip'] # Опрашивать метрики через публичный IP
target_label: __address__
replacement: $1:9100 # Указать порт nodeexporter'а, так как при использовании внешнего адреса директива port: не используется
- source_labels: [__meta_gce_instance_name] # Видеть имя инстанса в лейблах при выполнении запросов
target_label: instance
|