我想用prometheus监控我的django应用程序,我添加了django-prometheu斯(2.1.0(,然后添加了我的所有请求,除了/metrics
在DEBUG=FALSE
时导致500。我不明白为什么它只适用于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
问题不是因为django-prometheus中间件。实际上是因为sentingsdk版本。这就是相关的问题。这个问题在哨兵sdk的0.16版本中得到了修复,所以我更新了哨兵sdk版本,它得到了解决。