Greenplum的日常监控

0    72    1

Tags:

👉 本文共约22464个字,系统预计阅读时间或需85分钟。

简介

可以用系统中包含的各种工具以及附加组件来监控一个Greenplum数据库系统。

观察Greenplum数据库系统日常的性能有助于管理员理解系统的行为、计划工作流以及故障排查问题。 本章讨论用于监控数据库性能和活动的工具。

另外,记得回顾Recommended Monitoring and Maintenance Tasks中编写脚本 监控活动来快速检测系统中问题的有关内容。

Greenplum数据库提供了一些对监控系统非常有用的工具。

gp_toolkit模式包含多个可以用SQL命令访问的视图,通过它们可以查询系统目录、日志 文件以及操作环境来获得系统状态信息。

gp_stats_missing视图展示没有统计信息且要求运行ANALYZE的表。

监控数据库活动和性能

Greenplum数据库包含一个可选的系统监控和管理数据库gpperfmon,管理员可以 选择启用它。gpperfmon_install命令行工具创建gpperfmon 数据库并启用数据收集代理来存储查询和系统矩阵信息到该数据库。管理员可以查询gpperfmon 数据库中的矩阵信息。更多gpperfmon的信息,请见Greenplum Database Reference Guide。

监控系统状态

作为一个Greenplum数据库管理员,必须监控系统的问题事件,例如一个Segment宕机或者一台Segment主机磁盘 空间耗尽。下面的主题描述如何监控一个Greenplum数据库系统的健康状况以及检查一个Greenplum数据库系统的 特定状态信息。

检查系统状态

一个Greenplum数据库系统由横跨多台机器的多个PostgreSQL实例(Master和Segment)构成。要监控一个 Greenplum数据库系统,需要了解整个系统的信息以及个体实例的状态信息。gpstate 工具提供有关一个Greenplum数据库系统的状态信息。

查看Master和Segment的状态及配置

默认的gpstate行为是检查Segment实例并且显示可用和失效Segment的一个简短状态。 例如,要快速查看Greenplum数据库系统的状态:

要查看Greenplum数据库阵列配置更详细的信息,使用带有-s选项的gpstate:

查看镜像配置和状态

如果在使用镜像作为数据冗余,用户可能想要看看系统中的镜像Segment实例列表、它们当前的同步状态以及 镜像和主Segment之间的映射。例如,要查看一个系统中的镜像Segment和它们的状态:5

要查看主Segment到镜像Segment的映射:

要查看后备Master镜像的状态:

检查磁盘空间使用

一个数据库管理员最重要的监控任务是确保Master和Segment数据目录所在的文件系统的使用率不会超过 70%的。完全占满的数据磁盘不会导致数据损坏,但是可能会妨碍数据库的正常操作。如果磁盘占用得太满, 可能会导致数据库服务器关闭。

可以使用gp_toolkit管理模式中的gp_disk_free外部表 来检查Segment主机文件系统中的剩余空闲空间(以KB为计量单位)。例如:

检查分布式数据库和表的大小

gp_toolkit管理模式包含几个可以用来判断Greenplum数据库的分布式数据库、 模式、表或索引磁盘空间使用的视图。

用于检查数据库对象尺寸和磁盘空间的视图列表,请见Greenplum Database Reference Guide.

查看一个数据库的磁盘空间使用情况

要查看一个数据库的总大小(以字节计),使用gp_toolkit管理模式中的gp_size_of_database 视图。例如:

查看一个表的磁盘空间使用情况

gp_toolkit管理模式包含几个检查表大小的视图。表大小视图根据对象ID (而不是名称)列出表。要根据一个表的名称检查其尺寸,必须在pg_class表中查找关系名称 (relname)。例如:

可用的表大小视图的列表请见Greenplum Database Reference Guide.

查看索引的磁盘空间使用情况

gp_toolkit管理模式包含几个用于检查索引大小的视图。要查看一个表上所有索引的总大小,使用 gp_size_of_all_table_indexes视图。要查看一个特定索引的大小,使用gp_size_of_index视图。 该索引大小视图根据对象ID(而不是名称)列出表和索引。要根据一个索引的名称查看其尺寸,必须在pg_class 表中查找关系名称(relname)。例如:

检查数据分布倾斜

Greenplum数据库中所有的表都是分布式的,意味着它们的数据被按规则划分到系统中的所有Segment上。 不均匀分布的数据可能会削弱查询处理性能。一个表的分布策略在表创建时被确定。有关选择表分布策略的信息, 请见下列主题:

gp_toolkit管理模式还包含一些用于检查表上数据分布倾斜的视图。有关如何检查非均匀数据分布的信息, 请见Greenplum Database Reference Guide.

查看一个表的分布键

要查看一个表中被用作数据分布键的列,可以使用psql中的\d+ 元命令来检查表的定义。例如:

当我们创建复制表时,Greenplum数据库会在每个Segment上都存储一份完整的表数据。复制表没有分布键。 \d+元命令会展示分布表的分布键,复制表展示状态为Distributed Replicated。

查看数据分布

要查看一个表中行的数据分布(每个Segment上的行数),可以运行一个这样的查询:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
Greenplum的日常监控后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部