Greenplum 可观测最佳实践

Greenplum 简介

Greenplum 是一个基于大规模并行处理(MPP)架构的高性能、高可用的数据库系统,它主要用于处理和分析大规模数据集。Greenplum 的架构由 Master 节点和 Segment 节点组成,其中 Master 节点负责接收客户端的查询请求并分发执行计划,而 Segment 节点则负责存储数据并执行查询计划。这种架构使得 Greenplum 能够利用多台服务器的资源,以并行方式处理大量数据,从而提供快速的查询响应时间。

Greenplum 适用于数据仓库、商业智能和大数据分析等场景,特别是在需要处理 PB 级数据量时,能够提供高效的数据存储和分析能力。Greenplum 的可观测性包括对数据库性能的监控、故障的检测和通知、以及对系统运行状态的可视化。

观测云

观测云是一款统一的可观测平台,可实现对多云、云原生、中间件、应用等进行实时可观测。观测云数据的采集是通过 DataKit 来实现的,通过丰富的采集器可完成对各种指标、日志、链路数据的采集。对 Greenplum 的数据采集,我们将使用观测云的 prom 采集器,配合社区中的 Greenplum exporter 来实现。

操作步骤

安装 Greenplum exporter

笔者推荐大家使用 Github 上的一个"基于 go 语言为 Greenplum 集成 Prometheus 的监控数据采集器",其项目地址为 https://github.com/tangyibo/greenplum_exporter

  • 启动 exporter

以 CentOS 为例,执行如下命令前需要切换到 gpadmin 用户,并确保已经在 /greenplum_exporter 安装目录的 bin 目录下。

export GPDB_DATA_SOURCE_URL=postgres://gpadmin:password@10.17.20.11:5432/postgres?sslmode=disable
./greenplum_exporter --web.listen-address="0.0.0.0:9297" --web.telemetry-path="/metrics" --log.level=error

注:环境变量 GPDB_DATA_SOURCE_URL 指定了连接 Greenplum 数据库的连接串(请使用 gpadmin 账号连接 postgres 库),该连接串以 postgres:// 为前缀,具体格式如下:

postgres://gpadmin:password@10.17.20.11:5432/postgres?sslmode=disable
postgres://[数据库连接账号,必须为gpadmin]:[账号密码,即 gpadmin 的密码]@[数据库的IP地址]:[数据库端口号]/[数据库名称,必须为postgres]?[参数名]=[参数值]&[参数名]=[参数值]
  • 获取指标

在 exporter 成功启动后,可以在本机上执行 curl 命令,确认是否已经将 greenplum 的指标暴露为 prometheus 指标格式。

curl http://127.0.0.1:9297/metrics

如果出现如下输出则说明 exporter 运行成功,下一步可以用观测云 prom 采集器进行指标采集。

附1:更多启动参数

当前 exporter 的更多启动参数如下:

usage: greenplum_exporter [<flags>]Flags:-h, --help                   Show context-sensitive help (also try --help-long and --help-man).--web.listen-address="0.0.0.0:9297"  web endpoint--web.telemetry-path="/metrics"  Path under which to expose metrics.--disableDefaultMetrics  do not report default metrics(go metrics and process metrics)--version                Show application version.--log.level="info"       Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]--log.format="logger:stderr"  Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"

部署 DataKit

登录观测云控制台,点击「集成」 -「DataKit」 - 「Linux」,拷贝第 2 步中的安装命令。

在 greenplum 的 mdw 节点上复制该安装命令,安装 DataKit 。

安装完成后,DataKit 会提示您使用 datakit monitor 来检查 DataKit 的运行状态,如下图所示:

开启 prom 采集器

在服务器上进入 /usr/local/datakit/config.d/prom 文件夹,将 prom.conf.sample 模板文件原地 cp 一个 prom.conf 文件。

编辑该 prom.conf 文件,仅需修改 urls 参数,将其修改为刚才配置的 greenplum exporter 所暴露的指标采集路径。

文件保存后可执行以下命令重启 DataKit。

datakit service -R

再次执行以下命令查看采集上报信息。

datakit monitor

可以看到左下角的 Enabled Inputs 图表内出现了 prom ,这表明 prom 采集器开关已开启,同时右下角的 Inputs Info 图表可以看到 prom/prom 正在持续上报数据,这表明 prom 采集器已经正常采集并上报数据。

指标

在观测云控制台上,点击「指标」 -「指标管理」 - 「greenplum」,便可以看到已经采集上来的指标和标签。

在「指标分析」功能中可以对指标趋势进行图形化分析。

Greenplum 的关键指标分为集群状态、连接情况、数据情况等,如:

  • 集群情况-当前连接数、集群同步情况、存储空间大小等
  • 用户情况-例如用户总数、账号连接数
  • 数据情况-例如数据膨胀、数据倾斜

