Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
63
docs/api/health.md
Normal file
63
docs/api/health.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# API для проверки здоровья
|
||||
|
||||
## Проверка здоровья и готовности приложения
|
||||
|
||||
```bash
|
||||
GET /api/v1/health
|
||||
```
|
||||
|
||||
**Пример ответа (здорово):**
|
||||
```json
|
||||
{
|
||||
"status": "healthy",
|
||||
"state": "online",
|
||||
"telegram_bot_configured": true,
|
||||
"groups_config_available": true
|
||||
}
|
||||
```
|
||||
|
||||
**Пример ответа (не готово):**
|
||||
```json
|
||||
{
|
||||
"status": "not_ready",
|
||||
"state": "online",
|
||||
"checks": {
|
||||
"telegram_bot_configured": false,
|
||||
"groups_config_available": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Примечания
|
||||
|
||||
- Не требует аутентификации
|
||||
- Возвращает 503 если приложение не готово
|
||||
- Используется Kubernetes для liveness и readiness probes
|
||||
- Настройте liveness и readiness probes в kubernetes.yaml
|
||||
- Приложение считается готовым, если все проверки пройдены
|
||||
|
||||
## Проверки
|
||||
|
||||
- `telegram_bot_configured` - наличие токена Telegram (TELEGRAM_BOT_TOKEN)
|
||||
- `groups_config_available` - доступность файла конфигурации групп (config/groups.json)
|
||||
|
||||
## Использование в Kubernetes
|
||||
|
||||
Настройте liveness и readiness probes в `kubernetes.yaml`:
|
||||
|
||||
```yaml
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /api/v1/health
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /api/v1/health
|
||||
port: 8000
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user