文章
本栏目完整转载最初发表于 vonng.com 并构成 PG Exporter 监控实践基础的博客原文。每篇文章保留原始发布日期、完整正文、作者署名、题图与文内插图;不合并、不缩写,也不改写成摘要。
旧文中的截图、命令、产品名称与运维假设都是历史原貌的一部分。当前 PG Exporter 行为请以文档、设计记录与发布注记为准。
Victoria:吊打业界的可观测性全家桶来了
Victoria是朴实无华的强悍— — 用几分之一的资源,实现Prometheus + Loki几倍的效果。Pigsty v4.0将全面采用Victoria全家桶。
让PG停摆一周的大会:PGCon.Dev 2024 参会记
大会议程与主题分享,酒吧社交,自组织会议,PG仓库是如何维护的,社区参与度,一些中国特色问题。
PostgreSQL 宏观查询优化之 pg_stat_statements
查询优化是 DBA 的核心工作内容之一,本文介绍了如何使用 pg_stat_statements 提供的指标,针对 PostgreSQL 进行宏观查询优化。
如何用Pigsty监控现有PostgreSQL (RDS/PolarDB/自建)?
如何使用 Pigsty 监控云数据库服务,例如 PolarDB / RDS for PostgreSQL,或者自建的现有PG数据库?
PG慢查询诊断方法论
慢查询是在线业务数据库的大敌,本文介绍了使用监控系统定位诊断慢查询的一般方法论。
Pigsty正式发布
一个比较正式的上线发布通知:Pigsty —— 世界上最先进的开源关系型数据库PostgreSQL的监控系统与供给方案。
黄金监控指标:错误延迟吞吐饱和
了解PostgreSQL中的黄金监控指标:错误、延迟、吞吐和饱和度。
PostgreSQL监控系统Pigsty概述
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。
PostgreSQL的KPI
管数据库和管人差不多,都需要定KPI。本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比的指标,名曰PG Load(PG负载)。
PostgreSQL监控系统概览
监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具,本文简单介绍了一个PostgreSQL的监控系统。
关系膨胀的监控与治理
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。
监控PG中的表大小
PostgreSQL中的表对应着许多物理文件,本文介绍如何统计一张表在PostgreSQL的实际大小。
PG服务器日志常规配置
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。
-
Victoria:吊打业界的可观测性全家桶来了
最近几周老冯都在忙一件事,准备 Pigsty v4.0 —— 最主要的工作就是将 Prometheus 和 Loki 换为 Victoria 全家桶。Victoria 是朴实无华的强悍 ——效果非常炸裂。这一部分已经完工,发布一个 Beta 版本让有需要的朋友先耍一耍。 VictoriaMetrics 初体验 你可能没听说过 VictoriaMetrics,但肯定听说过 Prometheus —— 监控领域的事实标准。VictoriaMetrics 就是 Prometheus 的上位替代品。由白 …
最近几周老冯都在忙一件事,准备 Pigsty v4.0 —— 最主要的工作就是将 Prometheus 和 Loki 换为 Victoria 全家桶。Victoria 是朴实无华的强悍 ——效果非常炸裂。这一部分已经完工,发布一个 Beta 版本让有需要的朋友先耍一耍。 VictoriaMetrics 初体验 你可能没听说过 VictoriaMetrics,但肯定听说过 Prometheus —— 监控领域的事实标准。VictoriaMetrics 就是 Prometheus 的上位替代品。由白 …
-
让PG停摆一周的大会:PGCon.Dev 2024 参会记
PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会,也可以说是决定 PostgreSQL 未来的一场会。从 2007 年成立以来,一直都是在加拿大渥太华举办至今。 这次会议有些特殊,原来的主办者 Dan 交班给下一届大会组织者,举办地点也转移到了温哥华市的 SFU 港区活动中心,算是新班组开门红第一次大会,自然更为隆重。 全都来参会了,谁还在写代码? 有多隆重呢?PG 核心组的 Peter Eisentraut 在会后做了一个统计,在这次 …
PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会,也可以说是决定 PostgreSQL 未来的一场会。从 2007 年成立以来,一直都是在加拿大渥太华举办至今。 这次会议有些特殊,原来的主办者 Dan 交班给下一届大会组织者,举办地点也转移到了温哥华市的 SFU 港区活动中心,算是新班组开门红第一次大会,自然更为隆重。 全都来参会了,谁还在写代码? 有多隆重呢?PG 核心组的 Peter Eisentraut 在会后做了一个统计,在这次 …
-
PostgreSQL 宏观查询优化之 pg_stat_statements
在线业务数据库中,慢查询不仅影响终端用户体验,还会浪费系统资源、拉高资源饱和度、导致死锁和事务冲突,增加数据库连接压力,导致主从复制延迟等问题。因此,查询优化 是 DBA 的核心工作内容之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微观优化:分析并改进一条特定的查询,这便需要记录慢查询日志,掌握 EXPLAIN 的玄机,领悟执行计划的奥妙。 今天我们先来说说前者,宏观优化 有三个主要目标与动机: 减少资源 …
在线业务数据库中,慢查询不仅影响终端用户体验,还会浪费系统资源、拉高资源饱和度、导致死锁和事务冲突,增加数据库连接压力,导致主从复制延迟等问题。因此,查询优化 是 DBA 的核心工作内容之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微观优化:分析并改进一条特定的查询,这便需要记录慢查询日志,掌握 EXPLAIN 的玄机,领悟执行计划的奥妙。 今天我们先来说说前者,宏观优化 有三个主要目标与动机: 减少资源 …
-
如何用Pigsty监控现有PostgreSQL (RDS/PolarDB/自建)?
Pigsty 是一个开箱即用的 PostgreSQL 发行版,与本地优先的 RDS 开源替代。但它也可以单独作为一个 PostgreSQL/主机监控系统来使用。本文以阿里云为例,介绍了用一台 ECS 安装部署 Pigsty,并用于监控云上的 PolarDB 与 RDS for PostgreSQL,为现有数据库带来极致的观测能力。 嵌入媒体 快速上手 使用 Pigsty 教程分为四个步骤: 1.申请用于部署 Pigsty 的 ECS 服务器2.在 ECS 服务器上完整单机安装 Pigsty3.配 …
Pigsty 是一个开箱即用的 PostgreSQL 发行版,与本地优先的 RDS 开源替代。但它也可以单独作为一个 PostgreSQL/主机监控系统来使用。本文以阿里云为例,介绍了用一台 ECS 安装部署 Pigsty,并用于监控云上的 PolarDB 与 RDS for PostgreSQL,为现有数据库带来极致的观测能力。 嵌入媒体 快速上手 使用 Pigsty 教程分为四个步骤: 1.申请用于部署 Pigsty 的 ECS 服务器2.在 ECS 服务器上完整单机安装 Pigsty3.配 …
-
PG慢查询诊断方法论
You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
You can’t optimize what you can’t measure 慢查询是在线业务数据库的大敌,如何诊断定位慢查询是DBA的必修课题。 本文介绍了使用监控系统 —— Pigsty诊断慢查询的一般方法论。 慢查询:危害 对于实际服务于在线业务事务处理的PostgreSQL数据库而言,慢查询的危害包括: 慢查询挤占数据库连接,导致普通查询无连接可用,堆积并导致数据库雪崩。 慢查询长时间锁住了主库已经清理掉的旧版本元组,导致流复制重放进程锁死,导致主从复制延迟。 查询越慢,查询间相 …
-
Pigsty正式发布
今天我很荣幸的宣布,Pigsty正式发布了! 官方网站:https://pigsty.cc Pigsty是什么? Pigsty是针对大规模PostgreSQL集群的监控系统 Pigsty是高可用PostgreSQL集群的供给方案 Pigsty基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的PostgreSQL监控系统与开箱即用的高可用数据库供给方案。Pigsty基于开源生态构建,旨在降低PostgreSQL使用管理的门槛,为用户带来极致的可观 …
今天我很荣幸的宣布,Pigsty正式发布了! 官方网站:https://pigsty.cc Pigsty是什么? Pigsty是针对大规模PostgreSQL集群的监控系统 Pigsty是高可用PostgreSQL集群的供给方案 Pigsty基于开源生态构建,是免费的开源软件 Pigsty 针对大规模数据库集群监控与管理而设计,提供业界顶尖的PostgreSQL监控系统与开箱即用的高可用数据库供给方案。Pigsty基于开源生态构建,旨在降低PostgreSQL使用管理的门槛,为用户带来极致的可观 …
-
黄金监控指标:错误延迟吞吐饱和
前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才 …
前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 盯着仪表盘干什么,看指标。为什么看指标,掌握当前运行状态才能有效施加控制。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力空间有限,仪表盘也就那么大, 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持关注),而冷指标通常只有故障排查时才 …
-
PostgreSQL监控系统Pigsty概述
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。 Pigsty is an advanced PostgreSQL monitoring systemd based on open source projects like prometheus & grafana. PIGSTY /pɪɡ staɪ/ is the abbreviation of “Postgres in Grafana Style”. Pigsty是一个基于Grafana与Prometheus与Consul的 …
近自己做了套数据库监控系统,搞的还可以,简单给大家介绍一下。 Pigsty is an advanced PostgreSQL monitoring systemd based on open source projects like prometheus & grafana. PIGSTY /pɪɡ staɪ/ is the abbreviation of “Postgres in Grafana Style”. Pigsty是一个基于Grafana与Prometheus与Consul的 …
-
PostgreSQL的KPI
管数据库和管人差不多,都需要定KPI(关键性能指标)。那么数据库的KPI是什么?本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比,与负载类型和机器类型基本无关的指标,名曰 PG Load(PG负载)。 0x01 Introduction 在现实生产中,经常会有衡量数据库性能与负载,评估数据库水位的需求。一种最朴素的形式就是,能不能有一个类似于KPI的单一指标,能直接了当地告诉用户他心爱的数据库负载有没有超过警戒线?工作量到底饱和不饱和? 当然这里其实隐含着一个重要信息,即用 …
管数据库和管人差不多,都需要定KPI(关键性能指标)。那么数据库的KPI是什么?本文介绍了一种衡量PostgreSQL负载的方式:使用一种单一横向可比,与负载类型和机器类型基本无关的指标,名曰 PG Load(PG负载)。 0x01 Introduction 在现实生产中,经常会有衡量数据库性能与负载,评估数据库水位的需求。一种最朴素的形式就是,能不能有一个类似于KPI的单一指标,能直接了当地告诉用户他心爱的数据库负载有没有超过警戒线?工作量到底饱和不饱和? 当然这里其实隐含着一个重要信息,即用 …
-
PostgreSQL监控系统概览
PostgreSQL驾驶技巧 PostgreSQL是一个很棒的数据库,但也相当复杂。上手虽简单,但想要用好不容易,想要管理好就更麻烦了。监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具。用好一个监控系统,理解各种指标背后的意义并不是一件简单的事情,因此本司机决定写一系列文章,来介绍了PostgreSQL监控系统的设计,实施与使用。 0x01 PostgreSQL监控面板 为了帮助读者形成一种直觉,这里展示了在实际环境中,我所使用的监控面板。最为常用的监控面板为“单数据库实例”监控,并 …
PostgreSQL驾驶技巧 PostgreSQL是一个很棒的数据库,但也相当复杂。上手虽简单,但想要用好不容易,想要管理好就更麻烦了。监控系统是几乎所有运维工作的基础,更亦是驾驭数据库的必备工具。用好一个监控系统,理解各种指标背后的意义并不是一件简单的事情,因此本司机决定写一系列文章,来介绍了PostgreSQL监控系统的设计,实施与使用。 0x01 PostgreSQL监控面板 为了帮助读者形成一种直觉,这里展示了在实际环境中,我所使用的监控面板。最为常用的监控面板为“单数据库实例”监控,并 …
-
关系膨胀的监控与治理
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。关系(表与索引)膨胀会对数据库性能产生负面影响,并浪费磁盘空间。为了使PostgreSQL始终保持在最佳性能,有必要及时对膨胀的关系进行垃圾回收,并定期重建过度膨胀的关系。 在实际操作中,垃圾回收并没有那么简单,这里有一系列的问题: 关系膨胀的原因? 关系膨胀的度量? 关系膨胀的监控? 关系膨胀的处理? 本文将详细说明这些问题。 关系膨胀概述 假设某个关系实际占用存储100G,但其中有很 …
PostgreSQL使用了MVCC作为主要并发控制技术,它有很多好处,但也会带来一些其他的影响,例如关系膨胀。关系(表与索引)膨胀会对数据库性能产生负面影响,并浪费磁盘空间。为了使PostgreSQL始终保持在最佳性能,有必要及时对膨胀的关系进行垃圾回收,并定期重建过度膨胀的关系。 在实际操作中,垃圾回收并没有那么简单,这里有一系列的问题: 关系膨胀的原因? 关系膨胀的度量? 关系膨胀的监控? 关系膨胀的处理? 本文将详细说明这些问题。 关系膨胀概述 假设某个关系实际占用存储100G,但其中有很 …
-
监控PG中的表大小
表的空间布局 宽泛意义上的 表(Table),包含了 本体表 与 TOAST表 两个部分: 本体表,存储关系本身的数据,即狭义的关系,relkind='r'。 TOAST表,与本体表一一对应,存储过大的字段,relinkd='t'。 而每个表,又由 主体 与 索引 两个 关系(Relation) 组成(对本体表而言,可以没有索引关系) 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信 …
表的空间布局 宽泛意义上的 表(Table),包含了 本体表 与 TOAST表 两个部分: 本体表,存储关系本身的数据,即狭义的关系,relkind='r'。 TOAST表,与本体表一一对应,存储过大的字段,relinkd='t'。 而每个表,又由 主体 与 索引 两个 关系(Relation) 组成(对本体表而言,可以没有索引关系) 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信 …
-
PG服务器日志常规配置
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。 日志相关配置项 log_destination ='csvlog' logging_collector =on log_directory ='log' log_filename ='postgresql-%a.log' log_min_duration_statement =1000 log_checkpoints =on log_lock_waits =on log_statement …
建议配置PostgreSQL的日志格式为CSV,方便分析,而且可以直接导入PostgreSQL数据表中。 日志相关配置项 log_destination ='csvlog' logging_collector =on log_directory ='log' log_filename ='postgresql-%a.log' log_min_duration_statement =1000 log_checkpoints =on log_lock_waits =on log_statement …