Инициализировать репозиторий «Дейл»

Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы
ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ,
инструкция пользователя, техдокументация, код-стайл), бэклог,
скрипты развёртывания и архив прототипа LeadRadar.
This commit is contained in:
Rustam Khalimov
2026-09-11 02:50:17 +03:00
commit 9e07568ddd
1402 changed files with 177470 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