在我的Windows 10专业版,我有一个完整的码头群环境。码头群的一部分是普罗米修斯和cAdvisor。我将逐步构建监控工具,然后将监控部署到云解决方案中。
在Docker群堆栈中,我可以运行Prometheus和Cadvisor,但是Prometheus不能连接到cAdvisor。我收到这样的信息:
Get http://cadvisor:8090/metrics:拨号TCP10.0.0.50:8090:连接:连接被拒绝
我怎样才能让Prometheus访问顾问?
在我的浏览器中,我可以执行一个‘localhost:8090/度量值’,并获得所有指标。因此,cAdvisor可以肯定地运行。
我有一个创建网络(devhome_default)的堆栈文件。在我的第二个堆栈中,我提到了这个网络。
UPDATE:解决这一问题的一种方法是使用IP地址:$ ipconfig,在我的prometheus.config中使用该地址工作得很好。但是,这使得目标硬连接和不可维护。
堆栈/ dockercompose是:
version: '3'
services:
cadvisor:
image: google/cadvisor
networks:
- geosolutionsnet
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /:/rootfs
- /var/run:/var/run
- /sys:/sys
- /var/lib/docker/:/var/lib/docker
ports:
- 8090:8080
deploy:
mode: global
resources:
limits:
cpus: '0.10'
memory: 128M
reservations:
cpus: '0.10'
memory: 64M
prometheus:
image: prom/prometheus:v2.8.0
ports:
- "9090:9090"
networks:
- geosolutionsnet
volumes:
- //k/data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
deploy:
mode: replicated
replicas: 1
networks:
geosolutionsnet:
external:
name: devhome_default
prometheus配置文件是:
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
#- "alert.rules_nodes"
#- "alert.rules_tasks"
#- "alert.rules_service-groups"
scrape_configs:
- job_name: 'prometheus'
dns_sd_configs:
- names:
- 'tasks.prometheus'
type: 'A'
port: 9090
- job_name: 'cadvisor'
static_configs:
- targets: ['cadvisor:8090']
labels:
alias: "cadvisor"
或者,我也尝试过使用cAdvisor:
- job_name: 'cadvisor'
dns_sd_configs:
- names:
- 'tasks.cadvisor'
type: 'A'
port: 8090
还包括:
- job_name: 'cadvisor'
static_configs:
- targets: ['localhost:8090']
发布于 2019-10-30 09:22:38
在不同的云环境中,下面的“dns”解决方案就像魅力一样工作。因为“真正的”云环境是我们的Docker容器的目标环境,标准的“事实”解决方案就足够了。
因此,这在云环境中运行得很好:
- job_name: 'cadvisor'
dns_sd_configs:
- names:
- 'tasks.cadvisor'
type: 'A'
port: 8090
https://stackoverflow.com/questions/58249855
复制