Добавление промежуточных программ django_prometheus вызывает 500 (ошибка сервера)

#django #docker-compose #prometheus #django-middleware

#django #docker-compose #prometheus #django-промежуточное ПРОГРАММНОЕ обеспечение

Вопрос:

Я хотел отслеживать свое приложение django с помощью prometheus, и я добавил django-prometheus (2.1.0), а затем все мои запросы, кроме /metrics случаев, когда вызывает 500 DEBUG=FALSE . Я не могу понять, почему он работает только с. DEBUG=TRUE

     # 'django_prometheus.middleware.PrometheusBeforeMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    # 'django_prometheus.middleware.PrometheusAfterMiddleware',
  

Что-то не так с моими промежуточными программами?

—— Обновление: единственное, что я сделал DEBUG=FALSE , когда:

 if not DEBUG:
    sentry_sdk.init(
        "<sentry_url>",
        integrations=[DjangoIntegration()]
    )

  

Я также использовал django_prometheus.models.ExportModelOperationsMixin для своих моделей.

версия соответствующих требований:

    sentry-sdk==0.14.3
   django-prometheus==2.1.0
  

Ответ №1:

Проблема не в промежуточном программном обеспечении django-prometheus. На самом деле это из-за версии sentry-sdk. Это связанная проблема. Эта проблема была исправлена в версии sentry-sdk 0.16, поэтому я обновил версию sentry-sdk, и она была решена.