SAP HANA モニタリング エージェント ユーザーガイド

Google Cloud には、SAP HANA からカスタム指標を収集し、Google Cloud に組み込まれたモニタリング ソリューションである Cloud Monitoring に送信するカスタム モニタリング エージェントが備えられています。Cloud Monitoring を使用すると、SAP HANA の指標を可視化するダッシュボードを作成し、指標のしきい値に基づくアラートを設定できます。詳細については、Cloud Monitoring のドキュメントをご覧ください。

要件

このガイドは、SAP HANA デプロイガイドに記載されている方法を使用して、Google Cloud に SAP HANA をデプロイしたことを前提としています。

プロジェクトに対して Cloud Monitoring を設定する

SAP HANA に対して Google のモニタリング エージェントを使用するには、Google Cloud プロジェクトに接続する新しいワークスペースを設定する必要があります。新しいワークスペースを作成するには次の手順に従います。

  1. ブラウザで、Cloud Monitoring にアクセスします。

    Cloud Monitoring に移動

  2. [Add Workspace] をクリックします。

  3. [Create your free Workspace] ページで、[Google Cloud project] フィールドをクリックします。Google Cloud プロジェクトを含むプルダウン メニューが表示されます。

  4. メニューからプロジェクトを選択して [Create Account] をクリックします。

  5. [Add Google Cloud projects to monitor] ページで、[Continue] をクリックします。

  6. [Monitor AWS accounts] ページで、[Skip AWS Setup] をクリックします。

  7. [Install the Monitoring Agents] ページで、[Continue] をクリックします。

  8. [Get Reports by Email] ページで [No reports] を選択し、[Continue] をクリックします。

  9. 「Finished initial collection!」というメッセージが表示されたら、[Launch monitoring] をクリックしてワークスペース ダッシュボードに移動します。

  10. [Continue with the trial] をクリックして、セットアップを終了します。

これで、Google Cloud プロジェクトをモニタリングするワークスペースができました。このモニタリング エージェントで、Monitoring に指標を送信できるようになります。

必要な IAM 役割を設定する

デフォルトでは、モニタリング エージェントは Compute Engine 仮想マシン(VM)インスタンスのデフォルトのサービス アカウントを使用します。このサービス アカウントにより、VM インスタンス上で実行されるバイナリが Monitoring に指標を書き込むことができます。

別のサービス アカウントを使用することを選択した場合は、そのサービス アカウントにこれらの権限を付与する IAM ロールを手動で追加する必要があります。

サービス アカウントに必要な IAM ロールを追加するには、次の手順に従います。

  1. Cloud Console の [IAM と管理] ページに移動します。

    [IAM と管理] ページに移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. ロールを追加するサービス アカウントを特定します。

    • サービス アカウントがまだメンバーリストに含まれていない場合、サービス アカウントには何もロールが割り当てられていません。[メンバーを追加] をクリックし、サービス アカウントのメールアドレスを入力します。
    • サービス アカウントがすでにメンバーリストに含まれている場合、サービス アカウントには既存のロールが割り当てられています。編集するサービス アカウントの現在のロールのプルダウン リストをクリックします。
  4. 使用可能なロールのリストから、[モニタリング] > [モニタリング指標の書き込み] の順に選択します。

  5. [追加] または [保存] をクリックして、サービス アカウントにロールを適用します。

エージェントのインストール

デプロイする場所の選択

モニタリング エージェントは、SAP HANA インストール内の 1 つ以上のノードで直接実行することも、別の VM インスタンス上のサービスとして間接的に実行することもできます。デプロイする場所は、ユースケースに基づいて選択します。

エージェントのダウンロードとインストール

エージェントをダウンロードしてインストールするには、次の手順に従います。

  1. SAP HANA VM インスタンスとの SSH 接続を確立します。
  2. インストール スクリプトをダウンロードして実行します。

    curl https://storage.googleapis.com/gcm-ext/gcm_install.sh | bash -x
        

上記のコマンドを実行すると、インストール スクリプトによって、次のオペレーションが実行されます。

  1. 次のディレクトリを作成します。

    • /usr/local/lib/gcm。エージェントのバイナリが含まれます。
    • /etc/gcm.d。エージェントによって実行されるようにするクエリが含まれます。
    • /var/spool/gcm。エージェントによって最近収集された指標が含まれます。エージェントは、最終的に、これらの指標を Cloud Monitoring に送信します。
  2. エージェントの最新のリリースをダウンロードし、/usr/local/lib/gcm/ に保存します。

  3. バイナリへのシンボリック リンクを /usr/local/bin/gcm に作成します。

  4. 基本構成テンプレート /etc/default/gcm を作成します。

  5. デーモン構成ファイル /etc/systemd/system/gcm.service を作成します。

  6. systemd サービス定義を再読み込みします。

  7. モニタリング エージェントをデーモンとして有効にします。

