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"🎯 最佳实践
- 连接复用:创建连接后保存ID,后续请求使用
X-Connection-Id头 - 错误处理:检查HTTP状态码和错误响应体
- 分页查询:对于大量数据使用
limit和offset参数 - 时间过滤:使用
startTime和endTime参数限制查询范围 - 定期健康检查:定期调用
/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),仅供参考