通过Grafana添加数据源和仪表盘,对主机设备进行监控.监控GPU,方便查看设备的使用状态提高利用率
下载资源
prometheus下载链接
https://prometheus.io/download/
安装Grafana
Grafana安装官方文档链接https://grafana.com/grafana/download
sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.4.2_amd64.deb
sudo dpkg -i grafana-enterprise_10.4.2_amd64.deb
sudo systemctl start grafana-server.service
sudo systemctl status grafana-server.service
sudo systemctl enable grafana-server.service
网页上输入http://IP地址:3000/login 就可以看到界面了
默认账号密码都是admin,首次登录可以修改密码也可以点击下方的skip跳过
安装Prometheus
在官网下载了对应的文件拷贝到要监控的主机上
解压文件
tar -zxvf prometheus-2.45.4.linux-amd64
解压移动路径
sudo mv prometheus-2.45.4.linux-amd64 -r /usr/local
创建etc文件
sudo mkdir -p /etc/prometheus
创建日志路径
sudo mkdir -p /var/lib/prometheus
修改监控内容
sudo vim /etc/prometheus/prometheus.yml
#添加以下代码
- job_name: 'gpu_metrics'
static_configs:
- targets: ['gpu_exporter_host:9400']
格式如下
编辑prometheus.service文件
sudo vim /etc/systemd/system/prometheus.service
添加以下内容
[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/prometheus-2.45.4.linux-amd64/prometheus --config.file=/usr/local/prometheus-2.45.4.linux-amd64/prometheus.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
重新加载 systemd 配置文件,以便它读取新的服务单元文件
sudo systemctl daemon-reload
启动 Prometheus 服务
sudo systemctl start prometheus
设置为开机启动
sudo systemctl enable prometheus
检查服务状态
sudo systemctl status prometheus
可以重启再次检查服务是否正常
安装docker
sudo apt update
sudo apt upgrade
安装必要的软件包
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加Docker的官方软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
安装Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
检查Docker状态
sudo systemctl status docker
将用户添加到Docker组
sudo usermod -aG docker $USER
验证Docker安装
sudo docker run hello-world
如果看到“Hello from Docker!”的消息,则表示Docker安装成功。
安装 NVIDIA Container Toolkit
确定您的 Linux 发行版和版本:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
添加 NVIDIA Container Toolkit 的 GPG 密钥:
curl -s -L https://nvidia.github.io/nvidia-container-toolkit/gpgkey | sudo apt-key add -
添加 NVIDIA Container Toolkit 的 APT 软件源:
curl -s -L https://nvidia.github.io/nvidia-container-toolkit/ubuntu${distribution}/nvidia-container-toolkit.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
更新您的 APT 软件包列表并安装 NVIDIA Container Toolkit:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
运行带有 GPU 支持的容器:
sudo docker run -d --gpus all -p 9400:9400 --restart=always nvidia/dcgm-exporter:latest
docker报错处理
查找容器的ID或名称
docker ps -a | grep nvidia/dcgm-exporter:latest
停止容器
docker stop <container_id_or_name>
删除容器
docker rm <container_id_or_name>
再次运行docker
sudo docker run -d --gpus all -p 9400:9400 --restart=always nvidia/dcgm-exporter:latest
还是报错的话只能删除所有容器重新安装解决了
删除所有Docker容器
docker container prune -f
过以下命令来停止所有容器:
docker container stop $(docker container ls -q)
删除docker
docker container rm $(docker container ls -aq)
使用 docker system prune 命令来删除所有未使用的容器、网络、镜像和卷(请小心使用,因为这将会删除所有未使用的资源):
docker system prune -a -f
重新安装容器
nvidia-container-toolkit nvidia-container-toolkit-base nvidia-docker2
再次运行docker
sudo docker run -d --gpus all -p 9400:9400 --restart=always nvidia/dcgm-exporter:latest
平台调试
这样输入http://IP地址:9090就可以访问Prometheus
这是Prometheus的界面
查看连接状态
在首页查询GPU的参数
登录Grafana添加数据源和仪表盘(Grafana在用户资料中可以设置中文和UI主题)这里我已经设置成中文了
接下来我们添加数据源
这样数据源我们就添加好了,接下来我们添加仪表盘
接下来就进入面板的编辑
这样 我们的仪表盘就创建好了,这个名称需要微调以下