012 remove signoz

This commit is contained in:
Раис Юсупалиев
2026-03-08 22:59:11 +03:00
parent 81e484d7d1
commit f799f2ba03
29 changed files with 118 additions and 1323 deletions
+1 -26
View File
@@ -20,8 +20,6 @@
- Возвращать унифицированный список тарифов, отсортированных по цене
- Если провайдер вернул ошибку или не ответил вовремя — исключить его из результата, не падая целиком
- Кешировать ответы провайдеров для исключения повторных внешних запросов. Время кэширования вынести в конфиг
- Обеспечивать структурированную наблюдаемость: трейсы, метрики, логи — связанные по request ID
- Отправлять алерты в Telegram при аномалиях (ошибки, всплески задержки, недоступность провайдера). token вынести в конфиг
---
@@ -113,27 +111,6 @@ delivery_days_max: int
| Кеш | Redis |
| Конфигурация | pydantic-settings |
| Сервер | Uvicorn |
| Инструментация | OpenTelemetry SDK |
| Бэкенд наблюдаемости | SigNoz (self-hosted) |
| Структурные логи | structlog |
| Алерты | SigNoz Alert Rules → Webhook → Telegram Bot API |
---
## Наблюдаемость
- Каждому запросу присваивается `request_id` (UUID) через middleware
- `request_id` привязывается ко всем логам через `structlog.contextvars`
- Трейсы отправляются через OpenTelemetry; FastAPI и httpx инструментируются автоматически
- Ручные спаны оборачивают: `AggregatorService.get_all_prices`, `get_price` каждого провайдера, обращения к кешу
- Атрибуты спанов: `provider`, `from_city`, `to_city`, `weight_kg`, `cache_hit`, `tariffs_found`
- Отслеживаемые метрики: количество запросов, количество ошибок, время ответа (p50/p99), доступность каждого провайдера
- Все три сигнала (трейсы, метрики, логи) связаны через `trace_id`
### Условия алертов (Telegram)
- Провайдер вернул 5xx — порог: 5 ошибок за 5 минут
- p99 времени ответа провайдера > 5000ms в течение 10 минут
- Провайдер недоступен более 5 минут
---
@@ -143,7 +120,6 @@ delivery_days_max: int
app/
├── controllers/
│ ├── http_client.py
│ ├── middleware.py
│ └── v1/
│ └── delivery.py # Controller
├── services/
@@ -174,5 +150,4 @@ app/
# docker-compose сервисы
app # FastAPI-приложение
redis # Кеш тарифов
signoz # Бэкенд наблюдаемости (трейсы + метрики + логи + алерты)
```
```