Google Cloud で SAP システムをモニタリングするには、Cloud Monitoring のアラート ポリシーを設定します。このポリシーは、構成ミスやリソース障害が発生した場合に SAP 管理者に通知します。
このドキュメントでは、一般的な HA の問題と、それらの問題に対するアラート ポリシーを作成する方法、また独自のカスタム アラートを作成するための参照としてアラートの例を使用する方法について説明します。このドキュメントで説明するアラートの例では、Monitoring Query Language(MQL)を使用して、Google Cloud の Agent for SAP によって生成された指標をクエリします。デフォルトでは、これらのアラートは特定の Google Cloud プロジェクト内のすべての SAP システムに適用されますが、アラートをカスタマイズして必要な SID をフィルタすることや、経過時間を調整してアラートをトリガーすることができます。
Cloud Monitoring アラートの動作については、アラートの概要をご覧ください。
始める前に
Monitoring アラート ポリシーの一般的なコンセプトに精通していることを確認してください。アラート ポリシーに関する説明は、アラートの概要をご覧ください。
モニタリングする SAP システムをホストする各インスタンスで、Google Cloud の SAP 用エージェントがインストールされ、Process Monitoring 指標を収集するように構成されていることを確認します。
-
Google Cloud コンソールを使用してアラート ポリシーを作成および変更するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
-
すべて:
モニタリング編集者(
roles/monitoring.editor
)
ロールの付与の詳細については、アクセス権の管理をご覧ください。
-
すべて:
モニタリング編集者(
アラートを受信するには、必要な通知チャネルを作成します。冗長性を確保するために、複数の通知チャネルを作成することをおすすめします。詳細については、通知チャンネルを作成して管理するをご覧ください。
事前定義のアラート ポリシーをインポートする
Google Cloud には、一般的な HA の問題をインポートしてアラートを設定できる事前定義のアラート ポリシーが用意されています。詳しくは、以下のセクションをご覧ください。
ロケーションの制約検出のためのアラートをインポートする
クラスタ コマンドを使用して Pacemaker クラスタ内のリソースを手動で移動すると、そのリソースに制約が追加されるか、クライアントの設定が特定のノードを優先するように設定されます。このような状況では、システム停止時にリソースのフェイルオーバーが妨げられる可能性があります。詳細については、ClusterLabs ドキュメントの 1 つのリソースの移動をご覧ください。
Google Cloud で実行されている SAP HA システムでこのような状況が発生した場合に通知を受け取るには、事前定義されたアラート ポリシー Pacemaker: Location constraint detected をインポートします。
このアラート ポリシーは、優先度ベースの制約が検出されると通知し、SAP 管理者に SAP の高可用性構成のトラブルシューティングガイドの「特定のノードを優先する意図しないノード アフィニティ」セクションを参照するよう指示します。このポリシーでは、Google Cloud の SAP 用エージェントによって収集される Process Monitoring の指標 workload.googleapis.com/sap/validation/pacemaker
を使用します。
Google Cloud コンソールを使用してこのアラート ポリシーを Google Cloud プロジェクトにインポートするには、次の手順を行います。
-
Google Cloud コンソールで [統合] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
Google Cloud Agent for SAP
でフィルタし、[詳細を表示] をクリックします。- [アラート] タブに移動します。
- Pacemaker: Location constraint detected を選択して、[オプションを表示] > [アラート ポリシーをカスタマイズ] をクリックします。
- (省略可)Google Cloud プロジェクト内のすべての SAP システムではなく、特定の SAP システムに対してアラートを構成するには、クエリ エディタで
filter
ステートメントを次のように更新します。#
文字を削除します。- 必要な SID を指定します。複数の SID を指定するには、
|
文字を使用して SID を区切ります。このようなフィルタ ステートメントの例を次に示します。| filter (metric.sid =~ 'ABC|XYZ|HDB')
この例では、
ABC
、XYZ
、HDB
が SID です。
- (省略可)アラートをトリガーするまでの経過時間をカスタマイズするには、クエリ エディタで
window
ステートメントを更新して、任意の測定単位を指定します。- たとえば、制限時間を 3 分に設定するには、次のように設定します。
| window 3m
- たとえば、制限時間を 3 分に設定するには、次のように設定します。
- [アラートの詳細] で、[通知と名前] タブに移動します。
- 必要な通知チャンネルを選択します。
- アラートを確認して [ポリシーを作成] をクリックします。
リソース障害検出のアラートをインポートする
HA システムで、実行中のリソース エージェントが失敗した場合、Pacemaker はエージェントの停止と再起動を試みます。なんらかの理由で再起動オペレーションが失敗した場合、Pacemaker は、そのリソース エージェントの failcount
値を INFINITY
に設定します(start-failure-is-fatal
がデフォルトの true
に設定されている場合)。その後、別のノードでエージェントを起動しようとします。すべてのノードでリソース エージェントが起動に失敗した場合、リソース エージェントは Stopped
ステータスのままになります。このリソース エージェントを動作状態に戻すには、SAP 管理者がリソース エージェントの失敗回数を手動でクリアする必要があります。Pacemaker の failcount 動作の詳細については、ClusterLabs のドキュメントをご覧ください。
Google Cloud で実行されている SAP HA システムでこのような状況が発生した場合に通知を受け取るには、事前定義されたアラート ポリシー Pacemaker: Resource failed to start をインポートします。
このアラート ポリシーは、リソース エージェントの起動に失敗し、ステータスが Stopped
のまま 3 分以上経過したときに通知します。このポリシーでは、SAP 管理者に SAP の高可用性構成のトラブルシューティングガイドの「リソース エージェントが停止している」セクションを参照するよう指示します。このポリシーでは、Google Cloud の SAP 用エージェントによって収集される Process Monitoring の指標 workload.googleapis.com/sap/cluster/failcounts
を使用します。
Google Cloud コンソールを使用してこのアラート ポリシーを Google Cloud プロジェクトにインポートするには、次の手順を行います。
-
Google Cloud コンソールで [統合] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
Google Cloud Agent for SAP
でフィルタし、[詳細を表示] をクリックします。- [アラート] タブに移動します。
- Pacemaker: Resource failed to start を選択して、[オプションを表示] > [アラート ポリシーをカスタマイズ] をクリックします。
- (省略可)Google Cloud プロジェクト内のすべての SAP システムではなく、特定の SAP システムに対してアラートを構成するには、クエリ エディタで
filter
ステートメントを次のように更新します。#
文字を削除します。- 必要な SID を指定します。複数の SID を指定するには、
|
文字を使用して SID を区切ります。このようなフィルタ ステートメントの例を次に示します。| filter (metric.sid =~ 'ABC|XYZ|HDB')
この例では、
ABC
、XYZ
、HDB
が SID です。
- (省略可)アラートをトリガーするまでの経過時間をカスタマイズするには、クエリ エディタで
window
ステートメントを更新して、任意の測定単位を指定します。- たとえば、制限時間を 3 分に設定するには、次のように設定します。
| window 3m
- たとえば、制限時間を 3 分に設定するには、次のように設定します。
- [アラートの詳細] で、[通知と名前] タブに移動します。
- 必要な通知チャンネルを選択します。
- アラートを確認して [ポリシーを作成] をクリックします。
カスタム アラート ポリシーを作成する
事前定義のアラート ポリシーをインポートするだけでなく、更新して要件に合ったカスタム ポリシーを作成することもできます。これには、Google Cloud コンソール、Cloud Monitoring API、Google Cloud CLI、Terraform を使用できます。
まず、アラート ポリシー例の概要と、このドキュメントで説明する事前構成済みアラート ポリシーを確認することをおすすめします。
アラート ポリシーの管理または変更の方法については、アラート ポリシーを管理するをご覧ください。