使用哪些组件可以使prometheus监控到宿主机中多个docker容器中的gpu信息,具体的使用方法是怎样
时间: 2024-03-26 19:42:28 浏览: 287
要监控宿主机中多个 Docker 容器中的 GPU 信息,可以使用 NVIDIA 官方提供的 GPU 监控 exporter `nvidia_gpu_prometheus_exporter`。这个 exporter 可以把宿主机中所有 GPU 的使用情况统计起来,然后暴露给 Prometheus 进行监控。
具体使用方法如下:
1. 安装 `nvidia_gpu_prometheus_exporter`
```bash
docker run -d --name=nvidia_gpu_prometheus_exporter \
--pid=host \
--runtime=nvidia \
-p 9101:9101 \
nvcr.io/nvidia/k8s/dcgm-exporter:2.0.13-2.2.0-rc.3-ubuntu18.04
```
运行上述命令会下载 `nvidia_gpu_prometheus_exporter` 镜像,并以 daemon 模式运行一个容器。
2. 配置 Prometheus
在 Prometheus 的配置文件 `prometheus.yml` 中添加以下内容:
```yaml
scrape_configs:
- job_name: 'nvidia_gpu_exporter'
scrape_interval: 5s
static_configs:
- targets: ['<nvidia_gpu_prometheus_exporter_host>:9101']
```
其中 `<nvidia_gpu_prometheus_exporter_host>` 是 `nvidia_gpu_prometheus_exporter` 容器所在的宿主机的 IP 地址。
3. 重启 Prometheus
在修改了 `prometheus.yml` 配置文件后,需要重启 Prometheus 才能生效。
4. 访问 Grafana
访问 Grafana 并配置一个 Dashboard,就可以实时监控 GPU 使用情况了。在添加图表时,可以选择 `nvidia_gpu_duty_cycle`、`nvidia_gpu_memory_free`、`nvidia_gpu_memory_total` 等指标。
需要注意的是,`nvidia_gpu_prometheus_exporter` 只能监控到正在运行的容器中的 GPU 使用情况,如果容器已经停止运行,那么它占用的 GPU 资源也不会被统计。
阅读全文