node_exporter 系统监控

node_exporter 用于收集并导出主机的硬件和操作系统的指标给 Prometheus 使用

 docker run -d \
  --net="host" \
  --pid="host" \
  -v "/:/host:ro,rslave" \
  --name node_exporter \
  prom/node-exporter \
  --path.rootfs=/host
  • docker run -d:这部分表示以分离模式运行一个 Docker 容器。
  • --net="host":这个参数设置容器的网络模式为 host,意味着容器将直接使用宿主机的网络,而不是使用 Docker 的网络隔离。
  • --pid="host":设置 PID(进程ID)模式为 host,这允许容器进程看到宿主机的所有进程。
  • -v "/:/host:ro,rslave":这部分是一个卷挂载参数,它将宿主机的根目录(/)挂载到容器的/host目录下,且为只读(ro)。rslave标记意味着挂载点的任何挂载和卸载事件都会传播到容器内部,但是容器内部的挂载事件不会传播到外部。
  • --name node_exporter:设置容器的名称为node_exporter
  • prom/node-exporter:指定要运行的镜像,这里是 Prometheus 的官方node-exporter镜像。
  • --path.rootfs=/host:这是传递给node_exporter的参数,指定根文件系统的路径。因为我们通过挂载将宿主机的根(/)挂载到了容器的/host,所以我们需要告诉node_exporter正确的根文件系统路径,以便它能够正确收集宿主机的指标。