是否可以运行 Prometheus 和 Grafana docker 容器但使用安装在主机中的 node-exporter?
Posted
技术标签:
【中文标题】是否可以运行 Prometheus 和 Grafana docker 容器但使用安装在主机中的 node-exporter?【英文标题】:Is it possible to run Prometheus and Grafana docker containers but use node-exporter installed in the host machine? 【发布时间】:2021-11-01 00:01:09 【问题描述】:我正在尝试使用 Prometheus、Grafana 和节点导出器构建监控系统。我有一个 docker-compose 文件,它可以启动 Prometheus 和 Grafana 容器,但不能启动 node-exporter。根据Node exporter GitHub documentation的说法,不建议将node-exporter部署为容器,因为它需要访问宿主系统。
是否可以在我的 docker-compose 旁边使用安装在主机中的节点导出器?如果是,我需要添加哪些额外的配置?
【问题讨论】:
【参考方案1】:有一个很好的指南是here。需要注意的一点是node_exporter
是为 linux/bsd 构建的。如果您在 Windows 上运行撰写文件,则需要运行 windows_exporter。下面的过程会有所不同,但在理论上是相似的。
总结指南,下载特定/最新版本并运行应用程序:
wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64
./node_exporter
你应该可以通过端口9100
访问它
curl http://localhost:9100/metrics
然后设置您的prometheus.yml
文件(您已备份到您的 docker 映像中,或者通过 docker-compose 绑定安装),例如:
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
当您运行node_exporter
脚本时,您可以向它传递您想要启用/禁用的collectors 列表。当您调整监控系统时,您会发现您想要跟踪的指标以及一些无用的指标。您可以通过删除您的监控系统不会使用的收集器来节省一些开销。
【讨论】:
以上是关于是否可以运行 Prometheus 和 Grafana docker 容器但使用安装在主机中的 node-exporter?的主要内容,如果未能解决你的问题,请参考以下文章