Навыки python-observability-patterns
📊

python-observability-patterns

Безопасно

Добавить наблюдаемость в Python-приложения

Также доступно от: 0xDarkMatter

Python-приложения часто не имеют четкого логирования, метрик и трассировки, что затрудняет отладку в производственной среде. Этот навык предоставляет готовые к использованию шаблоны для structlog, метрик Prometheus и распределенной трассировки OpenTelemetry.

Поддерживает: Claude Codex Code(CC)
🥉 73 Бронза
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «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

Аудит безопасности

Безопасно
v3 • 1/10/2026

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.

5
Просканировано файлов
1,213
Проанализировано строк
0
находки
3
Всего аудитов
Проблем безопасности не найдено

Оценка качества

59
Архитектура
100
Сопровождаемость
83
Контент
31
Сообщество
100
Безопасность
70
Соответствие спецификации

Что вы можете построить

Отладка проблем в производственной среде

Добавить корреляционные ID и трассировку для быстрого выявления корневых причин ошибок в распределенных системах.

Мониторинг работоспособности сервиса

Предоставить метрики Prometheus для панелей мониторинга и оповещений о частоте запросов, задержках и количестве ошибок.

Отслеживание потоков запросов

Реализовать распределенную трассировку для визуализации того, как запросы проходят через микросервисы.

Попробуйте эти промпты

Базовая настройка логирования
Покажите, как настроить structlog для производственной среды с выводом JSON и привязкой контекста запроса.
HTTP-метрики
Создайте middleware FastAPI, который записывает количество запросов, гистограмму задержек и активные соединения как метрики Prometheus.
Распределенная трассировка
Настройте трассировку OpenTelemetry с распространением контекста для Python-сервиса, который вызывает внешние API.
Пользовательский декоратор Span
Напишите декоратор Python, который оборачивает функции в spans OpenTelemetry и записывает исключения как события span.

Лучшие практики

  • Используйте семантические имена событий (например, 'user_created' вместо 'log_message_123') для структурированных логов
  • Включайте request_id и user_id во все записи логов для отслеживаемости при отладке
  • Фильтруйте конфиденциальные данные (пароли, токены, ключи API) перед логированием с помощью процессора

Избегать

  • Логирование конфиденциальных данных, таких как пароли, токены или персональные данные, в открытом виде
  • Использование меток с высокой кардинальностью (user_id, request_id) в метриках Prometheus
  • Отсутствие контекста ошибки при логировании исключений без типа ошибки и трассировки стека

Часто задаваемые вопросы

Какие версии Python поддерживаются?
Python 3.10 и новее. Требуются пакеты structlog, opentelemetry-api и prometheus-client.
Какие бэкенды наблюдаемости работают с этими шаблонами?
Экспортеры OpenTelemetry поддерживают Jaeger, Tempo, Datadog и облачные решения. Метрики Prometheus работают с любым совместимым целью опроса Prometheus.
Могут ли эти шаблоны интегрироваться с FastAPI?
Да. Пакеты инструментирования FastAPI от OpenTelemetry работают вместе с шаблонами middleware, показанными для контекста запросов и метрик.
Данные отправляются во внешние сервисы?
Нет. Навык предоставляет только шаблоны кода. Вы настраиваете и контролируете все сетевые endpoint для экспорта логов и трассировок.
Почему мои метрики показывают высокую кардинальность?
Избегайте меток с множеством уникальных значений, таких как user_id или request_id. Вместо этого используйте метки, такие как method, endpoint или status.
Чем это сравнивается с другими библиотеками логирования?
structlog предоставляет структурированное логирование с процессорами. Prometheus-client ориентирован на метрики. OpenTelemetry обеспечивает распределенную трассировку. Они дополняют друг друга.

Сведения для разработчиков

Автор

0xDarkMatter

Лицензия

MIT

Ссылка

main

Структура файлов