簡體   English   中英

上下文截止日期已延長-prometheus-在docker上運行時

[英]context deadline extended - prometheus - while running on docker

我試圖在Prometheus上獲得春季微服務作為注冊人。 兩者都在docker上運行。 我在Prometheus用戶界面中獲得“超出上下文截止日期”的服務。

有趣的是,當我嘗試在新標簽中打開“ localhost:8081 / metrics”時,它會顯示指標。

這是我的docker-compose.yml。 這個問題似乎很普遍,但是我並沒有遇到適合我的解決方案; 然而。

docker-compose.yml

version: '2.1'
networks:
   cadrs:
     ipam:
       config:
          - subnet: 172.28.0.0/16

services:
prometheus:
    image: prom/prometheus:0.18.0
    volumes:
        - ./prometheus.yml:/etc/prometheus/prometheus.yml
    command:
        - '-config.file=/etc/prometheus/prometheus.yml'
    ports:
        - '9090:9090'

demo:
    build: "C:/Users/hmt843/Downloads/demo"
    hostname: "demo"
    ports:
        - "8081:8081"
    networks:
       cadrs:
          ipv4_address: 172.28.1.2
node-exporter:
    image: prom/node-exporter:v0.15.0
    ports:
        - '9100:9100'

普羅米修斯

global:
  scrape_interval: 15s
  external_labels:
        monitor: 'my-monitor'

scrape_configs:
    - job_name: 'prometheus'
      target_groups:
          - targets: ['localhost:9090']
    - job_name: 'demo'
      tls_config:
        insecure_skip_verify: true
      target_groups:
          - targets: ['172.28.1.2:8081']
    - job_name: 'node-exporter'
      target_groups:
          - targets: ['node-exporter:9100']

通過在您應用的服務中指定網絡部分,可以將容器放置在一個名為cadrs的單獨的cadrs網絡中。 您普羅米修斯服務有沒有這樣的網絡定義,因此在default網絡。 容器必須駐留在至少一個公共網絡中,才能相互訪問。 即使將容器暴露在主機端口上也不會對此造成影響(但是您可以通過主機ip訪問應用程序-請勿這樣做)。

如果您確實需要此網絡配置,則可以通過將相同的網絡部分添加到您的Prometheus服務中來將Prometheus添加到相同的網絡中,或者引入兩個服務中都使用的另一個網絡(例如, monitoring )。 另外,您還可以通過在應用程序的“網絡”部分添加一行來指定您的應用程序在默認網絡中。

networks:
  cadrs:
    [...]
  default:

參考: https : //docs.docker.com/compose/networking/#configure-the-default-network

有了這個設置,你可以修改你刮配置也回到demo:8081 無論哪種方式,問問自己是否真的要自己使用管理容器地址...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM