# Prometheus — серверная сторона, живёт на Beget. # # СКРЕЙПА ЧУЖИХ ХОСТОВ ЗДЕСЬ НЕТ. Метрики с Poincare приходят push'ем через # remote-write receiver (--web.enable-remote-write-receiver), потому что открывать # входящие порты на продуктовом хосте ради мониторинга — плохой размен. # Локально скрейпится только то, что стоит на этом же хосте. # # Метка `host` проставляется агентом Alloy на своей стороне (external_labels), # поэтому здесь её нет: если задать и там и тут, honor_labels-семантика сделает # результат неочевидным. global: scrape_interval: 30s scrape_timeout: 10s evaluation_interval: 30s external_labels: cluster: gendesign rule_files: - /etc/prometheus/rules/*.yml # Пока профиль alerts выключен, сервиса alertmanager не существует. Со # static_configs это раз в интервал давало "lookup alertmanager: no such # host" в логах и up{job="alertmanager"}=0. file_sd_configs вместо # static_configs делает цель опциональной идиоматично для Prometheus: файл # целей по умолчанию содержит пустой список ([]) — алертов нет и ошибок # разрешения имени тоже нет. Prometheus перечитывает file_sd на лету, так что # включение профиля alerts сводится к наполнению файла, без рестарта и без # правки этого конфига. alerting: alertmanagers: - file_sd_configs: - files: ["/etc/prometheus/alertmanager_targets.yml"] scrape_configs: # Сам Prometheus. Нужен не для красоты: по нему строится алерт на здоровье # приёмника — пустая панель неотличима от «ошибок нет», и это надо различать. - job_name: prometheus static_configs: - targets: ["localhost:9090"] labels: host: infra # Тот же опциональный source, что и в alerting.alertmanagers выше: пока # профиль alerts не включён, файл целей пуст — up{job="alertmanager"} # просто не появится в выдаче вместо ошибки "no such host". - job_name: alertmanager file_sd_configs: - files: ["/etc/prometheus/alertmanager_targets.yml"] - job_name: loki static_configs: - targets: ["loki:3100"] labels: host: infra - job_name: grafana static_configs: - targets: ["grafana:3000"] labels: host: infra metrics_path: /metrics