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

2.7 KiB
Raw Blame History

API для отладки

Важно: Эндпоинт /api/v1/debug/dump скрыт из Swagger UI для безопасности, но остается доступным для прямых запросов. Используйте его только для отладки.

Сохранение JSON данных для отладки

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"
  }
}

Пример ответа:

{
  "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

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

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

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"
    }
  }'

Просмотр сохраненных данных

# Через make shell
make shell
cat /app/app/dump.json

# Или напрямую через docker
docker exec -it message-gateway cat /app/app/dump.json