专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

gesellix/couchdb-prometheus-exporter Docker 镜像 - 轩辕镜像

couchdb-prometheus-exporter
gesellix/couchdb-prometheus-exporter
自动构建
CouchDB指标导出器,用于向Prometheus提供CouchDB监控指标。
1 收藏0 次下载
🚀 生产环境还在裸拉官方镜像?一次故障=一次通宵
中文简介版本下载
🚀 生产环境还在裸拉官方镜像?一次故障=一次通宵

CouchDB Prometheus Exporter

镜像概述和主要用途

CouchDB Prometheus Exporter 是用于 CouchDB 的指标导出工具,专为 Prometheus 设计。该工具从 CouchDB 的 /_stats 和 /_active_tasks 端点获取指标数据,并将其转换为 Prometheus 可消费的格式,便于监控 CouchDB 实例的性能和运行状态。

核心功能和特性

  • 多端点指标采集:支持从 /_stats(系统统计)和 /_active_tasks(活跃任务)端点采集核心指标
  • 灵活配置方式:支持通过环境变量、命令行参数和配置文件进行配置
  • 安全认证支持:集成 TLS 加密和 Basic 认证,保护指标暴露端点
  • 集群监控适配:兼容 CouchDB 2.x+ 集群,可配置从单节点获取集群整体指标
  • 数据库存储监控:可选监控指定数据库或所有数据库的磁盘占用和数据大小
  • 多部署模式支持:可作为独立二进制运行或通过 Docker 容器部署

使用场景和适用范围

  • 生产环境 CouchDB 监控:适用于需要实时监控 CouchDB 性能指标(如请求量、响应时间、任务状态)的生产环境
  • CouchDB 集群管理:支持对 CouchDB 2.x+ 集群进行统一监控,适配集群节点间的指标聚合
  • 存储容量规划:通过数据库磁盘使用统计,辅助进行存储容量预警和规划
  • Prometheus-Grafana 生态集成:无缝对接 Prometheus 和 Grafana,实现指标可视化和告警

详细的使用方法和配置说明

构建二进制(可选)

官方提供预构建版本,可从 GitHub Releases 获取。若需从源码构建,需先安装 Golang,然后执行:

shell
go install github.com/gesellix/couchdb-prometheus-exporter/v30@v30.4.2

二进制文件将安装至 GOBIN 目录(通常为 $HOME/go/bin),确保该目录在系统 PATH 中,可通过以下命令验证安装:

shell
couchdb-prometheus-exporter --help
运行方式
基本命令

通过 --help 查看所有配置选项及默认值:

shell
couchdb-prometheus-exporter --help
配置方式

支持三种配置方式,优先级:命令行参数 > 环境变量 > 配置文件。

1. 环境变量

格式:COUCHDB_<参数名>(参数名大写,. 替换为 _),例如:

shell
export COUCHDB_USERNAME=admin
export COUCHDB_PASSWORD=secret
export COUCHDB_URI=[***]

2. 命令行参数

格式:--<section>.<key> <value>,例如:

shell
couchdb-prometheus-exporter \
  --couchdb.username admin \
  --couchdb.password secret \
  --couchdb.uri [***]

3. 配置文件

支持 "properties" 格式配置文件,通过 --config 指定路径,例如 config.ini:

properties
# config.ini
couchdb.username=admin
couchdb.password=secret
couchdb.uri=[***]
databases=db-1,db-2  # 监控指定数据库的磁盘使用

启动命令:

shell
couchdb-prometheus-exporter --config=config.ini
TLS 和 Basic 认证配置

通过 --web.config 参数启用 TLS 和/或 Basic 认证,需指定 YAML 配置文件,例如 web-config.yaml:

yaml
# web-config.yaml
tls_server_config:
  cert_file: "path/to/server.crt"  # TLS 证书路径
  key_file: "path/to/server.key"   # TLS 私钥路径
basic_auth_users:
  alice: $2y$12$1DpfPeqF9HzHJt.EWswy1exHluGfbhnn3yXhR7Xes6m3WJqFg0Wby  # 加密后的密码
  bob: $2y$18$4VeFDzXIoPHKnKTU3O3GH.N.vZu06CVqczYZ8WvfzrddFU6tGqjR.

启动命令:

shell
couchdb-prometheus-exporter --config=config.ini --web.config=web-config.yaml

密码需通过 bcrypt 加密,可使用工具生成(如 htpasswd -nBC 10 "")。

Docker 容器部署
基本运行命令
shell
docker run --rm -p 9984:9984 \
  gesellix/couchdb-prometheus-exporter \
  --couchdb.uri=[***] \
  --couchdb.username=admin \
  --couchdb.password=secret

注意:容器内无法使用 localhost 访问宿主机服务,需使用宿主机 IP 或可解析的域名。

Docker Compose 示例

创建 docker-compose.yml:

