使用 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 网络。

相关推荐
fengkai45457 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
mengge.cloud2 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
闲云野鹤在人间3 天前
Prometheus入门|搭建Prometheus+Node‑Exporter+Grafana完整主机监控平台
grafana·prometheus
何中应12 天前
Grafana如何共享面板
运维·grafana·可观测
何中应12 天前
Grafana如何安装插件
运维·grafana·可观测
疯子的梦想@13 天前
Prometheus 接入 Alertmanager 与钉钉机器人,附中文模板和完整踩坑记录
机器人·钉钉·prometheus
lbb 小魔仙14 天前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
云边有个稻草人14 天前
Prometheus Pushgateway教程:离线任务指标上报、Shell与Python示例、远程访问
开发语言·python·prometheus
广目软件15 天前
HA分布式架构采集节点变更操作手册20261029
运维·服务器·ansible·zabbix·prometheus
tianyuanwo19 天前
Prometheus 服务部署指南:从架构原理到生产级落地
架构·prometheus