ubuntu20.04如何使用cadvisor来使prometheus采集到docker容器中的gpu信息,以及gpu在宿主机中使用率的占比,请详细列出各个步骤需要的代码,并且创建一个grafana仪表盘的json文件来展示采集到的信息

时间: 2024-03-28 07:38:23 浏览: 20
好的,以下是详细的步骤和代码,以及grafana仪表盘的json文件: 步骤1:安装cadvisor和prometheus ``` # 安装cadvisor sudo docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest # 安装prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz tar xvfz prometheus-2.23.0.linux-amd64.tar.gz cd prometheus-2.23.0.linux-amd64/ ``` 步骤2:配置prometheus.yml文件,将cadvisor添加为一个job ``` # 编辑prometheus.yml文件 vi prometheus.yml # 添加以下内容 scrape_configs: - job_name: 'cadvisor' static_configs: - targets: ['localhost:8080'] ``` 步骤3:启动prometheus ``` ./prometheus --config.file=prometheus.yml ``` 步骤4:在grafana中添加prometheus数据源 - 点击“Configuration” -> “Data Sources” -> “Add data source” - 选择“Prometheus”作为类型 - 在URL栏中输入“http://localhost:9090”(默认prometheus端口) - 点击“Save & Test” 步骤5:创建grafana仪表盘 - 点击“Create” -> “Dashboard” - 选择“Add Query” -> “Query” -> “Prometheus” - 在query栏中输入以下内容来获取GPU的使用率: ``` rate(container_gpu_usage{name=~".+"}[1m]) ``` - 在query栏中输入以下内容来获取GPU在宿主机中的使用率: ``` sum(node_gpu_utilisation)/count(node_gpu_utilisation) ``` - 在右上角选择“Graph”,并将查询结果添加到仪表盘中 - 点击“Save Dashboard”,并将其命名为“GPU Usage” 最后,以下是grafana仪表盘的json文件: ``` { "dashboard": { "id": null, "title": "GPU Usage", "timezone": "browser", "rows": [ { "title": "GPU Usage", "height": "300px", "panels": [ { "legend": { "show": true }, "targets": [ { "expr": "rate(container_gpu_usage{name=~\".+\"}[1m])", "format": "time_series", "interval": "", "intervalFactor": 1, "refId": "A" } ], "title": "GPU Usage", "type": "graph", "yaxes": [ { "format": "percent", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxis": { "align": false, "alignLevel": null }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 } }, { "legend": { "show": true }, "targets": [ { "expr": "sum(node_gpu_utilisation)/count(node_gpu_utilisation)", "format": "time_series", "interval": "", "intervalFactor": 1, "refId": "A" } ], "title": "GPU Usage in Host", "type": "graph", "yaxes": [ { "format": "percent", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxis": { "align": false, "alignLevel": null }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 } } ] } ], "schemaVersion": 22, "version": 0 }, "folderId": null, "overwrite": false } ```

相关推荐

最新推荐

recommend-type

ubuntu20.04 LTS安装docker的方法步骤

主要介绍了ubuntu20.04 LTS安装docker的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

在Ubuntu20.04中安装ROS Noetic的方法

主要介绍了在Ubuntu20.04中安装ROS Noetic的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

windows10安装ubuntu20.04双系统详细图文教程

主要介绍了windows10安装ubuntu20.04双系统详细图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

Ubuntu 20.04 CUDA&cuDNN安装方法(图文教程)

主要介绍了Ubuntu 20.04 CUDA&cuDNN安装方法(图文教程),文中通过图文代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

ubuntu20.04安装QT.pdf

ubuntu20.04安装QT 一、 安装cmake 二、 安装gcc和g++ 三、 下载QT 四、 安装QT 五、 故障解决
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。