运维监控 API
运维监控方法用于检查数据库健康状态、获取版本信息、监控服务器性能等。
目录
- ping() - 检测数据库连接
- buildInfo() - 获取版本信息
- serverStatus() - 获取服务器状态
- stats() - 获取数据库统计
ping()
检测数据库连接是否正常。
语法
返回值
- 类型:
Promise<boolean> - 说明: 连接正常返回
true,否则返回false
示例
使用场景
- 健康检查: 监控系统定期检测数据库是否可用
- 容器编排: Kubernetes 健康探针
- 负载均衡: 检测数据库节点健康状态
最佳实践
buildInfo()
获取 MongoDB 版本信息和构建详情。
语法
返回值
- 类型:
Promise<Object> - 属性:
version(string): 版本号,如 "6.0.3"versionArray(Array): 版本号数组,如 [6, 0, 3] gitVersion(string): Git 版本哈希bits(number): 系统位数(32 或 64)debug(boolean): 是否为 Debug 版本maxBsonObjectSize(number): BSON 对象最大大小
示例
输出示例:
使用场景
- 兼容性检测: 检查 MongoDB 版本是否满足最低要求
- 功能检测: 根据版本决定是否使用特定功能
- 监控报告: 在监控系统中记录数据库版本
最佳实践
serverStatus()
获取服务器状态信息,包括连接数、内存使用、操作统计等。
语法
参数
- options (Object, 可选):
scale(number): 缩放因子,用于调整大小单位1: 字节(默认)1024: KB1048576: MB
返回值
- 类型:
Promise<Object> - 属性:
connections(Object): 连接信息current(number): 当前连接数available(number): 可用连接数totalCreated(number): 总创建连接数
mem(Object): 内存使用信息resident(number): 常驻内存(MB)virtual(number): 虚拟内存(MB)mapped(number): 映射内存(MB)
opcounters(Object): 操作计数器insert(number): 插入操作数query(number): 查询操作数update(number): 更新操作数delete(number): 删除操作数getmore(number): getMore 操作数command(number): 命令操作数
network(Object): 网络统计bytesIn(number): 接收字节数bytesOut(number): 发送字节数numRequests(number): 请求总数
uptime(number): 运行时间(秒)localTime(Date): 本地时间version(string): MongoDB 版本process(string): 进程类型
示例
基础使用
使用 scale 参数
使用场景
- 性能监控: 实时监控数据库性能指标
- 容量规划: 分析连接使用情况,规划连接池大小
- 故障诊断: 检查内存使用、连接数等异常情况
- 告警系统: 设置阈值触发告警
最佳实践
stats()
获取当前数据库的统计信息。
语法
参数
- options (Object, 可选):
scale(number): 缩放因子1: 字节(默认)1024: KB1048576: MB
返回值
- 类型:
Promise<Object> - 属性:
db(string): 数据库名称collections(number): 集合数量views(number): 视图数量objects(number): 文档总数avgObjSize(number): 平均文档大小dataSize(number): 数据大小storageSize(number): 存储大小indexes(number): 索引数量indexSize(number): 索引大小totalSize(number): 总大小scaleFactor(number): 缩放因子
示例
基础使用
使用不同单位
使用场景
- 容量规划: 评估数据库存储需求
- 性能优化: 分析索引占用空间
- 成本估算: 计算存储成本
- 监控告警: 当数据库大小超过阈值时告警
最佳实践
相关文档
最后更新: 2025-12-02
版本: v0.3.0