open-falcon GPU监控工具安装与使用教程
gpu-mon 项目地址: https://gitcode.com/gh_mirrors/gp/gpu-mon
1. 项目的目录结构及介绍
open-falcon/gpu-mon
项目的目录结构如下:
gpu-mon/
├── common/
│ ├── fetch/
│ └── send/
├── vendor/
├── .gitignore
├── 60_gpuMonitor.sh
├── LICENSE
├── Makefile
├── README.md
├── VERSION
├── args.go
├── cfg.example.json
├── main.go
└── metrics/
目录结构介绍
- common/: 包含项目中常用的工具函数和模块,如数据获取 (
fetch/
) 和数据发送 (send/
)。 - vendor/: 存放项目的依赖库。
- .gitignore: Git 忽略文件列表。
- 60_gpuMonitor.sh: 用于定时任务的脚本文件。
- LICENSE: 项目的开源许可证文件。
- Makefile: 项目的编译和构建文件。
- README.md: 项目的说明文档。
- VERSION: 项目的版本信息。
- args.go: 处理命令行参数的 Go 文件。
- cfg.example.json: 配置文件的示例。
- main.go: 项目的启动文件。
- metrics/: 包含与 GPU 监控相关的指标处理文件。
2. 项目的启动文件介绍
项目的启动文件是 main.go
。该文件负责初始化配置、启动监控进程并收集 GPU 状态数据。以下是 main.go
的主要功能:
- 初始化配置: 从配置文件
cfg.json
中读取配置信息。 - 启动监控: 调用相关模块开始监控 GPU 的状态。
- 数据上报: 将收集到的 GPU 状态数据上报到 Open-Falcon 监控系统。
3. 项目的配置文件介绍
项目的配置文件是 cfg.example.json
,实际使用时需要将其重命名为 cfg.json
。以下是配置文件的主要内容及说明:
{
"falcon": {
"Agent": "http://127.0.0.1:1988/v1/agent"
},
"metric": {
"ignoreMetrics": [],
"endpoint": ""
},
"log": {
"level": "Warn",
"dir": "/logs"
}
}
配置项说明
- falcon:
Agent
: 上报数据的 Open-Falcon 客户端地址。
- metric:
ignoreMetrics
: 不进行上报的 GPU 监控项列表。endpoint
: 上报数据的终端点,默认为机器主机名。
- log:
level
: 日志级别,支持Info
、Warn
、Error
和Debug
,默认为Warn
。dir
: 日志存储目录。
通过以上配置文件,可以灵活地调整监控项、日志级别和上报地址,以满足不同的监控需求。