gpustat-web简介
gpustat-web是一个基于gpustat的Web界面工具,可以方便地聚合和监控多个节点的GPU状态信息。它由Jongwook Choi开发,是一个开源项目,采用MIT许可证发布。
gpustat-web的主要功能是通过SSH连接到多个主机,收集每个主机上运行gpustat命令的结果,然后将这些信息整合到一个Web界面上展示。这使得用户可以在一个页面上轻松地查看整个GPU集群的状态。
主要特性
gpustat-web具有以下主要特性:
-
多节点监控:可以同时监控多个主机上的GPU状态。
-
实时更新:通过WebSocket技术实现数据的实时更新。
-
多种输出格式:支持HTML、纯文本、ANSI彩色文本等多种输出格式。
-
安全连接:支持HTTPS协议,保证数据传输的安全性。
-
灵活配置:可以通过查询字符串选择要显示的节点子集。
-
扩展性:可以通过自定义命令添加额外的监控信息,如CPU使用率等。
安装与使用
安装
gpustat-web可以通过pip轻松安装:
pip install gpustat-web
注意,gpustat-web需要Python 3.6+版本。
基本使用
安装完成后,可以通过以下命令启动gpustat-web:
gpustat-web --port 48109 HOST1 [HOST2 ...]
这将启动一个Web服务器,监听48109端口,并连接到指定的主机(HOST1, HOST2等)。确保你可以通过SSH无密码登录这些主机。
访问Web界面
启动服务后,可以通过浏览器访问以下URL:
http://localhost:48109/
: 主页面,通过WebSocket自动更新http://localhost:48109/gpustat.html
: 静态HTML页面http://localhost:48109/gpustat.txt
: 纯文本格式http://localhost:48109/gpustat.ansi
: 带ANSI颜色代码的文本格式
高级配置
-
HTTPS支持: 使用
--ssl-certfile
和--ssl-keyfile
选项可以启用HTTPS:gpustat-web --port 48109 --ssl-certfile cert.pem --ssl-keyfile key.pem HOST1 [HOST2 ...]
-
选择性显示节点: 通过查询字符串可以选择显示特定节点:
http://localhost:48109/?nodes=gpu001,gpu002
-
添加CPU使用率信息: 可以通过
--exec
选项扩展显示的信息:python -m gpustat_web --exec 'gpustat --color --gpuname-width 25 && echo -en "CPU : \033[0;31m" && cpu-usage | ascii-bar 27'
注意事项
-
安全性:
- 使用HTTPS可以加强数据传输的安全性。
- 谨慎使用
--no-verify-host
选项,因为它会绕过SSH主机密钥验证。
-
SSH配置: gpustat-web使用的asyncssh库不遵循
~/.ssh/config
文件的配置,这可能会导致一些SSH设置无法正常工作。 -
资源使用: 由于需要持续从多个节点收集数据,gpustat-web可能会占用较多的网络资源。在大型集群中使用时需要注意这一点。
-
项目状态: gpustat-web目前处于alpha阶段,可能存在一些错误和异常未被很好地处理。在生产环境中使用时需要谨慎。
社区与支持
gpustat-web是一个开源项目,欢迎社区贡献。截至2024年初,该项目在GitHub上有超过300颗星和38个分支。如果你在使用过程中遇到问题,可以在GitHub Issues页面提出。
结语
gpustat-web为管理大型GPU集群提供了一个直观、便捷的监控工具。尽管它目前还处于早期阶段,但已经展现出了强大的潜力。随着项目的不断发展和社区的支持,相信gpustat-web会成为GPU集群管理中不可或缺的工具之一。