Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
105
docs/api/debug.md
Normal file
105
docs/api/debug.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# API для отладки
|
||||
|
||||
**Важно:** Эндпоинт `/api/v1/debug/dump` скрыт из Swagger UI для безопасности, но остается доступным для прямых запросов. Используйте его только для отладки.
|
||||
|
||||
## Сохранение JSON данных для отладки
|
||||
|
||||
```bash
|
||||
POST /api/v1/debug/dump
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"test": "data",
|
||||
"timestamp": "2024-01-01T00:00:00Z",
|
||||
"source": "grafana",
|
||||
"alert": {
|
||||
"title": "Test alert",
|
||||
"state": "alerting"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Пример ответа:**
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
"message": "Данные сохранены в dump.json",
|
||||
"data": {
|
||||
"test": "data",
|
||||
"timestamp": "2024-01-01T00:00:00Z",
|
||||
"source": "grafana",
|
||||
"alert": {
|
||||
"title": "Test alert",
|
||||
"state": "alerting"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Примечания
|
||||
|
||||
- Используется для отладки входящих webhook запросов
|
||||
- Данные сохраняются в файл `/app/app/dump.json` в контейнере
|
||||
- Файл можно просмотреть через `make shell` или `make docker shell`
|
||||
- Полезно для анализа формата данных от различных источников
|
||||
- **Эндпоинт скрыт из Swagger UI** с помощью декоратора `@hide_from_api` для безопасности
|
||||
- Эндпоинт не требует авторизации (API ключ не нужен)
|
||||
- Используется только для внутренней отладки
|
||||
|
||||
## Примеры использования
|
||||
|
||||
### Сохранение данных из Grafana
|
||||
|
||||
```bash
|
||||
curl -X POST "http://your-gateway-url/api/v1/debug/dump" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"source": "grafana",
|
||||
"alert": {
|
||||
"title": "Test alert",
|
||||
"state": "alerting"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Сохранение данных из Zabbix
|
||||
|
||||
```bash
|
||||
curl -X POST "http://your-gateway-url/api/v1/debug/dump" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"source": "zabbix",
|
||||
"event": {
|
||||
"event-id": "8819711",
|
||||
"event-name": "High CPU utilization",
|
||||
"status": "PROBLEM"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Сохранение данных из AlertManager
|
||||
|
||||
```bash
|
||||
curl -X POST "http://your-gateway-url/api/v1/debug/dump" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"source": "alertmanager",
|
||||
"status": "firing",
|
||||
"commonLabels": {
|
||||
"alertname": "HighCPUUsage",
|
||||
"severity": "critical"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
## Просмотр сохраненных данных
|
||||
|
||||
```bash
|
||||
# Через make shell
|
||||
make shell
|
||||
cat /app/app/dump.json
|
||||
|
||||
# Или напрямую через docker
|
||||
docker exec -it message-gateway cat /app/app/dump.json
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user