为 SAP on Google Cloud 创建基于指标的提醒政策

如需监控 Google Cloud 上的 SAP 系统,您可以设置 Cloud Monitoring 提醒政策,以向 SAP 管理员通知潜在的错误配置或资源故障。

本文档介绍了一些常见的高可用性问题,并展示了如何针对这些问题创建提醒政策,或者使用示例提醒作为参考来创建您自己的自定义提醒。本文档中介绍的示例提醒使用 Monitoring Query Language (MQL) 来查询 Google Cloud 的 Agent for SAP 生成的指标。虽然默认情况下这些提醒适用于给定 Google Cloud 项目中的所有 SAP 系统,但您可以自定义提醒以过滤所需的 SID 或调整触发提醒所用的时间。

如需了解 Cloud Monitoring 提醒的工作原理,请参阅提醒概览

准备工作

  • 确保您熟悉 Monitoring 提醒政策的一般概念。如需了解提醒政策,请参阅提醒概览

  • 在托管您要监控的 SAP 系统的每个实例上,确保安装了 Google Cloud 的 Agent for SAP 并配置为收集 Process Monitoring 指标

  • 如需获得使用 Google Cloud 控制台创建和修改提醒政策所需的权限,请让管理员向您授予项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  • 如需接收提醒,请创建所需的通知渠道。为实现冗余,我们建议您创建多个通知渠道。如需了解详情,请参阅创建和管理通知渠道

导入预定义的提醒政策

Google Cloud 提供了预定义的提醒政策,您可以导入这些提醒政策并设置针对一些常见高可用性问题的提醒。如需了解详情,请参阅以下部分:

导入用于位置限制条件检测的提醒

当您使用集群命令手动移动 Pacemaker 集群中的资源时,该资源会获得限制条件,或者客户端偏好设置会设置为优先考虑特定节点。这种情况可能会妨碍资源在系统服务中断时进行故障切换。如需了解详情,请参阅 ClusterLabs 文档的移动一个资源部分。

如需在 Google Cloud 上运行的 SAP 高可用性系统中接收有关这种情况的通知,您可以导入预定义的提醒政策 Pacemaker: Location constraint detected

此提醒政策会在检测到基于偏好设置的限制条件时发出通知,并让您的 SAP 管理员参阅排查 SAP 高可用性配置问题指南的“优先考虑特定节点的意外节点亲和性”部分。此政策使用由 Google Cloud 的 Agent for SAP 收集的 Process Monitoring 指标 workload.googleapis.com/sap/validation/pacemaker

如需使用 Google Cloud 控制台在 Google Cloud 项目中导入此提醒政策,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 集成页面:

    前往集成

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 过滤 Google Cloud Agent for SAP,然后点击查看详细信息
  3. 打开提醒标签页。
  4. 选择 Pacemaker: Location constraint detected,然后点击显示选项 > 自定义提醒政策
  5. (可选)如需为一个或多个特定 SAP 系统(而不是 Google Cloud 项目中的所有 SAP 系统)配置提醒,请在查询编辑器中更新 filter 语句,如下所示:
    1. 移除 # 字符。
    2. 指定所需的 SID。如需指定多个 SID,请使用 | 字符分隔 SID。以下示例展示了此类过滤条件语句:
      | filter (metric.sid =~ 'ABC|XYZ|HDB')

      在此示例中,ABCXYZHDB 是 SID。

  6. (可选)如需自定义触发提醒前的所用时间,请在查询编辑器中更新 window 语句以指定您偏好的计量单位
    1. 例如,如需将时间限制设置为 3 分钟,请设置:
      | window 3m
  7. 提醒详情下,打开通知和名称标签页。
  8. 选择所需的通知渠道。
  9. 查看提醒并点击创建政策

导入用于资源故障检测的提醒

在高可用性系统中,如果正在运行的资源代理发生故障,则 Pacemaker 会尝试停止并重启该代理。如果重启操作因任何原因失败,则 Pacemaker 会将该资源代理的 failcount 值设置为 INFINITY(如果 start-failure-is-fatal 设置为默认值 true),然后尝试在其他节点上启动代理。如果该资源代理在所有节点上都无法启动,它将保持 Stopped 状态。如需将此资源代理恢复为运行状态,SAP 管理员必须手动清除资源代理的 failcount。如需详细了解 Pacemaker 的 failcount 行为,请参阅 ClusterLabs 文档

如需在 Google Cloud 上运行的 SAP 高可用性系统中接收有关这种情况的通知,您可以导入预定义的提醒政策 Pacemaker: Resource failed to start

当资源代理启动失败且保持 Stopped 状态超过 3 分钟时,此提醒政策会发出通知。此政策会让您的 SAP 管理员参阅排查 SAP 高可用性配置问题指南中的“资源代理停止”部分。此政策使用由 Google Cloud 的 Agent for SAP 收集的 Process Monitoring 指标 workload.googleapis.com/sap/cluster/failcounts

如需使用 Google Cloud 控制台在 Google Cloud 项目中导入此提醒政策,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 集成页面:

    前往集成

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 过滤 Google Cloud Agent for SAP,然后点击查看详细信息
  3. 打开提醒标签页。
  4. 选择 Pacemaker: Resource failed to start,然后点击显示选项 > 自定义提醒政策
  5. (可选)如需为一个或多个特定 SAP 系统(而不是 Google Cloud 项目中的所有 SAP 系统)配置提醒,请在查询编辑器中更新 filter 语句,如下所示:
    1. 移除 # 字符。
    2. 指定所需的 SID。如需指定多个 SID,请使用 | 字符分隔 SID。以下示例展示了此类过滤条件语句:
      | filter (metric.sid =~ 'ABC|XYZ|HDB')

      在此示例中,ABCXYZHDB 是 SID。

  6. (可选)如需自定义触发提醒前的所用时间,请在查询编辑器中更新 window 语句以指定您偏好的计量单位
    1. 例如,如需将时间限制设置为 3 分钟,请设置:
      | window 3m
  7. 提醒详情下,打开通知和名称标签页。
  8. 选择所需的通知渠道。
  9. 查看提醒并点击创建政策

创建自定义提醒政策

除了导入预定义的提醒政策之外,您还可以更新这些政策以创建符合您要求的自定义政策。为此,您可以使用 Google Cloud 控制台Cloud Monitoring APIGoogle Cloud CLITerraform

我们建议您首先查看示例提醒政策摘要以及本文档中介绍的预配置提醒政策。

如需了解如何管理或修改提醒政策,请参阅管理提醒政策