Prometheus

Ошибка Prometheus "found healthy block"

Как-то Prometheus, запущенный в Kubernetes, свалился вот с такой ошибкой: caller=repair.go:39 component=tsdb msg="found healthy block" Перезапуск POD’ов помогал, но через некоторое время он снова падал с такими же симптомами. Целый день потратил на то, чтобы понять, в чём дело - исследовал базу, пытался найти в ней ошибки и починить PV. Однако решение оказалось тривиальным - случайно глянул на график использования оперативной памяти, который показал, что она закончилась. И после увеличения memory limits POD с Prometheus снова работал.

Пример конфига для GCE SD в Prometheus

Простой пример конфига для GCE service discovery в Prometheus

Хотелось настроить 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