写点什么

CouchDB 可观测最佳实践

作者:观测云
  • 2025-05-20
    上海
  • 本文字数:1531 字

    阅读完需:约 5 分钟

CouchDB 可观测最佳实践

CouchDB 简介

Apache CouchDB 是一款面向文档的开源数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。它使用 JSON 格式来存储文档,文档可以包含各种类型的数据,如字符串、数字、数组、对象等。CouchDB 采用了分布式架构,Couch 是 “Cluster Of Unreliable Commodity Hardware” 的首字母缩写,它反映了 CouchDB 的目标具有高度可伸缩性,提供了高可用性和高可靠性。

对 CouchDB 进行监控,能优化其运行性能,提升响应速度,合理配置资源,让系统处于最佳工作状态。通过有效的监控,可以助力保障系统稳定,提前察觉故障隐患,同时为容量规划提供支撑,适配业务数据增长。

观测云

观测云是一个统一实时监测平台,它提供全面的系统可观测性解决方案,帮助用户快速实现对云平台、云原生、应用及业务的监控需求。观测云的核心功能包括:基础设施监测,日志采集和分析,用户访问监测(RUM),应用性能监测(APM),服务可用性监测(拨测),安全巡检,智能监控等等。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

DataKit 是观测云的数据采集器,提供 CouchDB 采集器用于采集 CouchDB 相关的指标数据。

部署 DataKit

登录观测云控制台,点击「集成」 -「DataKit」 - 「Linux」,复制安装命令,在主机中可以一键安装。



DataKit 开启 CouchDB 采集器

DataKit 目前支持 Prometheus 格式的数据采集。在配置 DataKit 之前,找到并编辑 CouchDB 启动配置文件,通常是在 /opt/couchdb/etc/local.ini,修改为如下,并重启 CouchDB 服务。

[prometheus]additional_port = truebind_address = 0.0.0.0port = 17986
复制代码

进入 DataKit 安装目录下的 conf.d/couchdb 目录,复制 couchdb.conf.sample 并命名为 couchdb.conf。示例如下:

[[inputs.prom]]  ## Collector alias.  source = "couchdb"
## Exporter URLs. urls = ["http://127.0.0.1:17986/_node/_local/_prometheus"]
## TLS configuration. tls_open = false # tls_ca = "/tmp/ca.crt" # tls_cert = "/tmp/peer.crt" # tls_key = "/tmp/peer.key"
## Set to 'true' to enable election. election = true
## Customize tags. [inputs.prom.tags] # some_tag = "some_value" # more_tag = "some_other_value"
## (Optional) Collect interval: (defaults to "30s"). # interval = "30s"
复制代码

保存配置之后,重启 DataKit 即可。

datakit service -R
复制代码

CouchDB 关键指标说明

监控 CouchDB 时,有以下关键指标需要关注:

  • 系统资源指标:包括 CPU 内存磁盘以及网络相关信息,这些在主机或者容器层面的监控中包含,本文不再赘述

  • 数据库运行状态:包括正常运行时间,不同日志级别的消息数量等

  • 数据库性能指标,包括数据库读写,打开的数据库数量,打开的文件描述符数量等

  • HTTP 请求指标:包括视图与临时视图读取的次数、以及超时的次数,HTTP 请求与批量请求的数量等

  • 复制:统计失败的复制器变更管理器、变更工作队列、变更读取器等的数量,复制器调度程序崩溃与待处理的作业数量,连接所有者以及工作进程意外终止的次数

  • 缓存:身份验证缓存命中、未命中以及总请求次数

关键指标说明:


其他指标详细列表,可以参考观测云集成文档:https://docs.guance.com/integrations/couchdb/#metric

场景视图





监控器

针对 CouchDB 服务器请求的异常(4xx 和 5xx),以及响应时间,进行监控告警。

5xx 请求异常




4xx 请求异常




请求响应时长较高




总结

通过对 CouchDB 的监控,观测云能够帮助用户全面掌握 CouchDB 的运行状态,及时发现并解决问题,提升数据库的稳定性和性能。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
CouchDB 可观测最佳实践_couchdb_观测云_InfoQ写作社区