1.安装Ganglia,这里安装的是3.1*版本,因为监控GPU的模块只支持3.1*版本系列的

apt-get install ganglia*

2.下载并安装PyNVML和NVML模块,下载地址https://github.com/ganglia/gmond_python_modules/tree/master/gpu

安装PyNVML,安装文档上要求python为2.5或更早版本,其实系统自带python版本2.7.3是可以通过编译的,这里就不需要更换python环境了

cd ~/nvidia/nvidia-ml-py-*
python setup.py install

安装NVML

2.1复制python模块到Ganglia模块目录

mkdir /usr/lib/ganglia/python_modules
cp python_modules/* /usr/lib/ganglia/python_modules

2.2复制配置文件和前端图形展现文件到ganglia相关目录

mkdir /etc/ganglia/conf.d
cp conf.d/* /etc/ganglia/conf.d
cp graph.d/* /usr/share/ganglia-webfrontend/graph.d/

2.3为web页面打补丁

cp ganglia_web.patch /usr/share/ganglia-webfrontend/
cp ganglia_web.patch /usr/share/ganglia-webfrontend/templates/default/
cd /usr/share/ganglia-webfrontend/
cp host_view.php host_view.php.bak
patch <ganglia_web.patch
cd /usr/share/ganglia-webfrontend/templates/default/
cp host_view.tpl host_view.tpl.bak
patch <ganglia_web.patch

3.将服务端/etc/ganglia/gmond.conf文件拷贝到客户端/etc/ganglia/,并在conf.d目录下新建modpython.conf文件,内容如下

modules {
module {
name = "python_module"
path = "/usr/lib/ganglia/modpython.so"
params = "/usr/lib/ganglia/python_modules"
} }

4.启动服务

service ganglia-monitor start

5.说明:以上都是客户端配置,服务器端配置的话也要经过上面的步骤,只不过需要多开启几个服务,如果被监控的GPU看不到图形的话,请运行以下命令

python /usr/lib/ganglia/python_moudles/nvidia.py
service ganglia-monitor restart

6.以上步骤的脚本放到服务器端,批量部署客户端,脚本如下

#!/bin/bash
cd ~
wget 192.168.87.102/nvidia.zip
unzip nvidia.zip
cp ~/nvidia/sources.list /etc/apt/
apt-get update
apt-get -y install ganglia*
cd ~/nvidia/nvidia-ml-py-*
python setup.py install
cp ~/nvidia/graph.d/* /usr/share/ganglia-webfrontend/graph.d/
cp ~/nvidia/host_view.php /usr/share/ganglia-webfrontend/
cp ~/nvidia/host_view.tpl /usr/share/ganglia-webfrontend/templates/default/
mkdir /usr/lib/ganglia/python_modules
cp ~/nvidia/python_modules/* /usr/lib/ganglia/python_modules
mkdir /etc/ganglia/conf.d
cp ~/nvidia/conf.d/* /etc/ganglia/conf.d
cp ~/nvidia/gmond.conf /etc/ganglia/
service ganglia-monitor restart
rm -rf ~/nvidia*
rm -rf ~/gpu*

执行脚本

wget 192.168.87.102/gpu.sh && chmod +x gpu.sh && sh gpu.sh

下图是被监控GPU服务器的详细界面

最新文章

  1. ORA-12631 / TNS-12631: Username retrieval failed
  2. 汉诺塔问题II(模拟)
  3. CentOS的包/库的找的地方
  4. VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建
  5. Notes of the scrum meeting(11/3)
  6. python 之路,Day11(上) - python mysql and ORM
  7. api(一) 创建窗口 (转)
  8. Unity Get Thread Content Failed
  9. cf747 D. Winter Is Coming
  10. Alpha冲刺No.6
  11. mysql索引类型(按存储结构划分)
  12. kvm动态添加硬盘
  13. 【C++】C++中变量的声明与定义的区别
  14. JS(JavaScript)的初了解3(更新中&#183;&#183;&#183;)
  15. Chrome浏览器JSON格式化插件
  16. 【Linux学习七】软件安装
  17. Resharper简单安装及代码覆盖率的测试
  18. centos 6.8 启动损坏修复实验
  19. USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- BDM Construction and Firmware
  20. iOS 开发 Pch 文件的正确使用

热门文章

  1. java_tcp_简单示例
  2. C++ 线程同步的四种方式
  3. mac vim设置python语法高亮
  4. my @unpacking_list = values %map_function; print &quot;\n&quot;.@unpacking_list; 输出是3 把 @unpacking_list 当做一个数 输出了
  5. 关于idea的目录结构如何变成树状,也就是横向变纵向
  6. Bullet:MySQL增强半同步参数rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMIT的对比实验
  7. librdkafka使用VS2015进行编译
  8. nyoj 2 括号配对问题(stack)
  9. mongodb &amp; macOS
  10. POJ 2240_Arbitrage