ソースを参照

HUE-8744 [monitoring] Make /metrics page public

Romain 6 年 前
コミット
6d6dd8494c

+ 7 - 4
desktop/core/src/desktop/middleware.py

@@ -28,6 +28,9 @@ import tempfile
 import time
 import time
 
 
 import kerberos
 import kerberos
+import django.db
+import django.views.static
+import django_prometheus
 
 
 from django.conf import settings
 from django.conf import settings
 from django.contrib import messages
 from django.contrib import messages
@@ -35,13 +38,13 @@ from django.contrib.auth import REDIRECT_FIELD_NAME, BACKEND_SESSION_KEY, authen
 from django.contrib.auth.middleware import RemoteUserMiddleware
 from django.contrib.auth.middleware import RemoteUserMiddleware
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 from django.core import exceptions, urlresolvers
 from django.core import exceptions, urlresolvers
-import django.db
 from django.http import HttpResponseNotAllowed, HttpResponseForbidden
 from django.http import HttpResponseNotAllowed, HttpResponseForbidden
 from django.urls import resolve
 from django.urls import resolve
 from django.http import HttpResponseRedirect, HttpResponse
 from django.http import HttpResponseRedirect, HttpResponse
 from django.utils.translation import ugettext as _
 from django.utils.translation import ugettext as _
 from django.utils.http import urlquote, is_safe_url
 from django.utils.http import urlquote, is_safe_url
-import django.views.static
+
+from hadoop import cluster
 
 
 import desktop.views
 import desktop.views
 import desktop.conf
 import desktop.conf
@@ -55,10 +58,9 @@ from desktop.log import get_audit_logger
 from desktop.log.access import access_log, log_page_hit, access_warn
 from desktop.log.access import access_log, log_page_hit, access_warn
 from desktop import appmanager
 from desktop import appmanager
 from desktop import metrics
 from desktop import metrics
-from hadoop import cluster
-
 from desktop.auth.backend import is_admin
 from desktop.auth.backend import is_admin
 
 
+
 LOG = logging.getLogger(__name__)
 LOG = logging.getLogger(__name__)
 
 
 MIDDLEWARE_HEADER = "X-Hue-Middleware-Response"
 MIDDLEWARE_HEADER = "X-Hue-Middleware-Response"
@@ -68,6 +70,7 @@ MIDDLEWARE_HEADER = "X-Hue-Middleware-Response"
 DJANGO_VIEW_AUTH_WHITELIST = [
 DJANGO_VIEW_AUTH_WHITELIST = [
   django.views.static.serve,
   django.views.static.serve,
   desktop.views.is_alive,
   desktop.views.is_alive,
+  django_prometheus.exports.ExportToDjangoView
 ]
 ]
 
 
 
 

+ 1 - 1
desktop/core/src/desktop/settings.py

@@ -204,6 +204,7 @@ INSTALLED_APPS = [
     # App that keeps track of failed logins.
     # App that keeps track of failed logins.
     'axes',
     'axes',
     'webpack_loader',
     'webpack_loader',
+    'django_prometheus',
     #'django_celery_results',
     #'django_celery_results',
 ]
 ]
 
 
@@ -693,7 +694,6 @@ if desktop.conf.TASK_SERVER.ENABLED.get():
 
 
 
 
 if desktop.conf.ENABLE_PROMETHEUS.get():
 if desktop.conf.ENABLE_PROMETHEUS.get():
-  INSTALLED_APPS.append('django_prometheus')
   MIDDLEWARE_CLASSES.insert(0, 'django_prometheus.middleware.PrometheusBeforeMiddleware')
   MIDDLEWARE_CLASSES.insert(0, 'django_prometheus.middleware.PrometheusBeforeMiddleware')
   MIDDLEWARE_CLASSES.append('django_prometheus.middleware.PrometheusAfterMiddleware')
   MIDDLEWARE_CLASSES.append('django_prometheus.middleware.PrometheusAfterMiddleware')