lifecycle: cleanup prometheus (#2972)
* remove high cardinality labels Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * retry worker number for prometheus multiprocess id Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * revert to pid, use subdirectories Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * cleanup more Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * use worker id based off of https://github.com/benoitc/gunicorn/issues/1352 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix missing app label Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * tests/e2e: remove static names Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -2,10 +2,6 @@ | ||||
| from importlib import import_module | ||||
|  | ||||
| from django.apps import AppConfig | ||||
| from django.db import ProgrammingError | ||||
|  | ||||
| from authentik.core.signals import GAUGE_MODELS | ||||
| from authentik.lib.utils.reflection import get_apps | ||||
|  | ||||
|  | ||||
| class AuthentikCoreConfig(AppConfig): | ||||
| @ -19,12 +15,3 @@ class AuthentikCoreConfig(AppConfig): | ||||
|     def ready(self): | ||||
|         import_module("authentik.core.signals") | ||||
|         import_module("authentik.core.managed") | ||||
|         try: | ||||
|             for app in get_apps(): | ||||
|                 for model in app.get_models(): | ||||
|                     GAUGE_MODELS.labels( | ||||
|                         model_name=model._meta.model_name, | ||||
|                         app=model._meta.app_label, | ||||
|                     ).set(model.objects.count()) | ||||
|         except ProgrammingError: | ||||
|             pass | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| """authentik core signals""" | ||||
| from typing import TYPE_CHECKING | ||||
|  | ||||
| from django.apps import apps | ||||
| from django.contrib.auth.signals import user_logged_in, user_logged_out | ||||
| from django.contrib.sessions.backends.cache import KEY_PREFIX | ||||
| from django.core.cache import cache | ||||
| @ -10,30 +9,14 @@ from django.db.models import Model | ||||
| from django.db.models.signals import post_save, pre_delete | ||||
| from django.dispatch import receiver | ||||
| from django.http.request import HttpRequest | ||||
| from prometheus_client import Gauge | ||||
|  | ||||
| from authentik.root.monitoring import monitoring_set | ||||
|  | ||||
| # Arguments: user: User, password: str | ||||
| password_changed = Signal() | ||||
|  | ||||
| GAUGE_MODELS = Gauge("authentik_models", "Count of various objects", ["model_name", "app"]) | ||||
|  | ||||
| if TYPE_CHECKING: | ||||
|     from authentik.core.models import AuthenticatedSession, User | ||||
|  | ||||
|  | ||||
| @receiver(monitoring_set) | ||||
| # pylint: disable=unused-argument | ||||
| def monitoring_set_models(sender, **kwargs): | ||||
|     """set models gauges""" | ||||
|     for model in apps.get_models(): | ||||
|         GAUGE_MODELS.labels( | ||||
|             model_name=model._meta.model_name, | ||||
|             app=model._meta.app_label, | ||||
|         ).set(model.objects.count()) | ||||
|  | ||||
|  | ||||
| @receiver(post_save) | ||||
| # pylint: disable=unused-argument | ||||
| def post_save_application(sender: type[Model], instance, created: bool, **_): | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens L
					Jens L