(Я впервые использую Prometheus, и я пока не очень хорошо разбираюсь в Docker / Django)
Я запускаю проект Django в контейнере Docker, а Prometheus с docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
В моем docker-compose.yml
у меня есть:
...
nginx-proxy:
build:
context: ./dockerfiles/nginx-proxy/
args:
- DOMAIN_NAME=local.my.url
ports:
- "80:80"
depends_on:
- api
- ...
volumes:
- ./volumes/nginx-front/log/:/var/log/nginx
api:
build:
context: ./dockerfiles/api/
args:
- GUNICORN_WORKERS=20
restart: always
volumes:
- ./volumes/api/src/:/usr/src/app
...
В /tmp/prometheus.yml
У меня есть:
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'my-project-monitor'
rule_files:
scrape_configs:
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- job_name: 'api'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['api.local.my.url']
Работа prometheus
, кажется, работает нормально (но это не такне интересующие меня метрики), api
выдает следующую ошибку из пользовательского интерфейса Promotheus: Get http://api.local.my.url:80/metrics: dial tcp 127.0.0.1:80: connect: connection refused
Однако, когда я набираю http://api.local.my.url:80/metrics
в своем браузере, я вижу информациюправильно.Я пытался заменить URL своим IP-адресом 10.25.2.192
, но это не меняет результат.
Я не понимаю, почему он не может подключиться.