健康监测

本文档介绍了图形化界面的集群健康监测功能。

YMatrix 数据库在支撑日常业务时会运行海量的 SQL 语句,可能会出现硬件问题如网络故障、事务并发引起的锁等待等,若不及时处理将导致客户端响应速度慢甚至直接报错,从而影响业务运转效率。为了更好的应对上述问题,图形化界面的健康监测功能可以协助你更快的发现数据库集群的异常表现。

健康监测会依据不同的检测项目,定期地检查相应的数据库系统表,检查诸如查询的运行状态是否符合业务预期,一旦发现不满足预期状态,我们会立刻发送一则通知,通知可以在图形化界面中查看,如果你认为总是看页面不方便的话,你也可以选择邮件通知的方式更加及时的收到告警信息。

1 使用准备

在浏览器里输入 MatrixGate 所在机器的 IP(默认是 Master 的 IP)、端口号,登陆图形化界面。

http://<IP>:8240

2 健康监测

成功登录之后进入健康监测页面。

2.1 邮箱配置

你可以根据需要自行选择是否配置邮箱,若完成邮箱配置,即可收到邮件通知。

  1. 图形化界面域名
    为了更加方便及时的查看告警事件的明细信息,我们会在邮件中增加跳转至图形化界面的链接,若邮件接收者无法通过默认域名访问,则须修改该字段内容。

  2. SMTP 服务器地址
    SMTP 服务器地址由 IP 地址以及端口号组成。示例:smtp.example.com:465。

常见的第三方邮箱服务器

  1. 阿里云邮箱服务地址说明
    个人版:先开启 SMTP 服务,参考文档。 SMTP 服务地址以及端口号,参考文档
    企业版:需要邮箱管理员确定开启 SMTP 服务,参考文档。SMTP 服务地址以及端口号,参考文档
  2. 谷歌邮箱服务地址说明:
    需先启用 IMAP 或者 POP 服务, 参考文档
  3. 网易邮箱服务地址说明:
    个人版:先开启 SMTP 服务,参考文档
    企业版:默认已开启 SMTP 服务,若需验证服务开启状态,参考文档。 SMTP 服务地址以及端口号,参考文档
  4. QQ 邮箱服务地址说明:
    个人版:先开启 SMTP 服务,参考文档。SMTP 服务地址以及端口号,参考文档
    企业版:开启 SMTP 服务操作步骤,参考文档。SMTP 服务地址以及端口号,参考文档

注意!
若邮箱服务是由企业自行搭建的,则需咨询邮箱管理员或邮箱服务供应商。

  1. 用户名
    用于在 SMTP 服务器上进行身份验证的账户。该字段选填,仅当 SMTP 服务器需要用户名进行身份验证时才需要。示例:ymatrix@example.com。

  2. 密码
    SMTP 用戶名的密码。该字段选填,仅当 SMTP 服务器需要用户名和密码进行身份验证时才需要。

  • 常见的第三方邮箱服务器
  1. 阿里云邮箱:
    使用邮箱登陆密码,即用户名邮箱对应的密码。
  2. 谷歌邮箱:
    使用邮箱登陆密码,即用户名邮箱对应的密码。
  3. 网易邮箱:
    个人版:需要使用授权码作为密码,参考文档
    企业版:默认使用邮箱登陆密码,如果管理员开启了客户端授权码功能,需自行咨询管理员如何获取授权码。
  4. QQ 邮箱:
    个人版:需要使用授权码作为密码,参考文档
    企业版:默认使用邮箱登陆密码,如果管理员开启了安全登录,则需要使用授权码,参考文档

注意!
若邮箱服务是由企业自行搭建的,则需咨询邮箱管理员或邮箱服务供应商。

  1. 发件人
    若使用第三方邮箱服务,则该字段应与“用户名”内容保持一致; 若使用自行搭建的邮箱服务,则填写发件邮箱即可。

  2. 收件人 填写收件人邮箱地址,可填写多个。

2.2 监测项目

列表即为目前 YMatrix 提供的监测项目,默认为启用状态,你可以根据需要启用。

若你认为检测项目的默认参数不符合业务场景,也可以自行修改。

序号 检测项目 说明
1 集群不可用 通过周期性执行查询 SELECT * FROM gp_dist_random('gp_id'); 来验证集群是否可用,若该查询连续三次失败,则大概率集群已宕机,可能为主 Segment、对应镜像 Segment 同时故障,网络故障,电源故障,硬件故障等
2 Segment 发生故障 存在 主 Segment 故障 会导致 对应镜像 Segment 服务器资源产生倾斜,镜像 Segment 的数据所在机器处理压力会增大,查询速度变慢,严重的话可能会引起倾斜节点的内存资源耗尽,造成集群不可用。
存在 镜像 Segment 故障 会导致集群高可用性降低,一旦对应的 主 Segment 故障,则会造成集群不可用
3 查询/事务耗时超过 12 小时 查询/事务若耗时过长,则可能会占用大量内存、CPU 等服务器资源,造成数据库服务响应速度变慢、系统触发 OOM(内存溢出)等;另外可能导致 VACUUM 进程延缓
4 事务处于 idle in transaction 状态超过1小时 事务处于 idle in transaction 状态时间较长,与该事务涉及的表的查询多数都将被阻塞,也会阻止 VACUUM 进程回收记录,造成表数据膨胀
5 单个查询/事务阻塞了其他超过 5 个查询,且持续超过 15 分钟 查询/事务阻塞了较多其他查询,且阻塞时间较长,容易导致其他语句之间互相阻塞,影响服务响应效率
6 申请了 Exclusive 或 AccessExclusive 锁的查询被阻塞超过15分钟 申请了表级 Exclusive 或 AccessExclusive 锁的查询被阻塞时间较长,可能导致查询阻塞堆积,影响服务响应效率
7 查询/事务持有 Exclusive 或 AccessExclusive 锁且耗时超过2小时 查询/事务持有表级 Exclusive 或 AccessExclusive 锁且耗时较长,将导致全部涉及被锁表的的查询均被阻塞,影响服务响应效率
8 持有了 Exclusive 或 AccessExclusive 锁的事务且处于 idle in transaction 状态超过 15 分钟 持有了 Exclusive 或 AccessExclusive 锁的事务且处于 idle in transaction 状态达到 15 分钟,与该事务涉及的表的查询多数都将被阻塞,影响服务响应效率

2.3 邮件通知

若你配置了邮箱,当发生满足检测项目故障条件的事件时,你会收到一封邮件。

2.4 事件历史

无论你是否配置邮箱,都可以在“事件历史”处查看集群发生的,满足检测项目故障条件的记录。