当前位置: 首页 > 知识库问答 >
问题:

在swarm环境中访问cadvisor的正确方法

彭正谊
2023-03-14

我有一个有两个节点的群,我正在将cadvisor作为一个全局服务运行。我得到了度量标准,Grafana/Promethues可以刮它们。但是我的数字是错的。当我使用docker命令行工具检查容器的数量时,我看到第一个节点上有17个容器,第二个节点上有14个容器。然而,Prometheus/Grafana会告诉我,我得到了34个容器,两个节点上的容器数量都是17个。

version: '3.6'

services:

  cadvisor:
    image: google/cadvisor
    deploy:
      mode: global
    ports:
      - "8888:8080"
    #privileged: true 
    #command: 
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro    
  - job_name: 'cadvisor'
    scrape_interval: 20s
    static_configs:
      - targets: ['host1:8888','host2:8888']  

是否有人提供了一个在多个节点群中使用cadvisor的工作示例,或者可以指出如何在proemtheus配置中定义cadvisor的目标?

共有1个答案

颛孙安康
2023-03-14

也许有点晚,但它在这里。要执行“自动发现”的方式,可以使用如下代码:

- job_name: 'cadvisor'
  dns_sd_configs:
   - names: ['tasks.cadvisor']
     type: 'A'
     port: 8080 # internal

在“tasks.cadvisor”中,点后面的名称必须与您在docker compose中或通过docker service create命令给服务的名称匹配。

 类似资料:
  • 我的程序使用ZMQ进行通信。也就是说,服务器(C、linux)创建一个XPUB套接字,然后在一个线程中读取它,在另一个线程中发布数据(写入)。 客户端(java、jzmq、linux)创建一个SUB套接字,并订阅使用它。 一段时间后,服务器端在读取线程中接收SIGABRT。 什么可能是问题的根源?在不同的线程中读/写或创建XPUB/SUB对? 如果问题是在多线程中,那么使用XPUB套接字的正确范例

  • 问题内容: 我是JAVA的新手,我喜欢尝试并理解所有内容。 在JAVA中访问静态方法“ hero.returnHp()”时,我具有以下内容: 该程序运行良好,但是我注意到Eclipse发出警告,指出“应以静态方式访问hero类型的静态方法。” 当我接受自动修复时,它会更改为“ Mike.returnHp();”。到“ hero.returnHp();”。 所以我有两个问题: 1)这有什么好处? 2

  • 问题内容: 有谁知道如何在Java中访问标准Shell环境的环境变量?我正在使用ProcessBuilder类,并且必须指定正在运行的Shell脚本中使用的特定环境变量,这些变量存在于标准Shell环境中。 访问ProcessBuilder环境不起作用。 问题答案: 您可以通过以下方法获取创建程序时存在的环境变量: http://download.oracle.com/javase/tutoria

  • 本文向大家介绍python访问系统环境变量的方法,包括了python访问系统环境变量的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python访问系统环境变量的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 因此,我一直在寻找一个示例,说明如何从AWS EB Web界面为Docker容器指定环境变量。通常,在EB中,您可以添加运行时可用的环境属性。在切换到Docker之前,我曾在之前的部署中使用过这些工具,但是看来Docker对于如何处理环境属性有一些不同的规则,对吗?根据本文[1],环境变量中将仅包含AWS凭证和PARAM1-PARAM5,但不会显示任何自定义属性。这对我来说听起来像是,

  • 只是想知道,我可以在谷歌应用程序引擎中访问环境变量吗?例如,我存储了一封电子邮件和密码,并希望按如下方式访问它: 有什么办法可以做到这一点吗?