エージェントの構成

インストール スクリプトを実行した後、エージェントによるモニタリングの対象となる VM インスタンスと、必要に応じて、エージェントによってデータベースで実行されるクエリを構成します。

構成ファイルの定義

インストール スクリプトを実行すると、次の場所に構成テンプレート ファイルが作成されました。

/etc/default/gcm
    

構成ファイルを使用して、1 つ以上の VM インスタンスで SAP HANA をクエリするようにエージェントを構成できます。モニタリング対象の各 VM インスタンスに対して、次のことを行います。

  1. instances の下にある構成ファイルの VM インスタンス定義を追加します。インスタンスごとに、名前、ホスト、ポート、ユーザー、パスワードを定義します。
  2. エージェントがその VM インスタンスから指標を収集できるようにするには、enabled_instances の下に該当する VM インスタンス名を追加します。

次の形式を使用して、構成内の属性を定義します。

---
    config:
      timestamps_in_output: no
      debug_messages: yes
      skip_default_queries: yes
      queries_directory: /etc/gcm.d
      spool_directory: /var/spool/gcm
      enabled_instances:
        - [INSTANCE_NAME]
        - [INSTANCE_NAME_2]
      project_id: [PROJECT_ID]
      instances:
        - name: [INSTANCE_NAME]
          host: [INSTANCE_IP]
          port: [PORT_NUMBER]
          user: [DB_USERNAME]
          password: [YOUR_PASSWORD]
          type: [INSTANCE_TYPE]
        - name: [INSTANCE_NAME_2]
          host: [INSTANCE_IP_2]
          ...
    

構成ファイルには次の属性が必要です。

  • [PROJECT_ID]: モニタリング対象の VM インスタンスを含む Google Cloud プロジェクトの ID。プロジェクト ID を 1 つだけ指定してください。
  • [INSTANCE_NAME]: モニタリング対象の Compute Engine VM インスタンスの名前。
  • [INSTANCE_IP]: モニタリング対象の Compute Engine VM インスタンスの内部または外部 IP。可能な場合は内部 IP を使用することをおすすめします。これは、外部 IP よりも設定が少なく、デフォルトで非公開となり、安全であるためです。
  • [DB_USERNAME]: 使用する SAP HANA データベース ユーザー。
  • [PORT_NUMBER]: SAP HANA データベースのポート番号。通常、ポート番号は、SAP HANA Express の場合は 39015、SAP HANA Platform Edition の場合は 30015 になります。
  • [YOUR_PASSWORD]: データベース ユーザーのユーザー パスワード。
  • [INSTANCE_TYPE]: このフィールドには sap_hana と入力します。

オプションで、以下のフラグを使用してエージェントを構成できます。これらのパラメータ フラグは config 項目の前に設定する必要があります。

  • timestamps_in_output(ブール値)エージェントを systemd の下でデーモンとして実行する場合は、systemd によってタイムスタンプが提供されるため、これを no として設定します。デフォルト値は no
  • debug_messages(ブール値): 設定すると、デバッグ メッセージが表示されます。デフォルト値は yes
  • skip_default_queries(ブール値): デフォルトの一連のクエリをスキップします。ユーザー定義のクエリには影響しません。デフォルト値は no
  • queries_directory(文字列): ユーザー定義のクエリを探すディレクトリ。デフォルト値は /etc/gcm.d
  • spool_directory(文字列): スプールされた指標を収集するディレクトリ。デフォルト値は /var/spool/gcm

カスタムクエリの定義

デフォルトでは、エージェントは SAP HANA データベースからデフォルトの一連の指標を収集します。これらの指標の説明、および指標を生成するクエリについては、SAP HANA のデフォルト指標を参照してください。

次のディレクトリにカスタム YAML ファイルを 1 つ以上作成してクエリを追加できます。

/etc/gcm.d
    

次に、クエリファイルの例を示します。

- root: by_component
      type: sap_hana
      description: |
          Amount of memory (in MiB) used by service components
      query: |
        SELECT
                 HOST AS "host",
                 COMPONENT AS "component",
                 SUM(USED_MEMORY_SIZE)/1024/1024 AS "mem_used_mb"
            FROM M_SERVICE_COMPONENT_MEMORY
        GROUP BY HOST, COMPONENT;
      columns:
        - type: LABEL
          value_type: STRING
          name: host
        - type: LABEL
          value_type: STRING
          name: component
        - type: GAUGE
          description: Amount of memory (in MiB) used by the service component
          value_type: DOUBLE
          name: mem_used_mb