监控视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “Greenlum”, 选择 “Greenlum 集群监控”,点击 “确定” 。

监控器(告警)

作为一个 Greenplum 数据库管理员,必须监控系统的问题事件,例如一个 Segment 宕机或者一台 Segment 主机磁盘空间耗尽。在已经采集了 greenplum 指标和日志的情况下,我们给出监控 greenplum 集群状态、指标监控的示例,帮助大家快速上手观测云的监控告警功能。

1、监控 master 与 standby master 是否同步

配置思路:exporter 已经使用 greenplum_cluster_sync 指标来表示 master 和 standby master 的同步情况,其结果为1表示正常,结果为0表示异常。因此我们可以在观测云上配置指标监控,监控 greenplum_cluster_sync 指标的结果,如果当出现0或连续N次出现0时发出告警。

配置方法:在观测云控制台,点击「监控」 -「新建阈值检测」,参考下图的配置完成 greenplum_cluster_sync 的指标检测,表示每分钟对该指标进行1次检测,如果连续两次结果为0则需要发出“紧急”级别的通知。

2、监控缓存命中率过低的情况

配置思路: exporter 使用 greenplum_server_database_hit_cache_percent_rate 指标来表示缓存命中率,我们以配置缓存命中率低于80%需发出告警为例进行演示,下图表示对 greenplum_server_database_hit_cache_percent_rate 的值进行监控,每分钟检测1次,当结果≤80则进行告警。

观测云还提供了监控器的预览图表,方便用户提前审视阈值的配置是否合理(下图中浅红色阴影部分表示当前的阈值将会触发告警)。

总结

相对于其他几种监控工具而言,观测云以开箱即用的采集器、灵活易用的仪表板和强大的监控告警能力见长,相信会是广大 Greenplum 用户对生产环境 Greenplum 集群进行有效监控的极佳选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/11731.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

博眼球还是真本事?参考平面不完整信号串扰反而好

高速先生成员--黄刚 Chris最近由于项目和培训都比较多&#xff0c;感觉每周为大家带来高速先生文档分享都有点儿力不从心了。这不在发布文章前的这个周末的下午还在发愁到底能给粉丝们带来什么有用的知识。热门而正常的高速理论感觉已经写得八九不离十了&#xff0c;再翻翻Chri…

ssm+jsp704学术团队管理系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【LeetCode】每日一题 2024_11_11 切棍子的最小成本(区间 DP,记忆化搜索)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;切棍子的最小成本 双十一光棍节力扣给我们准备了 . . . 一根棍子 代码与解题思路 先读题&#xff1a; 题目给了 n 代表棍子的长度&#xff0c;给了 cuts 数组代表我们需要在这几个地方…

卡内基音乐厅回响肖邦旋律:旅美钢琴学者何超与导师洪勋的师生情缘

正是柿红蟹肥的时节&#xff0c;浙江杭州的青年钢琴演奏家洪勋老师收获了一份来自美国的大礼。他的弟子~正在就读美国哥伦比亚大学统计学硕士的何超受纽约卡耐基音乐厅盛邀以跨专业演奏者的身份于2025年1月19日晚上7点独奏肖邦的《叙事曲》&#xff0c;是该音乐厅创建130多年来…

Django SSE 高并发分析与解决

在 Django 中使用 Server-Sent Events (SSE) 实现高并发应用时&#xff0c;可能会遇到性能瓶颈和可扩展性问题。以下是高并发场景下使用 SSE 的问题分析及其解决方案。 问题背景 一位开发者在使用 Django/Gunicorn/Django-SSE 开发项目时&#xff0c;发现如果 SSE 连接数量超过…

Mono-InternVL 多模型大模型测评

一、简介 上海人工智能实验室的代季峰教授团队最近开发了一种新型多模态大模型Mono-InternVL&#xff0c;该模型在多模态任务中表现卓越&#xff0c;显示出技术上的显著优势。Mono-InternVL通过内嵌视觉专家&#xff0c;优化了视觉感知与理解的集成&#xff0c;大幅提高了处理效…

springboot快递物流管理系统-计算机设计毕业源码85178

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 快递物流管理系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2 数据修改流程 2.2.3 数据…

《过山车之星2》启动不了解决方法

过山车之星2如果遇到启动不了的情况&#xff0c;玩家可以采取多种有效的办法进行解决&#xff0c;其中包括等待服务器维护结束、优化网络连接以及验证游戏文件完整性等。 过山车之星2启动不了怎么办 等待服务器维护结束 在维护期间会对服务器进行优化、修复Bug和更新&#xf…

【C#】创建一个主菜单和弹出菜单系统

