首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >船坞中的Prometheus node_exporter :主机网络与主机名

船坞中的Prometheus node_exporter :主机网络与主机名
EN

Stack Overflow用户
提问于 2021-03-17 15:29:39
回答 1查看 2.6K关注 0票数 3

为了监视小型家庭服务器,我在docker上运行prometheus和node_exporter (以及grafana和其他一些东西)(类似于https://github.com/stefanprodan/dockprom)。我在一个桥接码头网络上运行普罗米修斯。对于node_exporter,我有两个选项,它们影响node_network_transmit_bytes_total度量。

  • 使用与prometheus 相同的桥接码头网络
    • Pro:节点出口商可以通过名称直接命名,这要归功于docker的内部DNS
    • Con:node_network_transmit_bytes_total度量只有对接者的虚拟内部网卡,而不是被监控的盒子的物理网卡。这是脱离站点绑定-将/proc从主机加载到容器中的/host/proc中(具体来说,我的物理接口是eno0,在主机上的/proc/net/dev中可以看到):$ docker exec -it nodeexporter2 cat / host /proc/net/dev _ awk '{print $1} interface eth0: lo:

  • 节点导出器使用主机模式网络
    • 支持:所有的NIC,包括物理主机NIC,都是可见的。
    • Con: prometheus似乎没有一种清洁的方式来解决节点出口商问题: - localhost的意思是普罗米修斯 -主人的名字似乎很难找到?运行docker exec -it prometheus wget -O - http://actual-hostname:9100/metrics可以工作(并且使用主机的LAN,192.168.x.x),但是将actual-hostname:9100配置为prometheus目标会产生一个错误(Get "http://actual-hostname:9100/metrics": dial tcp 127.0.1.1:9100: connect: connection refused)。我不知道他们为什么要以不同的方式解决问题。 -我最后所做的是模仿host.docker.internal特性,将其添加到我的docker-compose.yml:- extra_hosts:-“host.docker.inside:172.18.0.1”中。 然而,这是非常脆弱的: 172.18只是最近的172.19;我相信它在重新启动或对接版本升级时发生了变化。我希望能够将extra_hosts设置为在主机上运行一些脚本来确定正确的网络名称的结果,但这不会在引导时自动重新运行。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-18 10:46:18

延迟编辑:多亏了托马斯,原来有一个神奇的主机host-gateway可以做到这一点,所以extra_hosts: ["host.docker.internal:host-gateway"]应该能做到这一点。没有文档,但显然它实现了这里。并且已经住在码头20.10.6号(可能更早)。

我最终通过手动配置网络来解决这个问题:

代码语言:javascript
复制
networks:
  monitor-net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.23.0.0/16
          ip_range: 172.23.5.0/24
          gateway: 172.23.5.254

# ...

services:
  nodeexporter:
    network_mode: host
    # ...
  prometheus:
    networks:
      - monitor-net
    extra_hosts:
      - "host.docker.internal: 172.23.5.254"

然后prometheus就有了host.docker.internal for node_exporter的目标,并且地址应该是稳定的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66676204

复制
相关文章

相似问题

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