You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需Prometheus,如何将DigitalOcean MongoDB数据同步至Grafana仪表板?

无Prometheus情况下搭建Grafana MongoDB仪表板的可行方案

1. 直接用Grafana MongoDB数据源做聚合查询

在Grafana中添加官方MongoDB数据源,通过自定义聚合查询获取更全面的指标:

  • 服务器级指标:执行db.runCommand({ serverStatus: 1 }),可获取连接数、锁状态、内存占用、oplog运行情况等核心数据
  • 集合级细节:针对单个集合执行db.collection.stats(),能拿到存储大小、索引效率、文档数量等信息
  • 慢查询追踪:若托管服务支持开启数据库profiling,可通过db.system.profile集合查询慢日志;部分托管平台(如Atlas)直接提供慢查询日志访问入口,可将日志导入Grafana日志类数据源做可视化

2. 托管平台原生集成(以MongoDB Atlas为例)

如果用Atlas托管MongoDB:

  • 开启Atlas自带监控后,通过Grafana官方的MongoDB Atlas数据源直接拉取集群状态、查询性能、磁盘IO、网络流量等多维度指标
  • 调用Atlas的监控API,写简单脚本定期拉取数据并存入Grafana兼容的时序库(如InfluxDB、Grafana Cloud时序存储),再由Grafana读取展示

3. 自定义脚本采集+导入Grafana

编写Python/Shell脚本,通过托管服务提供的MongoDB连接URI定期执行查询,采集目标指标:

  • 采集示例:
    • 当前活跃连接数:db.runCommand({ currentOp: 1 }).inprog.length
    • 索引命中率:db.runCommand({ serverStatus: 1 }).metrics.queryExecutor.totalKeysExamined / db.runCommand({ serverStatus: 1 }).metrics.queryExecutor.totalDocsExamined
    • 最近10条慢查询:db.system.profile.find({ millis: { $gt: 100 } }).sort({ ts: -1 }).limit(10)
  • 将采集到的数据写入CSV、InfluxDB或Prometheus Pushgateway(仅需在外部服务器部署,无需安装在MongoDB端),再在Grafana中配置对应数据源完成可视化

4. 企业级托管工具API同步

若使用MongoDB Cloud Manager/Ops Manager托管,可通过其提供的REST API拉取监控数据,将数据同步至Grafana,或直接配置Grafana通过API获取指标


内容的提问来源于stack exchange,提问作者nico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:55:00