如何在django rest框架和docker中设置prometheus
我想用prometheus、django rest框架和docker监控我的数据库 都是我的本地机器,错误如下: 错误是url,是我的API,我不知道是什么问题,我的配置如下 我的要求.txt如何在django rest框架和docker中设置prometheus,django,docker,django-rest-framework,prometheus,grafana,Django,Docker,Django Rest Framework,Prometheus,Grafana,我想用prometheus、django rest框架和docker监控我的数据库 都是我的本地机器,错误如下: 错误是url,是我的API,我不知道是什么问题,我的配置如下 我的要求.txt 德扬戈普罗米修斯 我的文件docker:docker-compose-monitoring.yml version: '2' services: prometheus: image: prom/prometheus:v2.14.0 volumes:
- 德扬戈普罗米修斯
version: '2'
services:
prometheus:
image: prom/prometheus:v2.14.0
volumes:
- ./prometheus/:/etc/prometheus/
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- 9090:9090
grafana:
image: grafana/grafana:6.5.2
ports:
- 3060:3060
我的文件夹和文件prometheus/prometheus.yml
global:
scrape_interval: 15s
rule_files:
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- 127.0.0.1:9090
- job_name: monitoring_api
static_configs:
- targets:
- 127.0.0.1:9000
我的文件设置.py
INSTALLED_APPS=[
...........
'django_prometheus',]
MIDDLEWARE:[
'django_prometheus.middleware.PrometheusBeforeMiddleware',
......
'django_prometheus.middleware.PrometheusAfterMiddleware']
我的模特
from django_promethues.models import ExportMOdelOperationMixin
class MyModel(ExportMOdelOperationMixin('mymodel'), models.Model):
"""all my fields in here"""
我的URL.py
url('', include('django_prometheus.urls')),
应用程序运行良好,在127.0.0.1:9090/metrics中,但只监视相同的url,我需要监视不同的url,我认为问题不在于配置,除了prometheus.yml文件,因为我不知道如何调用我的表或api,请帮助我
再见。您需要更改普罗米修斯的配置,并在docker compose中添加python图像,如下所示:
您好@Nishant Agarwal欢迎来到SO,请您更新您的答案并与他人分享,这将使您的答案更具可读性,谢谢。@HamidAli我已删除带有代码片段的代码图像。请查看
global:
scrape_interval: 15s # when Prometheus is pulling data from exporters etc
evaluation_interval: 30s # time between each evaluation of Prometheus' alerting rules
scrape_configs:
- job_name: django_project # your project name
metrics_path: /metrics
static_configs:
- targets:
- web:8000
version: '3.7'
services:
web:
build:
context: . # context represent path of your dockerfile(dockerfile present in the root dir)
command: sh -c "python3 manage.py migrate &&
gunicorn webapp.route.wsgi:application --pythonpath webapp --bind 0.0.0.0:8000"
volumes:
- .:/app
ports:
- "8000:8000"
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml #prometheus.yaml present in the root dir
FROM python:3.8
COPY ./webapp/django /app
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -r requirements.txt*strong text*