
avcosystems/mongodb-exporterpercona/mongodb-exporter 镜像包含 percona/mongodb_exporter 可执行文件,是一个轻量级工具,用于从MongoDB实例(包括独立实例、复制集和分片集群)收集性能、状态及运行指标,并以Prometheus兼容格式导出,便于集成到Prometheus监控体系中实现可视化监控和告警。
通过docker run命令启动容器,需指定MongoDB连接信息及必要配置:
bashdocker run -d \ --name mongodb-exporter \ -p 9216:9216 \ # 导出器默认监听端口 percona/mongodb-exporter \ --mongodb.uri=mongodb://<user>:<password>@<mongodb-host>:27017/ \ # MongoDB连接URI(必填) --web.listen-address=:9216 \ # 导出器监听地址(默认:9216) --collect-all # 启用全量指标收集(默认仅核心指标)
| 参数 | 说明 | 默认值 |
|---|---|---|
--mongodb.uri | MongoDB连接URI,格式:mongodb://[user:password@]host[:port][/db][?opt] | 无(必填) |
--web.listen-address | 导出器监听地址和端口 | :9216 |
--collect-all | 启用所有可用指标收集 | 禁用(仅核心指标) |
--collect.database | 收集数据库级指标(如各库操作数、大小) | 禁用 |
--collect.replset | 收集复制集相关指标(适用于复制集环境) | 禁用 |
--collect.sharding | 收集分片集群指标(适用于分片环境) | 禁用 |
支持通过环境变量简化配置,常用变量如下:
| 环境变量名 | 说明 | 对应命令行参数 |
|---|---|---|
MONGODB_URI | MongoDB连接URI | --mongodb.uri |
LISTEN_PORT | 导出器监听端口 | --web.listen-address |
示例:
bashdocker run -d \ --name mongodb-exporter \ -p 9216:9216 \ -e MONGODB_URI="mongodb://admin:pass@mongo-1:27017/admin?authSource=admin" \ -e LISTEN_PORT=9216 \ percona/mongodb-exporter --collect-replset
在docker-compose.yml中集成,实现MongoDB与exporter联动部署:
yamlversion: '3.8' services: mongodb: image: mongo:6.0 container_name: mongodb ports: - "27017:27017" environment: - MONGO_INITDB_ROOT_USERNAME=admin - MONGO_INITDB_ROOT_PASSWORD=secret restart: unless-stopped mongodb-exporter: image: percona/mongodb-exporter container_name: mongodb-exporter ports: - "9216:9216" command: - --mongodb.uri=mongodb://admin:secret@mongodb:27017/admin?authSource=admin - --collect-all depends_on: - mongodb restart: unless-stopped
在Prometheus配置文件(prometheus.yml)中添加抓取配置:
yamlscrape_configs: - job_name: 'mongodb' static_configs: - targets: ['mongodb-exporter:9216'] # 指向exporter容器地址:端口(需确保网络互通) scrape_interval: 10s # 抓取频率
启动Prometheus后,可在UI(默认http://<prometheus-host>:9090)中查询MongoDB指标,如mongodb_connections_current(当前连接数)、mongodb_ops_insert_total(插入操作总量)等。
readAnyDatabase和clusterMonitor角色(复制集/分片集群),确保可读取监控指标。--network参数)或宿主机网络配置实现。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务