使用 Prometheus 和 Grafana 监控 Couchbase 同步网关

Couchbase Mobile 2.5版本在Sync Gateway上引入了广泛的统计数据报告功能。统计数据提供了有关 Couchbase Mobile 部署运行状况的重要见解,并且构成任何部署的组成部分。

在这篇文章中,我们将讨论如何使用Prometheus(一个用于监控 Sync Gateway 节点的开源监控和警报平台)和Grafana来可视化统计数据。在即将发布的相关文章中,我们将讨论如何在Couchbase Mobile Kubernetes 集群上使用 Prometheus 设置监控。

背景

同步网关统计报告

Sync Gateway 统计信息以 JSON 格式报告,并可通过 Sync Gateway管理 REST接口通过_expvar端点获取。这些是报告的统计数据的类别。

普罗米修斯

Prometheus是一个开源系统监控和警报平台,由云原生计算基金会托管。它的核心是Prometheus 服务器,负责轮询"Prometheus 目标"的统计信息并将其存储为时间序列数据。Prometheus 目标是静态配置的,或者可以由 Prometheus 发现。

格拉法纳

Grafana是一个开源数据可视化和警报平台。它支持Prometheus作为数据源,可用于构建综合仪表板。

Prometheus Sync Gateway Exporter 简介

为了让Prometheus能够监控Sync Gateway,我们需要一个与Sync Gateway对应的"Prometheus目标"。该目标是Sync Gateway Exporter,本文称为"导出器"。简而言之,Exporter负责将 Sync Gateway 统计数据导出到 Prometheus 指标。

部署架构

将所有这些结合在一起,典型的部署如下 -

同步网关导出器默认情况下,同步网关管理 REST API 仅在本地主机上公开。在生产环境中也强烈建议使用此配置。因此,由于导出器会轮询同步网关管理 API 的统计信息,因此导出器需要与同步网关位于同一主机/节点上。此外,同步网关统计信息是按节点报告的。因此,在两个或多个 Sync Gateway 节点的集群中,每个 Sync Gateway 节点都必须有自己的 Exporter。

Prometheus Server不断轮询 Exporter 的统计信息,而 Exporter 又轮询 Sync Gateway REST 端点。服务器使用rules.yaml中定义的规则将警报推送到警报管理器。

Grafana服务轮询 Prometheus 服务器的统计信息,并将其绘制在可通过 Web 浏览器访问的基于 Web 的仪表板上。

安装

在本文的其余部分中,我们将逐步完成设置 Couchbase Mobile 集群以使用 Exporter、Prometheus Server 和 Grafana 进行监控的步骤。虽然这些说明适用于开发环境,但您可以轻松地针对生产环境进行自定义。

我们将使用Docker,这将使启动和运行变得非常简单。

Sync Gateway Exporter 是开源couchbaselabs项目,可在 GitHub 上获取。它与 Couchbase Sync Gateway 2.5 兼容。为此,虽然我们将努力使其与最新版本的 Sync Gateway 保持同步,但我们无法保证这一点。但好消息是它是开源的,并包含有关如何扩展它以支持其他统计数据的详细说明。

从 GitHub 下载 Exporter 源代码。

1

git clone https://github.com/couchbaselabs/couchbase-sync-gateway-exporter

部署Couchbase移动集群

本节中的所有命令都必须从克隆的 GitHub 存储库的根文件夹执行。

1

cd /path/to/exporter/cloned/repo

如果您已经有一个在 Docker 上运行的 Couchbase Mobile 集群,则可以跳过此步骤并继续执行"部署 Sync Gateway Exporter"步骤。请记住在下面的说明中替换与您现有设置相对应的 Docker 网络名称。

创建 Docker 网络

使用 docker 时,建议在同一个 docker 网络上运行所有组件。

创建一个名为"demo"的 docker 网络。

相关推荐
龙码精神5 天前
前端嵌入Grafana 报表的自定义方案:隐藏导航栏保留筛选工具
grafana
Cherry的跨界思维6 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
AC赳赳老秦6 天前
云原生AI故障排查新趋势:利用DeepSeek实现高效定位部署报错与性能瓶颈
ide·人工智能·python·云原生·prometheus·ai-native·deepseek
予枫的编程笔记6 天前
【Kafka高级篇】Kafka监控不踩坑:JMX指标暴露+Prometheus+Grafana可视化全流程
kafka·grafana·prometheus·可观测性·jmx·kafka集群调优·中间件监控
AC赳赳老秦7 天前
预见2026:DeepSeek与云平台联动的自动化流程——云原生AI工具演进的核心引擎
人工智能·安全·云原生·架构·自动化·prometheus·deepseek
认真的薛薛7 天前
13.k8s中Prometheus监控集群及其服务,endpoint暴露服务,es采集k8s日志
elasticsearch·kubernetes·prometheus
A-刘晨阳7 天前
K8S部署kube-state-metrics + CAdvisor 并使用 Prometheus 监控 Kubernetes 指标
运维·云原生·kubernetes·云计算·prometheus·cadvisor·state-metrics
AC赳赳老秦8 天前
多模态 AI 驱动办公智能化变革:DeepSeek 赋能图文转写与视频摘要的高效实践
java·ide·人工智能·python·prometheus·ai-native·deepseek