首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker集群环境中的Netdata

docker集群环境中的Netdata
EN

Stack Overflow用户
提问于 2019-01-04 16:42:38
回答 2查看 1.5K关注 0票数 0

我对Netdata和Docker Swarm都很陌生。我在单个主机上运行了一段时间的Netdata,但现在尝试将Netdata从workers流式传输到集群环境中的管理器节点,在这种环境中,管理器也应该充当中心Netdata实例。我的目标是只监控来自经理的数据。

下面是我的堆栈合成文件:

代码语言:javascript
复制
version: '3.2'

services:
  netdata-client:
    image: titpetric/netdata
    hostname: "{{.Node.Hostname}}"
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    environment:
      - NETDATA_STREAM_DESTINATION=control:19999
      - NETDATA_STREAM_API_KEY=1x214ch15h3at1289y
      - PGID=999
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - netdata
    deploy:
      mode: global
      placement:
        constraints: [node.role == worker]

  netdata-central:
    image: titpetric/netdata
    hostname: control
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    environment:
      - NETDATA_API_KEY_ENABLE_1x214ch15h3at1289y=1
    ports:
      - '19999:19999'
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - netdata
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  netdata:
    driver: overlay
    attachable: true

管理器上的Netdata运行良好,容器在我正在测试的一个工作节点上运行。根据日志输出,它似乎运行得很好,并且像在本地环境中一样,从运行的docker容器中收集名称。

问题是它无法连接到管理器上运行的netdata-central服务。

以下是错误消息:

代码语言:javascript
复制
2019-01-04 08:35:28: netdata INFO  : STREAM_SENDER[7] : STREAM 7 [send to control:19999]: connecting...,
2019-01-04 08:35:28: netdata ERROR : STREAM_SENDER[7] : Cannot resolve host 'control', port '19999': Name or service not known,

不确定为什么它不能解析主机名,我认为它应该在重叠网络上以这种方式工作。也许有一种更好的连接方式,而不是依赖主机名?

任何帮助都是非常感谢的。

编辑:由于这个问题可能会出现-控制主机上的防火墙(ufw)处于非活动状态,而且我认为错误消息清楚地指出了名称解析的问题。

EN

回答 2

Stack Overflow用户

发布于 2019-03-19 19:42:08

您的API-Key在错误的format..it中必须是GUID。您可以使用"uuidgen“命令生成一个...

https://github.com/netdata/netdata/blob/63c96aa96f96f3aea10bdcd2ecd92c889f26b3af/conf.d/stream.conf#L7

票数 0
EN

Stack Overflow用户

发布于 2020-04-29 22:18:27

在最新的映像中,环境变量不起作用。解决方案是为流创建一个配置文件。我的工作合成文件是:

代码语言:javascript
复制
version: '3.7'

configs:
  netdata_stream_master:
    file: $PWD/stream-master.conf
  netdata_stream_client:
    file: $PWD/stream-client.conf
services:
  netdata-client:
    image: netdata/netdata:v1.21.1
    hostname: "{{.Node.Hostname}}"
    depends_on:
      - netdata-central
    configs:
        -
          mode: 444
          source: netdata_stream_client
          target: /etc/netdata/stream.conf
    security_opt:
      - apparmor:unconfined
    environment:
      - PGID=999
    volumes:
      - /proc:/host/proc:ro
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock

    deploy:
      mode: global


  netdata-central:
    image: netdata/netdata:v1.21.1
    hostname: control
    configs:
      -
        mode: 444
        source: netdata_stream_master
        target: /etc/netdata/stream.conf
    security_opt:
      - apparmor:unconfined
    environment:
      - PGID=999
    ports:
      - '19999:19999'
    volumes:
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /var/run/docker.sock:/var/run/docker.sock

    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54035556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档