У меня есть docker-compose с prometheus configure для мониторинга докерских контейнеров на удаленном хосте (вот ссылка https://github.com/stefanprodan/dockprom)
Далее у меня есть другой файл docker-compose с моим внутренним экземпляром, этот показатель сбора показателей экземпляра (профилирование запросов: статистика запросов / ответов). Первый Docker-контейнер (где находится сервер Prometheus) имеет сеть с именем monitor-net
, а второй docker-compose (где находится мой экземпляр сервера) использует его как внешний:
# in docker-compose with prometheus server
networks:
monitor-net:
driver: bridge
..............................................
# in docker compose with my server instance
networks:
{monitoring_folder_name}_monitor-net:
external: true
Отсюда и пошло взаимодействие между сервисами docker-compose Связь между несколькими проектами docker-compose
Затем я запускаю оба docker-compos. Сервер работает, работает система мониторинга контейнеров. Но он не может подключиться к серверу. На {VPS_IP}:9090
(где работает сервер prometheus) я получил ошибку на конечной точке моего сервера
Get http://st_back_1:3011/metrics: dial tcp 192.168.16.11:3011: connect: connection refused
st_back_1
- это имя контейнера сервера
Я не могу понять, что я делаю не так. Может быть, есть разные подходы к решению этой проблемы (например, обратитесь к моему VPS_IP:3011
, но что касается безопасности, чем / не дольше). Моя цель - собрать метрики из моего экземпляра сервера (-ов) (может быть, их будет несколько) и поместить их в одну панель Grafana
Итак, мой вопрос: как мне обращаться к контейнерам докеров из prometheus.yml
, если они находятся в разных docker-composes, но они совместно используют одну и ту же сеть (VPS_IP:PORT
, container_name:PORT
и т. Д.)?
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'docker-host-alpha'
rule_files:
- "alert.rules"
scrape_configs:
- job_name: 'nodeexporter'
scrape_interval: 5s
static_configs:
- targets: ['nodeexporter:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'prometheus'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9090']
- job_name: 'pushgateway'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pushgateway:9091']
- job_name: 'be.production'
scrape_interval: 10s
static_configs:
- targets: ['st_back_1:3011']
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- 'alertmanager:9093'