yaml
version: '3'
services:
  couchdb-exporter:
    image: gesellix/couchdb-prometheus-exporter
    ports:
      - "9984:9984"
    environment:
      - COUCHDB_USERNAME=admin
      - COUCHDB_PASSWORD=secret
      - COUCHDB_URI=[***]
      - DATABASES=_all_dbs  # 监控所有数据库
    depends_on:
      - couchdb
  couchdb:
    image: couchdb:3.3
    environment:
      - COUCHDB_USER=admin
      - COUCHDB_PASSWORD=secret
    ports:
      - "5984:5984"

启动:

shell
docker-compose up -d
Docker Swarm/Stack 示例

创建 docker-stack.yml:

yaml
version: '3.8'
services:
  couchdb-exporter:
    image: gesellix/couchdb-prometheus-exporter
    ports:
      - "9984:9984"
    command:
      - --couchdb.uri=[***]
      - --couchdb.username=admin
      - --couchdb.password=secret
      - --databases=_all_dbs
    deploy:
      replicas: 1
  couchdb:
    image: couchdb:3.3
    environment:
      - COUCHDB_USER=admin
      - COUCHDB_PASSWORD=secret
    ports:
      - "5984:5984"
    deploy:
      replicas: 3  # 模拟 CouchDB 集群

部署:

shell
docker swarm init
docker stack deploy --compose-file docker-stack.yml couchdb-monitor
CouchDB 2+ 集群配置

对于 CouchDB 2.x+ 集群,需配置管理员凭证以获取集群指标:

shell
couchdb-prometheus-exporter \
  --couchdb.uri=[***] \
  --couchdb.username=admin \
  --couchdb.password=secret

若需仅采集单个节点的本地指标,启用 --scrape.localonly:

shell
couchdb-prometheus-exporter \
  --couchdb.uri=[***] \
  --couchdb.username=admin \
  --couchdb.password=secret \
  --scrape.localonly=true
数据库磁盘使用监控

指定需监控的数据库(逗号分隔):

shell
couchdb-prometheus-exporter \
  --couchdb.uri=[***] \
  --couchdb.username=admin \
  --couchdb.password=secret \
  --databases=db-1,db-2  # 监控 db-1 和 db-2

监控所有数据库,使用 _all_dbs:

shell
couchdb-prometheus-exporter \
  --couchdb.uri=[***] \
  --couchdb.username=admin \
  --couchdb.password=secret \
  --databases=_all_dbs

指标概述

导出的指标详情可参考项目中的 README_metrics.md,涵盖以下类别:

  • CouchDB 系统指标(请求数、响应时间、活跃任务等)
  • 数据库指标(文档数、数据大小、磁盘占用等)
  • 集群指标(节点状态、复制延迟等)

完整监控示例

Prometheus + Grafana 监控栈

参考 Monitoring CouchDB with Prometheus, Grafana and Docker 指南,或使用项目提供的示例栈(包含 CouchDB、Exporter、Prometheus、Grafana):

shell
cd examples/grafana
docker swarm init
docker stack deploy --compose-file docker-traefik-stack.yml example

访问 Grafana(默认地址 http://localhost:3000),导入示例仪表盘即可查看监控数据。

配置参数说明

配置项环境变量对应描述默认值
couchdb.uriCOUCHDB_URICouchDB 服务地址http://localhost:5984
couchdb.usernameCOUCHDB_USERNAMECouchDB 认证用户名-
couchdb.passwordCOUCHDB_PASSWORDCouchDB 认证密码-
databasesDATABASES需监控磁盘使用的数据库列表(逗号分隔,_all_dbs 表示所有数据库)-
scrape.localonlySCRAPE_LOCALONLY是否仅采集本地节点指标(CouchDB 2+ 集群)false
web.listen-addressWEB_LISTEN_ADDRESS导出器 HTTP 服务地址:9984
web.configWEB_CONFIGTLS/Basic 认证配置文件路径(YAML 格式)-
config-配置文件路径(properties 格式)-
查看更多 couchdb-prometheus-exporter 相关镜像 →
couchdb logo
couchdb
CouchDB是采用JSON文档格式、提供HTTP API并支持JavaScript/声明式索引的数据库。
592100M+ pulls
上次更新:未知
nginx/nginx-prometheus-exporter logo
nginx/nginx-prometheus-exporter
NGINX Prometheus Exporter用于收集并导出NGINX与NGINX Plus的监控指标,供Prometheus采集以实现对其运行状态的监控。
5050M+ pulls
上次更新:未知
bitnami/couchdb logo
bitnami/couchdb
Bitnami安全镜像,用于部署和运行Apache CouchDB数据库,提供安全加固的运行环境。
5500K+ pulls
上次更新:未知
apache/couchdb logo
apache/couchdb
非官方的CouchDB便捷二进制文件,适用于RESTful文档型数据库。
2650M+ pulls
上次更新:未知
rancher/mirrored-prometheus-node-exporter logo
rancher/mirrored-prometheus-node-exporter
暂无描述
50M+ pulls
上次更新:未知
bitnami/node-exporter logo
bitnami/node-exporter
Bitnami安全版node-exporter镜像,用于节点监控,收集主机系统及硬件指标。
2550M+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
gesellix/couchdb-prometheus-exporter
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.