本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
MongoDB Exporter是一个Prometheus导出器,用于收集MongoDB数据库的监控指标,包括分片、复制和存储引擎等方面的性能数据。该实现能够处理MongoDB监控命令公开的所有指标,通过循环遍历诊断命令中公开的所有字段并尝试从中获取数据。
目前实现了以下指标来源:
| 旧版Percona MongoDB Exporter |
|---|
旧版0.1x.y版本(原master分支)已迁移至release-0.1x分支。 |
如果考虑从旧版导出器迁移,可以使用--compatible-mode标志以旧指标名称公开指标。 |
| 这将简化向新版本的迁移过程。 |
构建过程使用dockerized版本的goreleaser,无需安装Go环境:
make release
生成的二进制文件将位于build目录下:
├── build │ ├── config.yaml │ ├── mongodb_exporter_7c73946_checksums.txt │ ├── mongodb_exporter-7c73946.darwin-amd64.tar.gz │ ├── mongodb_exporter-7c73946.linux-amd64.tar.gz │ ├── mongodb_exporter_darwin_amd64 │ │ └── mongodb_exporter <--- MacOS二进制文件 │ └── mongodb_exporter_linux_amd64 │ └── mongodb_exporter <--- Linux二进制文件
Docker镜像可从Docker Hub获取:percona/mongodb_exporter
docker run -d -p 9216:9216 percona/mongodb_exporter \ --mongodb.uri=mongodb://user:pass@mongodb-host:27017/admin?ssl=true \ --compatible-mode
version: '3' services: mongodb_exporter: image: percona/mongodb_exporter ports: - "9216:9216" command: - --mongodb.uri=mongodb://user:pass@mongodb:27017/admin?ssl=true - --compatible-mode - --mongodb.collstats-colls=testdb.testcol depends_on: - mongodb mongodb: image: mongo ports: - "27017:27017" environment: - MONGO_INITDB_ROOT_USERNAME=user - MONGO_INITDB_ROOT_PASSWORD=pass
连接用户需要有足够的权限来查询所需的统计信息:
{ "role": "clusterMonitor", "db": "admin" }, { "role": "read", "db": "local" }
有关MongoDB角色的更多信息,请参阅官方文档。
| 环境变量 | 描述 | 示例 |
|---|---|---|
| MONGODB_URI | MongoDB连接URI | mongodb://user:pass@127.0.0.1:27017/admin?ssl=true |
| 参数 | 描述 | 示例 |
|---|---|---|
| -h, --help | 显示上下文相关帮助 | |
| --compatible-mode | 同时以新旧格式公开新指标 | |
| --discovering-mode | 启用从collstats-colls和indexstats-colls中设置的数据库自动发现集合 | |
| --mongodb.collstats-colls | 逗号分隔的要获取统计信息的数据库.集合列表 | --mongodb.collstats-colls=testdb.testcol1,testdb.testcol2 |
| --mongodb.direct-connect | 是否建立直接连接。如果指定了多个主机或使用SRV URI,则直接连接无效 | --mongodb.direct-connect=false |
| --mongodb.indexstats-colls | 逗号分隔的要获取索引统计信息的数据库.集合列表 | --mongodb.indexstats-colls=db1.col1,db1.col2 |
| --mongodb.uri | MongoDB连接URI (可通过MONGODB_URI环境变量设置) | --mongodb.uri=mongodb://user:pass@127.0.0.1:27017/admin?ssl=true |
| --mongodb.global-conn-pool | 使用全局连接池而不是为每个HTTP请求创建新连接 | |
| --web.listen-address | Web界面和遥测的监听地址 | --web.listen-address=":9216" |
| --web.telemetry-path | 指标公开路径 | --web.telemetry-path="/metrics" |
| --log.level | 仅记录给定严重性或更高级别的消息。有效值: [debug, info, warn, error] | --log.level="error" |
| --disable.diagnosticdata | 禁用从getDiagnosticData收集指标 | |
| --disable.replicasetstatus | 禁用从replSetGetStatus收集指标 | |
| --disable.dbstats | 禁用从dbStats收集指标 | |
| --version | 显示版本并退出 |
mongodb_exporter --mongodb.uri=mongodb://127.0.0.1:17001
mongodb_exporter --mongodb.uri=mongodb://127.0.0.1:17001 --mongodb.collstats-colls=db1.c1,db2.c2
启用兼容性模式后,导出器将同时以新的命名和标签模式以及版本1兼容的方式公开所有新指标:
mongodb_exporter --mongodb.uri=mongodb://127.0.0.1:17001 --compatible-mode
例如,新格式指标:
# HELP mongodb_ss_wt_log_log_bytes_written serverStatus.wiredTiger.log. # TYPE mongodb_ss_wt_log_log_bytes_written untyped mongodb_ss_wt_log_log_bytes_written 2.6208e+06
将同时以旧格式公开:
HELP mongodb_mongod_wiredtiger_log_bytes_total mongodb_mongod_wiredtiger_log_bytes_total # TYPE mongodb_mongod_wiredtiger_log_bytes_total untyped mongodb_mongod_wiredtiger_log_bytes_total{type="unwritten"} 2.6208e+06
导出器在所有指标中设置了一些拓扑标签:
| 服务器类型 | 标签 |
|---|---|
| mongos | mongos |
| 常规实例(主节点或从节点) | shardsvr |
| 仲裁节点 | shardsvr |
| 独立节点 | (空字符串) |
getDiagnosticData() -> replSetGetStatus.myState返回的整数。有关副本集状态值的详细信息,请查看官方文档。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429