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

news/2024/5/18 22:21:56 标签: prometheus, grafana

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


http://www.niftyadmin.cn/n/5208194.html

相关文章

csv文件添加文件内容和读取

append content to file import numpy as np acc_listnp.array([0.97,0.92,0.93,0.89]) # 注意这个地方添加文件不需要特别声明是什么文件 file open("result.csv", "a") print("{:.2f}, {:.2f}".format(acc_list.mean(), acc_list.std()), f…

RC4密码(python实现)

def RC4_INIT(key):keylist(key)for i in range(len(key)):key[i]ord(key[i]) #需要将key中的每个字符转换为整数进行异或k[0 for i in range(256)]s[0 for i in range(256)]j0lengthlen(key)for i in range(256):s[i]ik[i]key[i%length] #如果key为123,则实际填充…

《第一行代码:Android》第三版-2.5.4数据类与单例_数据类

本文主要讲述数据类,以前用java实现数据类很麻烦,写很多代码,就是搭个数据类的框架。kotlin用data class 关键字,给你简化了数据类的创建,比较贴心。 就是自动为你创建了:equals()、hashCode()、toString(…

Java实现二叉树的创建与遍历

二叉树是一种树形数据结构,在二叉树中,每个节点最多有两个子节点,分别为左子节点和右子节点。左子节点小于父节点,右子节点大于等于父节点,是一种有序的数据结构。常用来表示树形结构,例如文件系统和部门层…

企业如何通过软文推广提高竞争力

数字时代我们每天接收到的信息远远超过可接受的量,且技术进步带来的“信息茧房”使用户很难获取真正有效的信息,但越是杂乱的信息环境,有价值信息的穿透力就越强,软文推广正是凭借价值感信息助力企业提高竞争力,接下来…

“它经济”新风口:海外网红营销之路,打造宠物用品全球热潮

近年来,宠物用品行业在全球范围内迎来了蓬勃发展,消费者对宠物的关注和关爱程度不断提升。随着社交媒体的崛起,海外网红营销正成为宠物用品品牌走向国际市场的有效途径,通过与海外网红的合作,不仅可以提升品牌知名度&a…

错误记录:AttributeError/TypeError

【pycharm】报错:AttributeError: partially initialized module ‘numpy’ has no attribute ‘array’ (most likely due to a circular import)的错误 文件名与调用包的名称一致引起歧义 解决办法:修改文件名重新run 【pycharm】报错:T…

(一)C语言之入门:使用Visual Studio Community 2022运行hello world

使用Visual Studio Community 2022运行c语言的hello world 一、下载安装Visual Studio Community 2022 与 新建项目二、编写c helloworld三、编译、链接、运行 c helloworld1. 问题记录:无法打开源文件"stdio.h"2. 问题记录:调试和执行按钮是灰…