从dockerized的prometheus中访问dockerized的服务器

时间:2019-01-06 22:30:03

标签: docker docker-compose prometheus

我使用docker-compose with prometheus configure来监视远程主机上的docker容器(这里是链接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服务通信的方式是从这里Communication between multiple docker-compose projects

然后,我启动两个docker-composes。服务器正在运行Docker容器的监视系统正在运行。但是它无法连接到服务器。在{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发送地址,但是关于安全的问题不是/不会更长)。我的目标是从服务器实例(-s)收集指标(可能会有多个指标)并将其放入单个Grafana仪表板

所以,我的问题是,如果prometheus.yml中的docker容器位于不同的docker-compose中,但它们共享相同的网络(通过VPS_IP:PORTcontainer_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'

0 个答案:

没有答案