文章目录 1. 创建WinForms项目2. 设计窗体3. 添加MenuStrip4. 配置菜单项5. 添加TextBox6. 编写事件处理代码7. 运行和测试 根据您提供的文件内容&#xff0c;看起来您需要在C# WinForms应用程序中设置一个窗体&#xff0c;其中包含一个文本框和几个菜单项&#xff0c;用于改变…

加权电价是什么?如何快速查询工商加权电价?

在电力市场中&#xff0c;电价是调节供需关系的重要杠杆。对于工商业用户而言&#xff0c;了解并合理利用电价结构&#xff0c;不仅能有效控制成本&#xff0c;还能提升运营效率。加权电价&#xff0c;作为电价计算中的一个重要概念&#xff0c;尤其值得关注和掌握。 一、加权电…

二叉树的前序遍历---一个简单高效的算法

今天刷了一道题&#xff0c;对一个二叉树进行前序遍历&#xff1a;根节点--》左子树节点--》右子树节点。 题目要求将一棵树的每个非Null节点的值用一个List列表返回&#xff1b; 我的思路&#xff1a;执行函数创建List并加入当前值&#xff0c;因为函数是递归调用的&#xff…

DotNet使用CsvHelper快速读取和写入CSV文件的操作方法

在日常开发中使用CSV文件进行数据导入和导出、数据交换是非常常见的需求&#xff0c;以下来讲讲在DotNet中如何使用CsvHelper这个开源库快速实现CSV文件读取和写入&#xff0c;需要的朋友可以参考下 CsvHelper类库介绍 CsvHelper是一个.NET开源、快速、灵活、高度可配置、易于…

Layui layui.treeTable 树表格组件 去除图标展示

下面的样式设置是为了在layui树形表格中移除默认的文件夹和叶子节点图标&#xff0c;以及如何设置节点展开和子节点的图标为空 /* 节点未展开时的图标 */.layui-icon-folder:before { content: "";}/* 节点展开时的图标 */.layui-icon-folder-open:before {content: …

网络编程——Python简单TCP通信功能代码实践

这里写目录标题 Python简单TCP通信功能代码实践阅读本博客前需准备的几个问题1. 网络通信的机制是什么&#xff1f;2. 什么是python进行网络编程&#xff1f;3. IP地址和端口是什么&#xff1f; 一个简单的TCP通信功能示例&#xff1a;client端.pysever端.pyPYCHARM运行结果 Py…

ESP32开发__搭建VSCode开发环境试编译项目

目录 1. 概述 2. 安装相关必要插件 3. VSCode及相关扩展件安装 3.1. VS Code 3.2. ESP-IDF Visual Studio Code Extension 3.3. Configure ESP-IDF 4. Demo试运行 4.1. 打开工程 4.2. 连接设备并配置端口 4.3. 配置工程 4.3.1. 设置“目标”芯片 4.3.2. menuconfig…

丹摩征文活动|Llama3.1的部署与使用指南

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 丹摩征文 1. 初识Llama3.12. 部署流程创建实例登录实例部署LLama3.1 3. 实践使用教程4. 实践感想 前言&#xff1a;人工智能&#xff08;AI&…

柔性鞋材振动刀智能视觉裁切机市场报告:未来几年年复合增长率CAGR为5.4%

震动刀切割设备是一种利用振动刀片在各种非金属材料表面上切割的设备&#xff0c;振动刀切割机利用刀片高频振动和360度旋转&#xff0c;能保证每分钟上万次的振动频率&#xff0c;可在平面进行垂直切割&#xff0c;锋利裁剪。震动刀切割设备切割速度快&#xff0c;可以单层切割…

全面盘点多模态融合算法及应用场景

一、引言 多模态融合的定义 多模态融合&#xff08;Multimodal Fusion&#xff09;是指结合来自不同模态&#xff08;如视觉、听觉、文本等&#xff09;的数据&#xff0c;以提升信息处理和理解能力的技术方法。多模态数据通常具有不同的物理性质和信息特征&#xff0c;通过融…

双十一当天有哪些数码好物值得购买,双十一爆款数码好物大盘点

在数字化时代&#xff0c;数码产品已成为我们生活中不可或缺的一部分。无论是提升工作效率的笔记本电脑&#xff0c;还是丰富娱乐生活的智能设备&#xff0c;或是健康监测的智能穿戴&#xff0c;每一款产品都在以不同的方式改善着我们的生活质量。 双十一&#xff0c;作为一年中…

.wslconfig:6 中的未知密钥 ‘boot.systemd‘ 问题解决

我的环境 wsl 2 centos 9 部分博客通过修改 windows上 .wslconfig, 添加如下配置 来启动 systemd [boot] systemdtrue完全误人子弟, 倘若如此配置, 启动 wsl 时会遇到如下错误: C:\Users\2024>wsl wsl: C:\Users\2024\.wslconfig:6 中的未知密钥 boot.systemd正确启用…