Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 授予节点导出器容器从主机访问网络统计信息的权限_Docker_Networking_Prometheus Node Exporter - Fatal编程技术网

Docker 授予节点导出器容器从主机访问网络统计信息的权限

Docker 授予节点导出器容器从主机访问网络统计信息的权限,docker,networking,prometheus-node-exporter,Docker,Networking,Prometheus Node Exporter,我想在一个容器中使用普罗米修斯的node_exporter,但也可以访问主机网络的统计数据。 由于我在容器中使用prometheus和其他模块,如alertmanager或mysql exporter,我不想简单地使用主机网络,因为这样我就无法以一致的方式轻松地将prometheus连接到节点导出器,因为prometheus也是作为容器部署的。我想使用docker逻辑(通过名称识别服务)。 这是docker compose的相关部分: node_exporter:

我想在一个容器中使用普罗米修斯的node_exporter,但也可以访问主机网络的统计数据。 由于我在容器中使用prometheus和其他模块,如alertmanager或mysql exporter,我不想简单地使用主机网络,因为这样我就无法以一致的方式轻松地将prometheus连接到节点导出器,因为prometheus也是作为容器部署的。我想使用docker逻辑(通过名称识别服务)。 这是docker compose的相关部分:

             node_exporter:
                build: "/root/prometheus-stack/node_exporter"
                image: node_exporter:v0.18.1
                volumes:
                  - /proc:/host/proc:ro
                  - /sys:/host/sys:ro
                  - /:/rootfs:ro
                command:
                    - '--log.level=debug'
                    - '--path.procfs=/host/proc'
                    - '--path.sysfs=/host/sys'
                    - '--collector.filesystem.ignored-mount-points'
                    - '^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)'
                networks:
                  - back-tier
                restart: always
正如您所看到的,我正在挂载/proc伪文件系统,但不幸的是,我看到的统计数据仅限于容器的统计数据,而不是主机的统计数据。例如,我将一直看到eth0,从内部看,它是容器的接口。 我有没有办法绕过这个问题,让我有一个完全集装箱化的普罗米修斯堆? 另一个解决方案是cadvisor,它使用docker的socket,我可以通过它获得服务器主网络接口的网络统计信息。但这不是很好

在服务器上,我也有容器化的反向代理,因此直接在主机上安装普罗米修斯及其模块会更加困难

那么,我如何才能顺利地让node exporter访问主机的网络统计数据呢

谢谢大家!