Glances项目API接口详解:系统监控数据获取指南

Glances项目API接口详解:系统监控数据获取指南

glances nicolargo/glances: 是一个跨平台的系统监视工具,类似于 Linux 中的 top 命令,但提供了更丰富的信息和更美观的界面。适合对系统监视、性能和想要实时查看系统状态的开发者。 glances 项目地址: https://gitcode.com/gh_mirrors/gl/glances

概述

Glances是一款功能强大的跨平台系统监控工具,其提供的RESTful/JSON API接口允许开发者以编程方式获取系统监控数据。本文将详细介绍Glances API v4的使用方法,帮助开发者快速掌握如何通过API获取各类系统监控指标。

API服务启动

启动Glances API服务非常简单,只需在命令行中执行:

glances -w --disable-webui

此命令会启动API服务但禁用Web界面。如果需要同时启用中央浏览器功能,可以使用:

glances -w --browser --disable-webui

API基础配置

默认API地址

默认的API根地址为:

http://localhost:61208/api/4

自定义配置选项

  1. 绑定地址和端口:通过--bind--port参数修改
  2. URL前缀:在配置文件中设置url_prefix选项

配置示例:

[outputs]
url_prefix = /glances/

配置后API地址将变为:

http://localhost:61208/glances/api/4

API文档访问

Glances内置了API文档,可通过以下地址访问:

http://localhost:61208/docs#/

WebUI刷新率调整

Web界面的默认刷新率为2秒,可通过URL参数调整:

http://localhost:61208/?refresh=5

核心API接口详解

1. 服务状态检查

检查API服务是否正常运行:

curl -I http://localhost:61208/api/4/status

正常响应应返回HTTP 200状态码。

2. 插件列表获取

获取所有可用监控插件的列表:

curl http://localhost:61208/api/4/pluginslist

返回结果包含CPU、内存、磁盘IO、网络等各类监控插件名称。

3. 告警信息获取

获取系统告警信息:

curl http://localhost:61208/api/4/alert

返回字段说明:

  • state:告警状态(WARNING/CRITICAL)
  • type:告警类型(CPU/LOAD/MEM等)
  • max/avg/min:事件期间的最大/平均/最小值
  • top:事件期间占用资源最多的3个进程

4. 告警清除操作

清除所有告警:

curl -H "Content-Type: application/json" -X POST http://localhost:61208/api/4/events/clear/all

仅清除警告级别告警:

curl -H "Content-Type: application/json" -X POST http://localhost:61208/api/4/events/clear/warning

关键监控指标API

1. CPU监控

获取CPU使用情况:

curl http://localhost:61208/api/4/cpu

关键指标:

  • total:总CPU使用率
  • user:用户空间CPU使用率
  • system:内核空间CPU使用率
  • idle:CPU空闲率
  • iowait:I/O等待时间占比

获取特定指标(如总使用率):

curl http://localhost:61208/api/4/cpu/total

2. 内存监控

获取内存使用情况:

curl http://localhost:61208/api/4/mem

关键指标:

  • total:总内存大小
  • used:已用内存
  • free:空闲内存
  • percent:内存使用百分比

3. 磁盘IO监控

获取磁盘IO信息:

curl http://localhost:61208/api/4/diskio

关键指标:

  • read_bytes/write_bytes:读写字节数
  • read_count/write_count:读写操作次数
  • disk_name:磁盘设备名称

4. 文件系统监控

获取文件系统使用情况:

curl http://localhost:61208/api/4/fs

关键指标:

  • mnt_point:挂载点
  • size/used/free:总大小/已用/空闲空间
  • percent:使用百分比

5. 容器监控

获取容器运行状态(支持Docker和Podman):

curl http://localhost:61208/api/4/containers

关键指标:

  • name:容器名称
  • status:运行状态
  • cpu_percent:CPU使用率
  • memory_usage:内存使用量
  • network_rx/tx:网络接收/发送速率

高级查询技巧

1. 按字段筛选

获取所有磁盘名称:

curl http://localhost:61208/api/4/diskio/disk_name

2. 精确匹配查询

查询特定磁盘(nvme0n1)的IO信息:

curl http://localhost:61208/api/4/diskio/disk_name/value/nvme0n1

最佳实践建议

  1. 合理设置刷新率:根据监控需求调整API调用频率,避免对系统造成过大负担
  2. 错误处理:检查API返回的状态码,确保数据获取成功
  3. 数据缓存:对不常变化的数据(如CPU核心数)可适当缓存
  4. 安全考虑:生产环境中应考虑添加认证机制保护API访问

通过Glances提供的丰富API接口,开发者可以轻松构建自定义监控系统或集成到现有监控平台中,实现灵活的系统监控解决方案。

glances nicolargo/glances: 是一个跨平台的系统监视工具,类似于 Linux 中的 top 命令,但提供了更丰富的信息和更美观的界面。适合对系统监视、性能和想要实时查看系统状态的开发者。 glances 项目地址: https://gitcode.com/gh_mirrors/gl/glances

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鲍珍博Quinn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值