コンテンツに移動
Google Cloud での SAP

Cloud Logging で Pacemaker イベントを分析する

2022年4月13日
Google Cloud Japan Team

※この投稿は米国時間 2022 年 4 月 5 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud に SAP をデプロイするお客様の多くは、最も重要なシステムをサポートする高可用性を確保するために Pacemaker を活用しています。今回は、Cloud Logging を使用して Pacemaker クラスタの根本原因分析を簡単に実施する方法を紹介します。

Google Cloud Platform で複数の Pacemaker クラスタが動作している場合、ログの保存場所を 1 か所にまとめることで、Pacemaker ログを保存し、フェンシングやリソース フェイルオーバーのような Pacemaker イベントを分析するのが容易になります。

Ops エージェントは、Compute Engine インスタンスからテレメトリーを収集する主要エージェントです。ロギングと指標を単一のエージェントに統合した Ops エージェントは、ログには高スループット ロギングをサポートする Fluent Bit を、指標には OpenTelemetry Collector を使用します。

エージェントをインストールする

単一の VM に Ops エージェントをインストールするには、コマンドラインまたは Google Cloud Console を使用します。手順はこちらのガイドで説明されています。エージェントを複数の VM にインストールするには、gcloud または自動化ツールを使用します。VM に以前の Cloud Logging エージェントまたは Cloud Monitoring エージェントがインストールされていないことを事前にご確認ください。

エージェントを構成する

デフォルトで、Ops エージェントの組み込み構成は、ファイルベースの syslog ログを収集します。SAPHana などの Pacemaker リソース エージェントは、SAP 認定の OS である SUSE と RedHat ではシステムログ /var/log/messages にログを書き込みます。

以下の構成要素をユーザー構成ファイル /etc/google-cloud-ops-agent/config.yaml に追加し、Pacemaker ログを Cloud Logging にストリーミングします。以下で定義するパスは、SUSE と RedHat で Pacemaker がログを書き込むデフォルトのログファイルをすべてカバーしています。

pacemaker-log は、Cloud Logging にストリーミングされるログエントリの logName「projects/[PROJECT_ID]/logs/pacemaker-log」を定義するレシーバー ID です。

注: logging セクションで定義された既存の構成がある場合は、太字部分のみを追加してください。

読み込んでいます...

エージェントを再起動する

エージェントを再起動して、ユーザー指定の構成を適用します。

読み込んでいます...

エージェントを検証する

ロギング モジュールのログで検証します。

/var/log/google-cloud-ops-agent/subagents/logging-module.log で Pacemaker ログが有効になっていることを確認します。次のような、Pacemaker ログをリストするエントリが表示されます。問題が発生した場合は、トラブルシューティング ガイドをご覧ください。

読み込んでいます...

Cloud Logging を検証する

Cloud Logging のログ エクスプローラで次のログフィルタを使用して(PROJECT_ID は置き換えます)、Pacemaker ログがストリーミングされていることを確認します。

読み込んでいます...

これで、Cloud Logging のログ エクスプローラを使用して Pacemaker イベントを分析できるようになりました。以下のサンプル ログフィルタは、Pacemaker の重要なアクションとイベントをフィルタするために役立ちます。INSTANCE_ID_NODE1 / 2 は、2 つあるクラスタノードの実際のインスタンス ID に置き換えてください。フィルタは次のものをキャプチャします。

  • クラスタノード、クラスタ リソースのアクション(開始、停止、昇格など)

  • 失敗したリソース オペレーション(開始、停止、昇格など)

  • フェンシングのアクション、理由(クラスタノードの消失、リソース障害など)、結果

  • Corosync 通信エラー

  • クラスタ メンバーシップの変更、メンバーの参加または脱退

読み込んでいます...

これで、すべてのクラスタの Pacemaker ログが Cloud Logging に保存され、どのクラスタで発生した Pacemaker イベントも一元的に分析できるようになりました。Google Cloud カスタマーケア チームによるサポートがさらに必要な場合に、ログを収集してサポート エージェントに転送する労力と時間を節約できます。

Pacemaker クラスタをモニタリングしてアラートを受け取るには、SAP システム内のイベントを確実に把握するには: Pacemaker アラートの活用方法というブログ記事をご覧ください。

- シニア テクニカル ソリューション エンジニア Cherry Legler

投稿先