Pigsty v2.2 发布 —— 监控系统大升级


Pigsty v2.2 现已发布,迎来史诗级重大升级,基于 Grafana v10 彻底重制,将 PG 可观测性拔高到一个全新阶段,带来了全新的用户体验。Demohttp://demo.pigsty.cc

此外 Pigsty v2.2 还提供了一个42节点的生产仿真环境沙箱模板,支持了 Citus 12,PG 16beta2,提供了使用KVM虚拟机的vagrant模板,为零散/墙外RPM包提供了专用的 Pigsty Yum 源,并支持了国产信创操作系统统信UOS20。

监控系统重制:视觉配色

Pigsty v2.2 中,对监控面板进行了彻底的重制,充分利用 Grafana v10 的新特性,为用户带来目一新的可视化体验

最直观的变化是色彩。Pigsty v2.2 采用了全新的配色方案.以 PGSQL Overview 面板为例,新配色方案降低了饱和度,整体视觉体验比旧版本更加协调美观。

Pigsty v2.0 使用Grafana默认的高饱和配色

Pigsty v2.2:失效实例标黑,点击可直达故障现场

 Pigsty v2.2 的监控面板中使用 PG蓝,Nginx绿,Redis红,Python黄,Grafana橙等颜色作为基准,这套配色方案的灵感来自这篇文章:SCI,但《天气之子》~当SCI论文插图遇上新海诚天气之子配色 https://zhuanlan.zhihu.com/p/619556088 。

监控系统重制:集群导航

当然除了配色,v2.2 也在内容编排和布局上重新行了设计。例如,使用 Stats 块统计替代了大量表格式导航,让有问题的服务能够在首屏即可一目了然。点击异常色块即可直达故障现场。

当然,老式的导航表格可以提供更丰富的信息,也并没有移除,而是移动到了专门的 Instances / Members 分栏中去。让我们以最常用的 PGSQL Cluster 面板为例:

首屏是基于色块的图元导航,展现了集群组件存活状态与服务可用性,核心指标,负载水平与告警事件图。且提供了到集群内部资源 —— 实例,连接池,负载均衡器,服务,数据库的快速导航

PGSQL Cluster 的表格式导航

监控系统重制:实例

PGSQL Instance 展现了一个实例的详细状态,在 v2.2 中也进行了重制。最基本的设计原则就是:不是蓝/绿色的状态才需要关注。这样通过颜色视觉编码,用户可以在事故分析时快速定位一个数据库实例的故障根因。

具体的集群资源表,则是在第二栏中,以备查阅详情。配合后面的 指标栏与日志栏,完整的呈现了一个 PostgreSQL 数据库集群的核心状态。

其他的实例,主机节点,ETCD,MinIO,Redis,也都使用了类似的设计,例如 Node Instance 的首屏就是这样的。

Node Instance 的指标部分基本保持不变,但首屏概览部分进行了重制。MinIO Overview 亦然。

Etcd Overview 则使用 State Timeline 来可视化 DCS 服务的可用性状态。例如下图展现了一个模拟 etcd 故障的现场:在一个5节点的 ETCD 集群中依次关闭各个实例,集群可以容忍两个节点故障,但3个节点故障将导致 ETCD 服务整体不可用(黄色的条转为暗蓝色,代表 ETCD 服务整体不可用)。

当 DCS 出现故障时,依赖 ETCD 进行高可用的 PostgreSQL 集群默认会启用 FailSafeMode:在确认所有集群成员可达,不是自身而是DCS故障的前提下,可以避免出现主库降级的故障。而这一点,也会在 PG 的监控中体现出来

监控系统重制:服务

另一个进行重新设计的部分是 Service 与 Proxy 。Service 面板现在添加了关于服务的重要信息:SLI ,通过条状的 Statetimeline,用户可以直观的看出服务中断情况,获取服务可用性指标,并理解负载均衡器与后端真实数据库服务器的状态。

本例中,对 pg-test 集群的四个 HAProxy,分别进行了 排干,设置维护状态操作,然后关闭后端数据库服务器。只有当一个集群的全部实例都下线后, pg-test-replica 这个只读服务才会进入不可用状态。

这是 pg-test 集群 1 号 HAProxy 负载均衡器的监控面板,每一个由其承载的服务都会列于其中,展示后端服务器状态并计算 SLI。HAProxy 本身的状态与监控放置在 Node Haproxy 监控面板中。

在全局总览中,可以看到 Pigsty 中所有数据库服务的整体状态时间线与 SLI 指标。

监控系统重制:数据库统计

在 Pigsty 中,除了会对数据库服务器进行监控外,也会对数据库服务器所承载的逻辑对象 —— 数据库,表,查询,索引等逻辑。

PGSQL Databases 展示了集群层面的数据库统计指标。例如,在 pg-test 集群中有4个数据库实例,与一个数据库 test ,而这里就展示出了这4个实例数据库指标的水平对比。

用户可以进一步下钻到单个数据库实例内部的统计,也就是 PGSQL Database 面板。这个面板提供了一些关于数据库与连接池的关键指标,但最重要的是,PGSQL Database 面板提供了对数据库内最活跃醒目的查询的索引 —— 这是两类最为重要的库内对象。

