Files
MessageGateway/docs/api/debug.md
Sergey Antropov b90def35ed Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры
- Поддержка Telegram и MAX/VK
- Интеграция с Grafana, Zabbix, AlertManager
- Автоматическое создание тикетов в Jira
- Управление группами мессенджеров через API
- Декораторы для авторизации и скрытия эндпоинтов
- Подробная документация в папке docs/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-11-12 20:25:11 +03:00

106 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```