Как Prometheus находит цели: статика, файлы, service discovery, Kubernetes
Список целей Prometheus получает одним из трёх способов. Статически — адреса перечислены прямо в конфигурации; работает, пока адреса не меняются. Через файл (file_sd_configs) — Prometheus следит за JSON или YAML на диске и перечитывает его без перезапуска; это универсальный мост для любой системы, умеющей писать файл. Через service discovery — встроенные механизмы опрашивают источник истины: Kubernetes API, Consul, EC2, DNS, Docker. В Kubernetes обычно поднимают один kubernetes_sd_config на весь кластер и режут поток целей релейблингом: оставляют поды с аннотацией, подставляют порт и путь из аннотаций, переносят метки пода в метки метрик. Prometheus 3 больше не добавляет порт к цели по умолчанию — адрес без порта теперь ошибка, а не «подставим 80». Разово проверить, кого сервер реально видит, можно на странице /targets или через /api/v1/targets.