Deal — единая кодовая база
ci / build-test (push) Canceled after 0s

SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/
Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue,
контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер),
Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог).

Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0,
тесты 1340/130/52/38/9 зелёные.
This commit is contained in:
Rustam Khalimov
2026-09-11 23:56:47 +03:00
commit 27c7831910
1383 changed files with 158436 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# 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