Promethues展示mongodb数据
要使用 mongodb_exporter
展示 MongoDB 数据,需要通过 Prometheus 收集指标并在 Grafana 中可视化。以下是完整步骤:
1. 安装 mongodb_exporter
mongodb_exporter
是用于将 MongoDB 的监控指标暴露给 Prometheus 的工具。安装方法如下:
方法 1:直接下载二进制文件
# 从 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
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 用户有权限读取监控数据(建议创建专用只读用户):
// 在 MongoDB 中创建监控用户
use admin
db.createUser({
user: "exporter",
pwd: "exporter123",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})
启动 Exporter
指定 MongoDB 连接信息:
./mongodb_exporter \
--mongodb.uri=mongodb://exporter:exporter123@localhost:27017 \
--web.listen-address=:9216
验证 Exporter 是否运行:
curl http://localhost:9216/metrics
# 应看到 MongoDB 的监控指标(如 mongodb_up 等)
3. 配置 Prometheus 抓取数据
修改 Prometheus 的配置文件 prometheus.yml
,添加 mongodb_exporter
的抓取任务:
scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['<mongodb_exporter-host>:9216'] # Exporter 的 IP:端口
重启 Prometheus 服务:
systemctl restart prometheus
检查 Prometheus 的 Targets 页面(http://<prometheus-host>:9090/targets
),确认 mongodb
任务状态为 UP。
4. 在 Grafana 中可视化数据
步骤 1:添加 Prometheus 数据源
-
进入 Grafana → Configuration → Data Sources → Add data source。
-
选择 Prometheus。
-
填写 Prometheus 地址(如
http://localhost:9090
),保存。
步骤 2:导入 MongoDB 仪表盘
Grafana 社区提供了预制的 MongoDB 仪表盘模板:
-
访问 Grafana 仪表盘市场,搜索 "MongoDB"。
-
选择常用模板(如 ID
2583
或14060
)。 -
在 Grafana 中进入 Create → Import,输入仪表盘 ID,选择 Prometheus 数据源。
步骤 3(可选):手动创建图表
-
新建 Dashboard → Add panel。
-
输入 PromQL 查询语句,例如:
-
MongoDB 连接数:
mongodb_connections{state="active"}
-
操作数统计:
rate(mongodb_opcounters_total[5m])
-
内存使用:
mongodb_memory{type="resident"}
-
-
自定义图表样式和标题。
5. 关键指标示例
指标名称 | 说明 |
---|---|
mongodb_up |
MongoDB 是否在线 |
mongodb_opcounters_total |
数据库操作计数(增删改查) |
mongodb_connections_current |
当前连接数 |
mongodb_memory_usage_bytes |
内存使用情况 |
mongodb_storage_size_bytes |
存储占用大小 |
常见问题
-
Exporter 无法连接 MongoDB
-
检查 MongoDB 的认证权限和网络连通性。
-
确保 URI 格式正确:
mongodb://user:password@host:port
-
-
Prometheus 未采集数据
-
检查 Prometheus 配置文件的缩进和语法。
-
使用
curl http://exporter-host:9216/metrics
验证 Exporter 是否暴露指标。
-
-
Grafana 无数据
-
确认 Prometheus 数据源配置正确。
-
检查 PromQL 语句是否正确(如指标名称和标签)。
-
通过以上步骤,你可以将 MongoDB 的监控指标通过 Prometheus 和 Grafana 实时展示。如果需要更复杂的监控项,可以扩展 Exporter 的配置或自定义 PromQL 查询。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)