各 YAML ファイルは、特定の SQL クエリの結果を SAP HANA データベースの指標として表現した 1 つ以上の項目で構成されます。各項目には次の属性があります。

  • root: 特定の指標グループに対する説明的な名前空間。
  • query: SQL クエリ。
  • columns: クエリの各フィールドのデータ型、値のタイプ、列名。

    • type: データが Monitoring にどのように報告されるかを記述します。typeLABELGAUGE, に設定できます。前者の場合は、そのタイプが列見出しであることが示されます。後者は、Monitoring API の MetricKind enum で定義される指標タイプの 1 つです。現在、GAUGE はエージェントがサポートしている唯一の指標タイプです。
    • value_type: 指標の値のタイプ。このパラメータの値は、Monitoring API の ValueType enum で定義されている任意の値のタイプのものにすることができます。
    • name: 列の名前。

SAP HANA でクエリに使用できるシステムビューの完全なリストについては、SAP HANA SQL and System Views Reference をご覧ください。

基本オペレーションの実行

このセクションでは、SAP HANA モニタリング エージェントを使用して基本オペレーションを実行する方法について説明します。構成可能なオプションの完全なリストは、gcm --help を実行すると参照できます。

モニタリング エージェント デーモンの使用

インストール スクリプトを実行すると、エージェントに対する systemd ユニット ファイルが作成され、標準の systemctl コマンドを使用してエージェントを管理できるようになります。次のコマンドによって、エージェントのステータスが、それぞれ start、stop、poll になります。

sudo systemctl start gcm
    sudo systemctl stop gcm
    sudo systemctl status gcm
    

systemctl によって生成されたログを読み取るには、次のコマンドを使用して、systemd ジャーナルの内容をクエリします。

sudo journalctl -u gcm
    

ログに記録された最後の数行を表示するには、-f フラグを追加します。これは tail -f へのパイプのように機能します。

sudo journalctl -u gcm -f
    

デフォルト クエリの抑制

デフォルトでは、定義したカスタムクエリに加えて、デフォルトのクエリがエージェントによって実行されます。デフォルトの一連のクエリを無効にするには、構成ファイルで skip_default_queries フラグを yes に設定するか、手動でツールを実行するときに --no-defaults フラグを設定します。詳細については、構成ファイルの定義をご覧ください。

指標を手動で収集して送信する

エージェントが期待どおりに機能することを確認するには、手動でコマンドを実行してクエリを実行し、結果の指標を収集して Cloud Monitoring に送信できます。クエリを実行し、結果の指標を 1 回だけ収集するには、次のコマンドを実行します。

sudo gcm gather
    

クエリを実行したとき、エージェントによって収集された指標を送信するには、次のコマンドを実行します。

sudo gcm send
    

Cloud Monitoring での指標の表示

Cloud Monitoring が収集した指標を自分のグラフやダッシュボードに表示するには、次のようにします。

  1. Cloud Console で [Monitoring] ページに移動します。

    [モニタリング] に移動

  2. [ダッシュボード] > [ダッシュボードを作成] を選択します。

  3. [グラフを追加] をクリックします。

  4. [Resource Type] メニューで、[Custom Metrics] を選択します。

  5. [指標] メニューで、by_component/mem_used_mb を選択します。他のフィールドはデフォルト値のままにします。パネルの [プレビュー] セクションにグラフのデータが表示されます。

  6. [保存] をクリックします。

これで、SAP HANA VM インスタンスからのライブ指標がシンプルなダッシュボードに表示されます。

トラブルシューティング

デフォルトのクエリが失敗します

SAP HANA データベース ユーザーが、次の SAP HANA システムビューにアクセスできることをご確認ください。

  • M_CS_ALL_COLUMNS
  • M_CS_TABLES
  • M_EXPENSIVE_STATEMENTS
  • M_HOST_RESOURCE_UTILIZATION
  • M_SERVICE_COMPONENT_MEMORY
  • M_SERVICE_MEMORY

指標が Cloud Monitoring に送信されません

Cloud Monitoring に指標を書き込む権限が、Google Cloud サービス アカウントにあることを確認してください。詳細については、必要な IAM ロールを設定するをご覧ください。

サポート

Google Cloud のインフラストラクチャやサービスに関する問題については、Google Cloud サポートにお問い合わせください。連絡先は、Google Cloud Console のサポートの概要ページで確認できます。Google Cloud サポートが SAP システムに問題があると判断した場合は、SAP サポートをご案内します。

SAP プロダクト関連の問題については、SAP サポートでサポート リクエストを送信してください。SAP はサポート チケットを評価し、Google Cloud インフラストラクチャの問題と判断した場合は、そのチケットを Google Cloud コンポーネントの BC-OP-LNX-GOOGLE または BC-OP-NT-GOOGLE に転送します。

サポート要件

SAP システムと、そのシステムが使用する Google Cloud のインフラストラクチャとサービスのサポートを受けるには、サポートプランの最小限の要件を満たす必要があります。

Google Cloud での SAP に関する最小限のサポート要件について詳しくは、以下をご覧ください。

次のステップ