From 38fb61b24ffe45aab0cada62f05f5c1c07e256e1 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Thu, 1 Aug 2024 07:42:17 +0000 Subject: [PATCH] Serve prometheus metrics on dedicated port per worker --- SAS/TMSS/backend/src/tmss/settings.py | 4 ++++ SAS/TMSS/deploy/tmss/docker-compose.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/SAS/TMSS/backend/src/tmss/settings.py b/SAS/TMSS/backend/src/tmss/settings.py index 1dda9915872..233f5a3da17 100644 --- a/SAS/TMSS/backend/src/tmss/settings.py +++ b/SAS/TMSS/backend/src/tmss/settings.py @@ -80,6 +80,10 @@ DEBUG = strtobool(os.getenv('DEBUG', 'True')) ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS').split(',') if os.getenv('ALLOWED_HOSTS') else [] +# Django-prometheus endpoints, of which one per worker will be spawned +PROMETHEUS_METRICS_EXPORT_PORT_RANGE = range(9001, 9061) +PROMETHEUS_METRICS_EXPORT_ADDRESS = '' # all addresses + # Application definition INSTALLED_APPS = [ diff --git a/SAS/TMSS/deploy/tmss/docker-compose.yml b/SAS/TMSS/deploy/tmss/docker-compose.yml index 2b8edfad045..8c04306b68c 100644 --- a/SAS/TMSS/deploy/tmss/docker-compose.yml +++ b/SAS/TMSS/deploy/tmss/docker-compose.yml @@ -36,9 +36,11 @@ services: - USER=lofarsys - HOME=/localhome/lofarsys # from https://docs.gunicorn.org/en/stable/run.html, number of worker processes should generally be between 2-4 workers per core in the server + # NB: do not enable --preload, as it will cause a clash in port allocation for the prometheus metrics command: /bin/bash -c 'source /opt/lofar/lofarinit.sh; gunicorn lofar.sas.tmss.tmss.wsgi --worker-class=gevent --workers=60 --timeout 120 --bind=0.0.0.0:8001' ports: - 8001:8001 + - 9001-9061:9001-9061 # django-prometheus endpoint per worker depends_on: db_migrate: condition: service_completed_successfully -- GitLab