012 remove signoz
This commit is contained in:
+1
-26
@@ -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 # Бэкенд наблюдаемости (трейсы + метрики + логи + алерты)
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user