python-observability-patterns
Добавить наблюдаемость в Python-приложения
Также доступно от: 0xDarkMatter
Python-приложения часто не имеют четкого логирования, метрик и трассировки, что затрудняет отладку в производственной среде. Этот навык предоставляет готовые к использованию шаблоны для structlog, метрик Prometheus и распределенной трассировки OpenTelemetry.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «python-observability-patterns». Add Prometheus metrics for my FastAPI endpoint that tracks request count by status code and latency by endpoint
Ожидаемый результат:
- Определить метрики на уровне модуля: REQUEST_COUNT (Counter) с метками [method, endpoint, status], REQUEST_LATENCY (Histogram) с корзинами [0.01, 0.05, 0.1, 0.5, 1.0, 5.0] и метками [method, endpoint]
- Создать middleware, который увеличивает счетчики до/после запроса и записывает задержку
- Предоставить endpoint /metrics, который возвращает generate_latest() с типом контента text/plain
Аудит безопасности
БезопасноThis is a documentation-only skill containing observability patterns for Python. No executable code, network calls, file system access, or external commands. Purely informational content with example code snippets for legitimate devops patterns like structlog, Prometheus, and OpenTelemetry.
Оценка качества
Что вы можете построить
Отладка проблем в производственной среде
Добавить корреляционные ID и трассировку для быстрого выявления корневых причин ошибок в распределенных системах.
Мониторинг работоспособности сервиса
Предоставить метрики Prometheus для панелей мониторинга и оповещений о частоте запросов, задержках и количестве ошибок.
Отслеживание потоков запросов
Реализовать распределенную трассировку для визуализации того, как запросы проходят через микросервисы.
Попробуйте эти промпты
Покажите, как настроить structlog для производственной среды с выводом JSON и привязкой контекста запроса.
Создайте middleware FastAPI, который записывает количество запросов, гистограмму задержек и активные соединения как метрики Prometheus.
Настройте трассировку OpenTelemetry с распространением контекста для Python-сервиса, который вызывает внешние API.
Напишите декоратор Python, который оборачивает функции в spans OpenTelemetry и записывает исключения как события span.
Лучшие практики
- Используйте семантические имена событий (например, 'user_created' вместо 'log_message_123') для структурированных логов
- Включайте request_id и user_id во все записи логов для отслеживаемости при отладке
- Фильтруйте конфиденциальные данные (пароли, токены, ключи API) перед логированием с помощью процессора
Избегать
- Логирование конфиденциальных данных, таких как пароли, токены или персональные данные, в открытом виде
- Использование меток с высокой кардинальностью (user_id, request_id) в метриках Prometheus
- Отсутствие контекста ошибки при логировании исключений без типа ошибки и трассировки стека
Часто задаваемые вопросы
Какие версии Python поддерживаются?
Какие бэкенды наблюдаемости работают с этими шаблонами?
Могут ли эти шаблоны интегрироваться с FastAPI?
Данные отправляются во внешние сервисы?
Почему мои метрики показывают высокую кардинальность?
Чем это сравнивается с другими библиотеками логирования?
Сведения для разработчиков
Автор
0xDarkMatterЛицензия
MIT
Репозиторий
https://github.com/0xDarkMatter/claude-mods/tree/main/skills/python-observability-patternsСсылка
main
Структура файлов