Files
Deal/deploy/observability/prometheus.yml
T
stepan 881fb837b5 Развернуть observability-стек: Collector, Tempo, cAdvisor, node-exporter
Профиль observability: otel-collector (приём OTLP) -> tempo (трейсы),
cadvisor/node-exporter (ресурсы) в Prometheus, дашборды Deal-Traces и
Deal-Resources, datasource Tempo и связь логов с трейсами, алерты по
ресурсам; OTel-env у всех процессов.
2026-09-13 04:47:27 +03:00

64 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Prometheus — сбор метрик Deal-процессов (этап 12, пакет A; Ruling 7 этапа 7).
#
# Источник — эндпоинты /metrics процессов Deal (OpenTelemetry → экспортёр Prometheus). Процессы
# слушают метрики на ОТДЕЛЬНОМ HTTP/1.1 Kestrel-эндпоинте :9464 (gRPC-порты :51015103/:5082 — HTTP/2,
# обычный GET scrape по ним невозможен). Порт метрик наружу не публикуется: scrape идёт внутри
# compose-сети от этого контейнера. Метка service (целевая) используется панелями Grafana
# Deal-Metrics-Overview для разбивки RPS/латентности/ошибок по процессам.
#
# Поднимается профилем observability (deploy/compose.prod.yml); конфиг монтируется в
# /etc/prometheus/prometheus.yml. Retention задаётся ключом --storage.tsdb.retention.time (15 суток).
global:
scrape_interval: 15s
evaluation_interval: 15s
# Имена метрик — в legacy-схеме Prometheus (точки в OTel-именах экранируются в _): без этой опции
# scrape-запрос Prometheus 3 запрашивает UTF-8-схему, и метрики сохраняются с точками
# (`deal.sessions.active`), что ломает привычные PromQL-имена (`deal_sessions_active`).
metric_name_validation_scheme: legacy
# Правила алертов (этап 12) — монтируются рядом с этим конфигом (/etc/prometheus/prometheus-rules.yml).
# Путь относительный — резолвится от каталога конфига (/etc/prometheus). Правила см. в
# deploy/observability/prometheus-rules.yml.
rule_files:
- prometheus-rules.yml
scrape_configs:
# Само-мониторинг Prometheus (доступность самого коллектора).
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]
# 4 процесса «Дейла»: core (:5080 HTTP + :5082 gRPC-ингресс) и три gRPC-сервиса.
# У каждого — свой /metrics на :9464; target-метка service попадает во все серии.
- job_name: deal
metrics_path: /metrics
static_configs:
- targets: ["core:9464"]
labels:
service: core
- targets: ["telegram-service:9464"]
labels:
service: telegram-service
- targets: ["ai-service:9464"]
labels:
service: ai-service
- targets: ["ml-service:9464"]
labels:
service: ml-service
# Ресурсы контейнеров (cAdvisor) и хоста (node-exporter) — этап «observability-стек».
# cAdvisor отдаёт метрики контейнеров (CPU/RAM/сеть/диск), node-exporter — хоста.
- job_name: cadvisor
static_configs:
- targets: ["cadvisor:8080"]
- job_name: node-exporter
static_configs:
- targets: ["node-exporter:9100"]
# Темпо (хранилище трейсов) — само-мониторинг: метрики приёма/отдачи трейсов.
- job_name: tempo
static_configs:
- targets: ["tempo:3200"]