基于Go语言gopsutil的开源服务器硬件资源探针程序

介绍

项目地址:https://gitee.com/mo_zhenshuang/server-resource-probe
这是使用Go语言开发的基于gopsutil获取服务器硬件资源信息的探针开源程序,支持两种通信方式:

  • HTTP Get
  • WebSocket

同时支持在Windows和Linux平台上运行,只需要运行响应平台的可执行文件即可。

使用

初始化并编译

git clone http://10.0.2.203/MoZhenShuang/server-resource-probe.git
cd server-resource-probe
go mod tidy && go build

注意:如果是在Windows上编译成Linux的可执行文件,初始化项目之后请输入以下编译设置命令:

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build

启动默认配置

Windows默认启动

在程序所在目录启动命令提示符窗口,并且输入

server-resource-probe.exe
Linux默认启动
//给可执行文件赋予可执行权限
chmod +777 server-resource-probe
//运行程序
./server-resource-probe

注意:程序默认启动将会监听两个端口,webapi:8082;websocket:8083

自定义启动

程序支持使用-m参数指定启动相应的服务,程序支持的启动模式如下:

  • wa 以webapi服务的方式启动
  • ws 以websocket服务的方式启动
  • all 以webapi以及websocket服务的方式启动

同时程序支持通过-ap-sp两个参数分别指定webapi和websocket服务监听的端口。
程序支持的命令如下:

-h 查看帮助信息,显示支持的命令
-v 查看程序版本信息
-V 查看程序版本信息
-m 指定启动相应的服务
-ap 指定webapi服务监听的端口
-sp 指定websocket服务监听的端口

各服务接口说明

WebApi服务接口

webapi服务启动之后,其地址为:http://IP:port
webapi服务提供如下路由:

  • [GET]/host:获取主机所有硬件资源信息,包括:CPU、内存、硬盘、网络IO
  • [GET]/cpu:获取主机CPU使用情况
  • [GET]/mem:获取主机内存使用情况
  • [GET]/disk:获取主机硬盘各分区使用情况
  • [GET]/net:获取主机网络情况

WebSocket服务接口

websocket服务启动之后,其地址为:ws://IP:port/
客户端通过websocket接口成功连接服务端之后,程序会每秒返回主机资源信息。

特别说明

  • 由于gopsutil框架的实现方式,当获取CPU的使用情况时,需要等两秒钟才能够统计出CPU的使用情况,因此当通过webapi服务获取所有主机硬件资源使用情况时,需要等2秒才会有响应信息,若单独请求某一项硬件资源使用情况时,通常响应时间会在几毫秒。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

think_mzs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值