Promethues展示mongodb数据

要使用 mongodb_exporter 展示 MongoDB 数据,需要通过 Prometheus 收集指标并在 Grafana 中可视化。以下是完整步骤:


1. 安装 mongodb_exporter

mongodb_exporter 是用于将 MongoDB 的监控指标暴露给 Prometheus 的工具。安装方法如下:

方法 1:直接下载二进制文件

bash
复制
# 从 GitHub 下载最新版本(示例)
wget https://github.com/percona/mongodb_exporter/releases/download/v0.30.0/mongodb_exporter-0.30.0.linux-amd64.tar.gz
tar -xvf mongodb_exporter-0.30.0.linux-amd64.tar.gz
cd mongodb_exporter-0.30.0.linux-amd64

方法 2:使用 Docker

bash
复制
docker run -d --name mongodb_exporter \
  -p 9216:9216 \
  -e MONGODB_URI=mongodb://<user>:<password>@<mongodb-host>:27017 \
  percona/mongodb-exporter:latest

2. 配置 mongodb_exporter

确保 MongoDB 用户有权限读取监控数据(建议创建专用只读用户):

javascript
复制
// 在 MongoDB 中创建监控用户
use admin
db.createUser({
  user: "exporter",
  pwd: "exporter123",
  roles: [
    { role: "clusterMonitor", db: "admin" },
    { role: "read", db: "local" }
  ]
})

启动 Exporter

指定 MongoDB 连接信息:

bash
复制
./mongodb_exporter \
  --mongodb.uri=mongodb://exporter:exporter123@localhost:27017 \
  --web.listen-address=:9216

验证 Exporter 是否运行:

bash
复制
curl http://localhost:9216/metrics
# 应看到 MongoDB 的监控指标(如 mongodb_up 等)

3. 配置 Prometheus 抓取数据

修改 Prometheus 的配置文件 prometheus.yml,添加 mongodb_exporter 的抓取任务:

yaml
复制
scrape_configs:
  - job_name: 'mongodb'
    static_configs:
      - targets: ['<mongodb_exporter-host>:9216']  # Exporter 的 IP:端口

重启 Prometheus 服务:

bash
复制
systemctl restart prometheus

检查 Prometheus 的 Targets 页面(http://<prometheus-host>:9090/targets),确认 mongodb 任务状态为 UP

 

4. 在 Grafana 中可视化数据

步骤 1:添加 Prometheus 数据源

  1. 进入 Grafana → Configuration → Data Sources → Add data source

  2. 选择 Prometheus

  3. 填写 Prometheus 地址(如 http://localhost:9090),保存。

步骤 2:导入 MongoDB 仪表盘

Grafana 社区提供了预制的 MongoDB 仪表盘模板:

  1. 访问 Grafana 仪表盘市场,搜索 "MongoDB"。

  2. 选择常用模板(如 ID 2583 或 14060)。

  3. 在 Grafana 中进入 Create → Import,输入仪表盘 ID,选择 Prometheus 数据源。

步骤 3(可选):手动创建图表

  1. 新建 Dashboard → Add panel

  2. 输入 PromQL 查询语句,例如:

    • MongoDB 连接数:mongodb_connections{state="active"}

    • 操作数统计:rate(mongodb_opcounters_total[5m])

    • 内存使用:mongodb_memory{type="resident"}

  3. 自定义图表样式和标题。

5. 关键指标示例

指标名称说明
mongodb_up MongoDB 是否在线
mongodb_opcounters_total 数据库操作计数(增删改查)
mongodb_connections_current 当前连接数
mongodb_memory_usage_bytes 内存使用情况
mongodb_storage_size_bytes 存储占用大小

常见问题

  1. Exporter 无法连接 MongoDB

    • 检查 MongoDB 的认证权限和网络连通性。

    • 确保 URI 格式正确:mongodb://user:password@host:port

  2. Prometheus 未采集数据

    • 检查 Prometheus 配置文件的缩进和语法。

    • 使用 curl http://exporter-host:9216/metrics 验证 Exporter 是否暴露指标。

  3. Grafana 无数据

    • 确认 Prometheus 数据源配置正确。

    • 检查 PromQL 语句是否正确(如指标名称和标签)。


通过以上步骤,你可以将 MongoDB 的监控指标通过 Prometheus 和 Grafana 实时展示。如果需要更复杂的监控项,可以扩展 Exporter 的配置或自定义 PromQL 查询。

posted @   苹果芒  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示