grafana-sentry-datasource reports 0 projects
Hi I am trying to expose a /metrics endpoint for prometheus to scrape in glitchtip backend applications.
I am following this tutorial https://docs.timescale.com/timescaledb/latest/tutorials/monitor-django-with-prometheus/#prerequisites
What I have done so far.
- installed the python -m pip install django-prometheus package
- updated settings.py
- updated url.py
- add the package
pyproject.tomltopoetry add django-prometheus, should I removed the locked file? - When I run docker-compose up I get the following. My plan is to expose some metrics and have a grafana dashboard to visualise.
docker-compose up
[+] Running 4/0
⠿ Container glitchtip-backend-postgres-1 Created 0.0s
⠿ Container glitchtip-backend-redis-1 Created 0.0s
⠿ Container glitchtip-backend-worker-1 Created 0.0s
⠿ Container glitchtip-backend-web-1 Created 0.0s
Attaching to glitchtip-backend-postgres-1, glitchtip-backend-redis-1, glitchtip-backend-web-1, glitchtip-backend-worker-1
glitchtip-backend-postgres-1 |
glitchtip-backend-postgres-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
glitchtip-backend-postgres-1 |
glitchtip-backend-redis-1 | 1:C 04 Feb 2022 09:28:35.850 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
glitchtip-backend-redis-1 | 1:C 04 Feb 2022 09:28:35.850 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
glitchtip-backend-redis-1 | 1:C 04 Feb 2022 09:28:35.851 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
glitchtip-backend-redis-1 | 1:M 04 Feb 2022 09:28:35.852 * monotonic clock: POSIX clock_gettime
glitchtip-backend-redis-1 | 1:M 04 Feb 2022 09:28:35.853 * Running mode=standalone, port=6379.
glitchtip-backend-redis-1 | 1:M 04 Feb 2022 09:28:35.853 # Server initialized
glitchtip-backend-redis-1 | 1:M 04 Feb 2022 09:28:35.854 * Ready to accept connections
glitchtip-backend-postgres-1 | 2022-02-04 09:28:35.979 UTC [1] LOG: starting PostgreSQL 13.5 (Debian 13.5-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
glitchtip-backend-postgres-1 | 2022-02-04 09:28:35.980 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
glitchtip-backend-postgres-1 | 2022-02-04 09:28:35.980 UTC [1] LOG: listening on IPv6 address "::", port 5432
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.054 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.121 UTC [27] LOG: database system was interrupted; last known up at 2022-02-04 09:21:09 UTC
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.346 UTC [27] LOG: database system was not properly shut down; automatic recovery in progress
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.381 UTC [27] LOG: redo starts at 0/15CF7C8
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.381 UTC [27] LOG: invalid record length at 0/15CF800: wanted 24, got 0
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.381 UTC [27] LOG: redo done at 0/15CF7C8
glitchtip-backend-postgres-1 | 2022-02-04 09:28:36.647 UTC [1] LOG: database system is ready to accept connections
glitchtip-backend-worker-1 | Traceback (most recent call last):
glitchtip-backend-worker-1 | File "/usr/local/bin/celery", line 8, in <module>
glitchtip-backend-worker-1 | sys.exit(main())
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/__main__.py", line 15, in main
glitchtip-backend-worker-1 | sys.exit(_main())
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/bin/celery.py", line 213, in main
glitchtip-backend-worker-1 | return celery(auto_envvar_prefix="CELERY")
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__
glitchtip-backend-worker-1 | return self.main(*args, **kwargs)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main
glitchtip-backend-worker-1 | rv = self.invoke(ctx)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
glitchtip-backend-worker-1 | return _process_result(sub_ctx.command.invoke(sub_ctx))
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
glitchtip-backend-worker-1 | return ctx.invoke(self.callback, **ctx.params)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke
glitchtip-backend-worker-1 | return callback(*args, **kwargs)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/click/decorators.py", line 21, in new_func
glitchtip-backend-worker-1 | return f(get_current_context(), *args, **kwargs)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/bin/base.py", line 133, in caller
glitchtip-backend-worker-1 | return f(ctx, *args, **kwargs)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/bin/worker.py", line 338, in worker
glitchtip-backend-worker-1 | worker = app.Worker(
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/worker/worker.py", line 94, in __init__
glitchtip-backend-worker-1 | self.app.loader.init_worker()
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/loaders/base.py", line 111, in init_worker
glitchtip-backend-worker-1 | self.import_default_modules()
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/loaders/base.py", line 105, in import_default_modules
glitchtip-backend-worker-1 | raise response
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/utils/dispatch/signal.py", line 276, in send
glitchtip-backend-worker-1 | response = receiver(signal=self, sender=sender, **named)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/fixups/django.py", line 82, in on_import_modules
glitchtip-backend-worker-1 | self.worker_fixup.validate_models()
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/fixups/django.py", line 120, in validate_models
glitchtip-backend-worker-1 | self.django_setup()
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/celery/fixups/django.py", line 116, in django_setup
glitchtip-backend-worker-1 | django.setup()
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
glitchtip-backend-worker-1 | apps.populate(settings.INSTALLED_APPS)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
glitchtip-backend-worker-1 | app_config = AppConfig.create(entry)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/site-packages/django/apps/config.py", line 224, in create
glitchtip-backend-worker-1 | import_module(entry)
glitchtip-backend-worker-1 | File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
glitchtip-backend-worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
glitchtip-backend-worker-1 | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
glitchtip-backend-worker-1 | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
glitchtip-backend-worker-1 | File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
glitchtip-backend-worker-1 | ModuleNotFoundError: No module named 'django_prometheus'
glitchtip-backend-worker-1 exited with code 1
glitchtip-backend-web-1 | Watching for file changes with StatReloader
glitchtip-backend-web-1 | Exception in thread django-main-thread:
glitchtip-backend-web-1 | Traceback (most recent call last):
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
glitchtip-backend-web-1 | self.run()
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/threading.py", line 910, in run
glitchtip-backend-web-1 | self._target(*self._args, **self._kwargs)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
glitchtip-backend-web-1 | fn(*args, **kwargs)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 110, in inner_run
glitchtip-backend-web-1 | autoreload.raise_last_exception()
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception
glitchtip-backend-web-1 | raise _exception[1]
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 375, in execute
glitchtip-backend-web-1 | autoreload.check_errors(django.setup)()
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
glitchtip-backend-web-1 | fn(*args, **kwargs)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
glitchtip-backend-web-1 | apps.populate(settings.INSTALLED_APPS)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
glitchtip-backend-web-1 | app_config = AppConfig.create(entry)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/site-packages/django/apps/config.py", line 224, in create
glitchtip-backend-web-1 | import_module(entry)
glitchtip-backend-web-1 | File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
glitchtip-backend-web-1 | return _bootstrap._gcd_import(name[level:], package, level)
glitchtip-backend-web-1 | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
glitchtip-backend-web-1 | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
glitchtip-backend-web-1 | File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
glitchtip-backend-web-1 | ModuleNotFoundError: No module named 'django_prometheus'
and
glitchtip-backend git:(master) ✗ docker build .
[+] Building 528.0s (18/18) FINISHED
=> [internal] load build definition from Dockerfile 0.4s
=> => transferring dockerfile: 795B 0.0s
=> [internal] load .dockerignore 0.5s
=> => transferring context: 58B 0.0s
=> [internal] load metadata for docker.io/library/python:3.9-slim 3.0s
=> [internal] load metadata for docker.io/library/python:3.9 3.0s
=> [auth] library/python:pull token for registry-1.docker.io 0.0s
=> [build-python 1/5] FROM docker.io/library/python:3.9@sha256:b0ed7954a2114eb965e65cf72ebde4a703cbfe35e16cba81bb3ef8b3c9975784 0.0s
=> [internal] load build context 2.2s
=> => transferring context: 2.81MB 1.9s
=> [stage-1 1/6] FROM docker.io/library/python:3.9-slim@sha256:86b3b6af2b6254fe44de9f5c8e6e08248cdef19f3060ee5cf131ef629c375830 0.0s
=> CACHED [build-python 2/5] RUN pip install "poetry==1.1.7" 0.0s
=> CACHED [build-python 3/5] WORKDIR /code 0.0s
=> [build-python 4/5] COPY poetry.lock pyproject.toml /code/ 1.1s
=> [build-python 5/5] RUN poetry install --no-interaction --no-ansi $(test "$IS_CI" = "True" && echo "--no-dev") 424.0s
=> CACHED [stage-1 2/6] RUN apt-get update && apt-get install -y libxml2 && apt-get clean && rm -rf /var/lib/apt/lists/* 0.0s
=> CACHED [stage-1 3/6] WORKDIR /code 0.0s
=> [stage-1 4/6] COPY --from=build-python /usr/local/lib/python3.9/site-packages/ /usr/local/lib/python3.9/site-packages/ 19.3s
=> [stage-1 5/6] COPY --from=build-python /usr/local/bin/ /usr/local/bin/ 0.9s
=> [stage-1 6/6] COPY . /code/ 1.4s
=> exporting to image 54.8s
=> => exporting layers 54.5s
=> => writing image sha256:374001d11747806d38c11b8e0512a3ce0d47d5ff3eb1cf118dbbd51c9289ff0f 0.1s
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
Edited by David Burke