监控系统重制:系统目录

在 Pigsty 中,除了使用 pg exporter 采集到的指标数据之外,还会使用另外一类可选的重要补充数据 —— 系统目录。这也是 PGCAT 系列 Dashboard 所做的事情。PGCAT Instance 将直接访问数据库系统目录(使用最多8条监控只读连接),获取并呈现所需的信息。

例如,您可以获取数据库当前正在运行的活动,按照各种指标对数据库中的慢查询,无用索引,全表扫描进行定位与分析。查阅数据库的角色,会话,复制情况,配置修改状态,内存使用详情,备份与持久化的具体细节。

如果说 PGCAT Instance 关注的是数据库服务器本身,那么 PGCAT Database 就更关注单个数据库内部的对象细节:例如 Schema,Table,Index,膨胀,Top SQL, Top Table,等等。

每一个 Schema,Table ,Index 都可以点击下钻,进入更详细的专用面板中。例如 PGCAT Schema,就进一步展现了一个架构模式内的对象细节。

数据库内的查询,也按照执行计划进行聚合,便于用户找到问题 SQL,快速定位慢查询

监控系统重制:表与查询

在 Pigsty 中,你可以查阅一张表的方方面面。PGCAT Table 面板可以让您查看表的元数据,上面的索引,每一列的统计信息,以及相关的查询。

当然,你也可以使用 PGSQL Table 面板,从指标的维度,查阅一张表在任意历史时间段上的关键指标。点击表名即可轻松在两个视角进行切换。

相应地,你也可以获取具有相同执行计划)的同一类 SQL 的详细信息。

在 Pigsty 中,还有许多关于特定主题的 Dashboard。限于篇幅,关于监控系统的介绍就是这些。最直观的体验方式,就是访问 Pigsty 提供的公开 Demo:http://demo.pigsty.cc ,亲自上手把玩一番。虽然这只是一个4台1C虚拟机的简陋环境,但用来展示Pigsty最基本的监控系统能力已经是足够了。

大号仿真环境

Pigsty 提供了一个基于 Vagrant 与 Virtualbox 的沙箱环境,可以跑在你的笔记本电脑/Mac上,有一个 1 节点的最小版本,和一个4节点的完整版本,用与演示与学习,而现在 v2.2 中又多了一个 42 节点的生产仿真版本沙箱。

生产沙箱的所有细节都由 prod.yml 这个五百行不到的配置文件描述,它可以轻松跑在一台普通的服务器物理机上,而拉起它过程与4节点并无二致:make prod install 即可完工。

Pigsty v2.2 提供了基于 libvirt 的 Vagrantfile 模板,您只需要调整上面配置中的机器清单,即可一键创建出所需的虚拟机来。所有东西都可以轻松跑在一台 Dell R730 48C 256G 物理机上,二手价不到三千元。然,您依然可以使用 Pigsty Terraform 模板一键在云厂商上拉起虚拟机。

安装完成后环境如下所示,包含两节点的监控基础设施,一主一备。5节点的专用 etcd 集群,3 节点的样例 MinIO 集群提供对象存储服务存放 PG 备份,还有一个两节点的专用 HAProxy 集群,可以统一为数据库服务提供负载均衡。

在此之上,还有3套Redis数据库集群与10套规格各异的 PostgreSQL 数据库集群与,其中还包括一套开箱即用的 5 分片的 Citus 12 分布式 PostgreSQL 集群。

这个配置是中大型企业运行管理大规模数据库集群的参考样例,而您可以在单台物理服务器上用半个小时完整一键拉起。

更丝滑的构建流程

当你选择直接从互联网下载 Pigsty 所需的软件时,可能会遭遇到功夫网的烦恼。例如,默认的 Grafana / Prometheus Yum 源下载速度极慢。除此之外,还有一些零散的 RPM 包需要通过 Web URL 的方式,而不是 repotrack RPM 的方式进行下载。

在 Pigsty v2.2 中,解决了这个问题。Pigsty 提供了一个官方的 yum 源:http://get.pigsty.cc ,并配置为默认的上游源之一。所有零散的 RPM,需要翻墙的 RPM 都放置其中,可以有效加快在线安装/构建速度。

此外, Pigsty 还在 v2.2 中提供了对信创操作系统,统信 UOS 1050e uel20 的支持,满足一些特殊客户的特殊需求。Pigsty 针对这些系统重新编译了 PG相关的 RPM 包,为有需求的客户提供支持。

安装

从 v2.2 开始,Pigsty 的安装命令变为:

bash -c "$(curl -fsSL http://get.pigsty.cc/latest)"

一行命令,即可在全新机器上完整安装 Pigsty. 如果您想要尝鲜 beta 版本,将 latest 换为 beta 即可。对于没有互联网访问的特殊环境,您也可以使用以下链接下载 Pigsty,以及打包了所有软件的离线安装包:

  • http://get.pigsty.cc/v2.2.0/pigsty-v2.2.0.tgz
  • http://get.pigsty.cc/v2.2.0/pigsty-pkg-v2.2.0.el7.x86_64.tgz
  • http://get.pigsty.cc/v2.2.0/pigsty-pkg-v2.2.0.el8.x86_64.tgz
  • http://get.pigsty.cc/v2.2.0/pigsty-pkg-v2.2.0.el9.x86_64.tgz

