BetterDB Monitor API参考手册:RESTful接口详解与使用示例
2026/7/17 9:04:28 网站建设 项目流程

BetterDB Monitor API参考手册:RESTful接口详解与使用示例

【免费下载链接】monitorReal-time monitoring, slowlog analysis, and audit trails for Valkey and Redis项目地址: https://gitcode.com/gh_mirrors/monitor53/monitor

BetterDB Monitor 是一款功能强大的 Valkey 和 Redis 实时监控与分析工具,提供了完整的 RESTful API 接口,让开发者能够轻松集成监控功能到自己的应用中。本文将详细介绍 BetterDB Monitor 的核心 API 接口,帮助您快速上手并充分利用其强大的监控能力。

🔗 连接管理 API

连接管理是使用 BetterDB Monitor 的第一步,这些接口让您能够配置和管理数据库连接。

获取所有连接

GET /connections

获取所有已配置的数据库连接及其状态信息。返回的 JSON 包含连接列表和当前默认连接ID。

测试连接配置

POST /connections/test Content-Type: application/json { "name": "生产环境", "host": "redis.example.com", "port": 6379, "username": "default", "password": "your-password", "tls": true }

在不保存的情况下测试连接参数,验证数据库可达性和功能支持。

创建新连接

POST /connections Content-Type: application/json { "name": "生产环境", "host": "redis.example.com", "port": 6379, "setAsDefault": true }

创建并保存一个新的数据库连接,支持自动设置为默认连接。

设置默认连接

POST /connections/{id}/default

将指定ID的连接设置为默认连接,后续API调用无需指定连接ID头。

📊 监控指标 API

BetterDB Monitor 提供了丰富的监控指标接口,帮助您深入了解数据库性能。

获取数据库信息

GET /metrics/info

获取数据库的基本信息,包括版本、内存使用、连接数等关键指标。

慢查询日志

GET /metrics/slowlog?count=10

获取最近发生的慢查询记录,支持分页和时间范围过滤。

命令统计

GET /metrics/commandstats

获取命令执行统计信息,包括每个命令的调用次数和总耗时。

延迟分析

GET /metrics/latency-history?hours=24

获取指定时间段内的延迟历史数据,支持按小时聚合。

🎯 性能分析 API

延迟直方图

GET /latency-analytics/histograms?startTime=1704067200000&endTime=1704153600000

获取延迟分布的直方图数据,用于深度性能分析。

延迟快照

GET /latency-analytics/snapshots?limit=100&offset=0

获取存储的延迟快照数据,支持分页查询。

内存分析

GET /metrics/memory-stats

获取详细的内存使用统计,包括碎片率、峰值内存等关键指标。

🔍 审计与安全 API

获取审计记录

GET /audit/entries?username=admin&startTime=1704067200&limit=50

检索ACL审计日志条目,支持按用户、时间范围和失败原因过滤。

审计统计

GET /audit/stats?startTime=1704067200&endTime=1704153600

获取审计日志的聚合统计信息,包括失败尝试次数和分类。

失败认证记录

GET /audit/failed-auth?limit=100

专门获取失败的认证尝试记录,帮助识别安全威胁。

🏗️ 集群管理 API

集群节点发现

GET /metrics/cluster-nodes

发现并列出集群中的所有节点信息。

集群槽位统计

GET /metrics/cluster-slot-stats?nodeId=node-1

获取集群槽位的分布和使用统计。

集群慢查询

GET /metrics/cluster-slowlog?nodeId=node-1&count=20

获取集群中特定节点的慢查询日志。

📈 客户端分析 API

客户端列表

GET /metrics/clients

获取当前连接到数据库的所有客户端信息。

客户端详情

GET /metrics/clients/{clientId}

获取特定客户端的详细信息,包括连接时间和执行命令。

终止客户端连接

POST /metrics/clients/{clientId}/kill

强制终止指定客户端的连接,用于处理异常连接。

🛠️ 实用工具 API

健康检查

GET /health

检查API服务状态,返回服务健康状态和版本信息。

数据库大小

GET /metrics/db-size

获取当前数据库的键数量。

最后保存时间

GET /metrics/last-save-time

获取数据库最后一次持久化的时间戳。

🔄 连接头与认证

所有API都支持可选的X-Connection-Id请求头,用于指定要操作的数据库连接:

X-Connection-Id: connection-id-here

如果未提供连接头,将使用默认连接。您可以通过 connections.controller.ts 了解更多连接管理细节。

📋 响应格式

所有API都返回统一的JSON响应格式:

成功响应

{ "data": { ... }, "timestamp": 1704067200000 }

错误响应

{ "error": "错误描述", "code": "ERROR_CODE", "timestamp": 1704067200000 }

🚀 快速开始示例

1. 测试连接

curl -X POST http://localhost:3001/connections/test \ -H "Content-Type: application/json" \ -d '{ "name": "测试连接", "host": "localhost", "port": 6379 }'

2. 创建连接

curl -X POST http://localhost:3001/connections \ -H "Content-Type: application/json" \ -d '{ "name": "生产Redis", "host": "redis.prod.com", "port": 6379, "password": "secret", "setAsDefault": true }'

3. 获取监控数据

curl -X GET "http://localhost:3001/metrics/info?X-Connection-Id=your-connection-id"

4. 分析慢查询

curl -X GET "http://localhost:3001/metrics/slowlog?count=50&hours=24"

🎯 最佳实践

  1. 连接复用:创建连接后保存ID,后续请求使用X-Connection-Id
  2. 错误处理:检查HTTP状态码和错误响应体
  3. 分页查询:对于大量数据使用limitoffset参数
  4. 时间过滤:使用startTimeendTime参数限制查询范围
  5. 定期健康检查:定期调用/health接口监控服务状态

📚 深入学习

  • 官方文档:docs/official.md - 完整的API文档和配置指南
  • AI功能源码:plugins/ai/ - AI驱动的异常检测和智能分析功能
  • 监控模块:apps/api/src/metrics/ - 监控指标采集和处理的完整实现

BetterDB Monitor 的API设计遵循RESTful原则,提供了直观、一致的接口体验。无论您是需要实时监控、性能分析还是安全审计,这些API都能满足您的需求。通过合理的API调用组合,您可以构建出强大的监控和分析解决方案。

现在就开始使用BetterDB Monitor API,为您的Valkey和Redis部署提供专业的监控保障吧!

【免费下载链接】monitorReal-time monitoring, slowlog analysis, and audit trails for Valkey and Redis项目地址: https://gitcode.com/gh_mirrors/monitor53/monitor

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询