Адрес докеризированного сервера от докеризованного прометея - PullRequest
0 голосов
/ 07 января 2019

У меня есть 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'
...