以上,就是 Pigsty v2.2 带来的变化。更多细节,可参考 Pigsty 官方文档与 Github Release Note。


相關推薦

2023-06-11

12.15, 与 16 beta1。v2.1 针对 PostgreSQL 16 进行了适配,改进了监控系统效果,添加了一系列便利命令工具,建议按需升级。 具体更新内容包括: Highlight PostgreSQL 16 beta 支持,以及 12 ~ 15 支持。 添加 PGVector for AI Embedding for 12 - 15

2023-08-23

Pigsty v2.3 现已发布,此版本进一步完善了监控系统、应用生态、并跟进 PostgreSQL 例行的小版本更新(CVE修复)。 Pigsty v2.3 跟随 PostgreSQL 主干小版本进行更新,包括 15.4, 14.9, 13.12, 12.16 以及 16.beta3,此更新修复了一个 CVE 安全漏洞

2024-08-29

Pigsty v3.0 正式发布。这是时隔一年半后的又一个大版本更新,带来了海量扩展插件,提供 Oracle 与 SQL Server 兼容性的替换内核,以及完整在本地运行的 SOTA RDS 服务 Pigsty v3 提供了史无前例的 333 个可用扩展插件。包括 121 个扩展 R

2023-09-05

次顺序扫描 / 索引扫描的时间。尽管这个功能在 Pigsty 的监控系统中可以通过扫描统计图表实现,但官方提供直接的支持肯定更好:用户可以直观地得出一些结论:比如某一个索引是不是没用上可以考虑移除。此外,n_tup_newpage_up

2023-04-01

修复了 MinIO CVE-2023-28432 高危漏洞,修复了一些 Bug,并对监控系统面板进行了优化,官方强烈建议升级。 具体更新内容包括: Highlight 使用pgvector存储 OpenAI 嵌入并搜索相似向量 新扩展pgvector MinIO CVE-2023-28432修复,并升级

2022-05-24

计。 NGINX Overview:展示Nginx指标与日志 其他改进 监控系统 监控面板 CMDB Overview:可视化Pigsty CMDB Inventory。 DCS Overview:查阅Consul与ETCD集群的监控指标。 Nginx Overview:查阅Pigsty Web访问指标与访问日志。 Grafana Overview

2022-06-21

Pigsty v1.5.1 现已发布,具体更新内容如下: 内核 在PostgreSQL 14.0 至 14.3 中,出现了一个BUG。当你使用​​​​ CREATE INDEX CONCURRENTLY | REINDEX CONCURRENTLY 在线重建索引时,有可能会导致静默的 索引数据腐坏。 在 2022.06.16日,Pos

2023-09-16

多元共进|2023 Google 开发者大会精彩演讲回顾 Pigsty 在 PostgreSQL 16 发布后跟进了全新版本 Pigsty v2.4,提供了对 PostgreSQL 16 正式版的完整支持。此外在 v2.4 中,还对监控已有PG实例,特别是 RDS for PostgreSQL 与 PolarDB 提供了额外的支

2023-09-26

Pigsty v2.4.1 现已发布,支持 Supabase、PostgresML,与大量实用新扩展插件。 Highlights Supabase 支持:使用 Pigsty 管理的外部 postgres 运行开源 Firebase 替代版本:配置示例 支持 PostgresML: 在 Postgres 中运行 LLM、向量运算、经典机器学

2024-08-15

Pigsty 创作者整理发布了 333 个 PostgreSQL 插件清单。 这 333 个扩展在 Pigsty 中都可用,其中 EL 可用 RPM扩展 326 个,Debian/Ubuntu 可用 DEB扩展 312 个。 除去 PostgreSQL 自带的 70 个 Contrib扩展

2022-11-17

rverless 等功能已是全球首创或业内领先的技术。从 PolarDB 发布以来,它在技术和商业化上都获得了迅猛发展,如今已经成为阿里云数据库产品家族中最闪耀的产品。 2021年,阿里云正式开源PolarDB(源码仓库:https://github.com/ApsaraD

2022-10-11

据格式进行统计信息以及事件的汇总,方便接入 Prometheus 监控系统,对 Neuron 及其设备进行监控管理。 即将到来的驱动 QnA 1E 驱动 此驱动与现有驱动 QnA 3E 类似,主要对接三菱 PLC 中一些比较老的型号,支持以串口连接的方式

2024-07-09

28 年了。 这真的是一个创新版本吗? —— 冯若航,Pigsty 创始人 & 作者,PostgreSQL 中文社区开源技术委员 冯若航这两天也将针对这个事情发表雄文,把他的观点具体澄清,指路(公众号“非法加冯”): MySQL 9.0

2023-08-17

Jeepay 是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。 v2.2.1 版本升级内容: 更新支付宝沙箱地址 优化修改数据库时间字段