# agent **Repository Path**: 1165557013/monitor ## Basic Information - **Project Name**: agent - **Description**: 监控信息收集agent - **Primary Language**: Go - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-09-12 - **Last Updated**: 2023-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: 监控, Go语言, Agent, 监控信息搜集 ## README # znzc_monitor 1.统计各个监控维度信息 2.定义各个维度聚合对象 3.把数据推到redis中,key定义为ip 4.新建websocket工程项目,订阅redis监控信息 5.前后端对接websocket信息 定义探针,探测各个主机的存活情况,探针定义在收集器中,因为收集器是部署在各个监控主机中,和要监控的主机进行一一绑定的 主机ip信息从数据库中读取 websocket工程主要是用来进行数据拉取,根据前端界面的需要定义不同的端点,主要是因为前端图表数据展示实时性的缘故 端点信息配置 redis信息配置 监控主机ip配置 磁盘监控路径配置 cpu监控配置 gpu监控配置 收集器启动检查:端点测试(curl) 监控主机ip检查 获取磁盘信息 --占比(%) 获取内存信息 --占比(%) 获取CPU信息 --占比(%) 获取网卡流量信息 --网卡名称 接收 发送 速度 获取GPU信息 --温度(c) 使用占比(%) 使用情况(MiB) ### 显卡信息 ```log Wed May 12 15:47:20 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.39 Driver Version: 418.39 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla T4 Off | 00000000:3B:00.0 Off | 0 | | N/A 50C P0 29W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla T4 Off | 00000000:3C:00.0 Off | 0 | | N/A 45C P0 27W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 2 Tesla T4 Off | 00000000:5E:00.0 Off | 0 | | N/A 46C P0 27W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 3 Tesla T4 Off | 00000000:5F:00.0 Off | 0 | | N/A 49C P0 28W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 4 Tesla T4 Off | 00000000:86:00.0 Off | 0 | | N/A 47C P0 28W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 5 Tesla T4 Off | 00000000:87:00.0 Off | 0 | | N/A 47C P0 28W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 6 Tesla T4 Off | 00000000:AF:00.0 Off | 0 | | N/A 48C P0 28W / 70W | 0MiB / 15079MiB | 1% Default | +-------------------------------+----------------------+----------------------+ | 7 Tesla T4 Off | 00000000:B0:00.0 Off | 0 | | N/A 48C P0 28W / 70W | 0MiB / 15079MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ ``` ### 项目结构 ```log ├─alive #存活探针端口 ├─cmd #项目启动入口 ├─configs #配置文件和配置实体类 │ └─configEntity #配置实体类 ├─dao #数据库操作和Redis操作 └─domain #领域对象 ``` ### 部署步骤 ```log 1.打开控制台进入项目目录 2.设置跨平台编译环境变量 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 3.编译命令 go build monitor.go -o ./bin/monitor 4.复制 bin configs 文件夹到服务器的部署文件夹中 5.进入 bin目录进行赋权 chmod 775 monitor 6.运行监控收集器 sudo nohup ./bin/monitor configs/config.yaml > nohup_monitor.log 2>&1 & ```