SAP HANA モニタリング指標の収集を構成する

このガイドでは、SAP HANA システムから SAP HANA モニタリング指標を収集するように Google Cloud の SAP 用エージェントを構成する方法について説明します。

この機能の詳細については、Google Cloud の SAP 用エージェントを使用した SAP HANA のモニタリングをご覧ください。

始める前に

IAM のロールを設定する

Google Cloud の SAP 用エージェントが SAP HANA モニタリング指標を収集できるようにするには、Compute Engine VM インスタンスまたは Bare Metal Solution サーバーが使用するサービス アカウントに次のロールが含まれている必要があります。

これらの必要なロールをサービス アカウントに追加する手順は次のとおりです。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

  2. Google Cloud プロジェクトを選択します。

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

    • サービス アカウントがまだプリンシパル リストに含まれていない場合、サービス アカウントには何もロールが割り当てられていません。[追加] をクリックし、サービス アカウントのメールアドレスを入力します。
    • このサービス アカウントがすでにプリンシパル リストに含まれている場合、サービス アカウントには既存のロールがあります。編集するサービス アカウントの [編集] ボタンをクリックします。
  4. 使用可能なロールのリストから必要なロールを選択します。

    • Compute 閲覧者(
    • [Monitoring] > [モニタリング指標の書き込み]
    • [Secret Manager] > [Secret Manager のシークレット アクセサー]
  5. [追加] または [保存] をクリックして、サービス アカウントにロールを適用します。

SAP HANA モニタリング指標の収集を有効にする

Google Cloud の SAP 用エージェントを使用して SAP HANA モニタリング指標の収集を有効にする手順は次のとおりです。

  1. Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。

  2. エージェントの構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json

    別の方法として、コマンドを実行してこの構成を行うこともできます。詳細については、Google Cloud の SAP 用エージェントの構成コマンドをご覧ください。

  3. hana_monitoring_configuration セクションで、次の操作を行います。

    • enabled パラメータに値 true を設定します。
    • hana_instances セクションで、エージェントがモニタリングする SAP HANA インスタンスを指定します。
    • 必要に応じて、カスタムクエリを定義します。カスタムクエリの定義と例については、カスタムクエリの定義をご覧ください。
    • 必要に応じて、組み込みクエリやデフォルトのクエリを無効にします。手順については、SQL クエリを無効にするをご覧ください。

      構成パラメータの詳細については、構成パラメータをご覧ください。

  4. 必要に応じて、cloud_properties セクションの自動的に設定されたパラメータ値を更新します。これを行うには、構成ファイルに cloud_properties セクションを追加した後、必要なパラメータとその値を指定します。

  5. 構成ファイルを保存します。

  6. エージェントを再起動して、新しい設定を有効にします。

    sudo systemctl restart google-cloud-sap-agent

構成ファイルの例

Compute Engine VM インスタンス

以下の例は、Compute Engine VM インスタンス上で実行されている Google Cloud の SAP 用エージェントの完全な構成ファイル示しています。このファイルでは、SAP HANA モニタリング指標の収集が有効になっています。この例に含まれるカスタムクエリ custom_query は、カスタムクエリの定義で指定されているカスタムクエリの定義ガイドラインを遵守しています。

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": false,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "vm-instance-1",
    "image": "rhel-8"
  },
  "discovery_configuration": {
    "enable_discovery": true,
    "enable_workload_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "host": "localhost",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name",
        "hdbuserstore_key": "user_store_key"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name",
        "hdbuserstore_key": "user_store_key"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "enabled": false
      }
    ]
  }
}

Bare Metal Solution サーバー

以下の例は、Bare Metal Solution サーバー上で実行されている Google Cloud の SAP 用エージェントの完全な構成ファイル示しています。このファイルでは、SAP HANA モニタリング指標の収集が有効になっています。この例に含まれるカスタムクエリ custom_query は、カスタムクエリの定義で指定されているカスタムクエリの定義ガイドラインを遵守しています。

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1"
"region": "us-central1", "image": "rhel-8" }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "host": "localhost", "port": "30015", "user": "system", "secret_name": "password-secret-name", "hdbuserstore_key": "user_store_key" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "secret_name": "password-secret-name", "hdbuserstore_key": "user_store_key" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

カスタム SQL クエリを定義する

Google Cloud の SAP 用エージェントは、SAP HANA インスタンスで SQL クエリを実行して、SAP HANA モニタリング指標を収集します。これらのデフォルト クエリに加えて、次の手順でカスタム SQL クエリを定義して実行できます。

  1. Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。

  2. エージェントの構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json
  3. hana_monitoring_configuration.queries セクションで、カスタムクエリを定義します。

    カスタムクエリの定義と例については、カスタムクエリの定義をご覧ください。

  4. カスタムクエリを有効にするには、enabled パラメータを true に設定します。

  5. 構成ファイルを保存します。

  6. エージェントを再起動して、新しい設定を有効にします。

    sudo systemctl restart google-cloud-sap-agent

SQL クエリを無効にする

Google Cloud の SAP 用エージェントがデフォルトで提供する組み込み SQL クエリ、または定義したカスタムクエリを実行しない場合は、次の手順で SQL クエリを無効にします。

  1. Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。

  2. エージェントの構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json
  3. 組み込みクエリやデフォルトのクエリを無効にするには、hana_monitoring_configuration.queries セクションに次の行を追加します。

    {
    "name": "default_QUERY_NAME",
    "enabled": false
    }

    QUERY_NAME は、デフォルト クエリの名前に置き換えます。デフォルト クエリについては、デフォルト クエリのリファレンスをご覧ください。

  4. カスタムクエリを無効にするには、そのカスタムクエリの enabled パラメータを false に設定します。

  5. 構成ファイルを保存します。

  6. エージェントを再起動して、新しい設定を有効にします。

    sudo systemctl restart google-cloud-sap-agent

構成パラメータ

次の表は、SAP HANA モニタリング指標の収集に固有の Google Cloud の SAP 用エージェントの構成パラメータを示しています。

パラメータ
provide_sap_host_agent_metrics

Boolean

SAP Host Agent に必要な指標の収集を有効にするには、true を指定します。デフォルトは true です。
Cloud カスタマーケアまたは SAP サポートから指示されない限り、provide_sap_host_agent_metricsfalse に設定しないでください。

bare_metal

Boolean

エージェントが Bare Metal Solution サーバーにインストールされている場合は、true を指定します。デフォルトは false です。

log_level

String

エージェントのロギングレベルを設定するには、必要な値を設定します。使用可能なログレベルは次のとおりです。

  • DEBUG
  • INFO
  • WARNING
  • ERROR

デフォルトは INFO です。Cloud カスタマーケアから指示されない限り、ロギングレベルを変更しないでください。

log_to_cloud

Boolean

エージェントのログを Cloud Logging にリダイレクトするには、true を指定します。デフォルトは true です。

cloud_properties.project_id

String

SAP システムが Bare Metal Solution サーバーで実行されている場合は、Bare Metal Solution で使用する Google Cloud プロジェクトのプロジェクト ID を指定します。

エージェントが VM インスタンスで実行されている場合、デフォルトでは、プロジェクト ID が自動的に検出されます。

cloud_properties.instance_name

String

SAP システムが Compute Engine VM インスタンスで実行されている場合は、その VM インスタンスの名前を指定します。エージェントは、インストール時に VM インスタンス名を自動的に検出します。

SAP システムが Bare Metal Solution サーバーで実行されている場合は、そのサーバーの名前を指定します。

cloud_properties.region

String

SAP システムが Bare Metal Solution サーバーで実行されている場合は、Bare Metal Solution サーバーのリージョンを指定します。

エージェントが VM インスタンスで実行されている場合、デフォルトでは、エージェントがインストールされている VM インスタンスのリージョンが使用されます。

cloud_properties.zone

String

エージェントが VM インスタンスで実行されている場合、デフォルトでは、エージェントがインストールされている VM インスタンスのゾーンが使用されます。

cloud_properties.image

String

インスタンスの OS イメージ名を指定します。

エージェントが VM インスタンスで実行されている場合、デフォルトでは、エージェントがインストールされている VM インスタンスの OS イメージが検出されます。

cloud_properties.numeric_project_id

String

SAP システムが実行されている Google Cloud プロジェクトの数値 ID を指定します。

エージェントが VM インスタンスで実行されている場合、デフォルトでは、プロジェクト ID(数値)が自動的に検出されます。

discovery_configuration.enable_workload_discovery

Boolean

エージェントがホストで実行されている SAP プロダクトの名前とバージョンを収集できるようにするには、true を指定します。デフォルト値は true です。

詳細については、GoogleCloudPlatform/sapagentgoogle-cloud-sap-agent GitHub リポジトリにあるエージェントのコードベースをご覧ください。

discovery_configuration.enable_discovery

Boolean

エージェントがホストで実行されている SAP プロダクトについて収集した情報を Cloud Logging に送信するには、true を指定します。デフォルト値は true です。

false を指定すると、エージェントは収集した情報をホストに保存し、Cloud Logging に送信しません。

hana_monitoring_configuration.enabled

Boolean

省略可。Google Cloud の SAP 用エージェントが SAP HANA モニタリング指標を収集できるようにするには、true を指定します。デフォルト値は false です。

次の子パラメータは、hana_monitoring_configuration.enabled: true を指定した場合にのみ適用されます。
hana_monitoring_configuration.sample_interval_sec

Int

省略可。サンプル間隔を秒単位で指定します。これにより、Google Cloud の SAP 用エージェントが SAP HANA インスタンスにクエリを実行して SAP HANA モニタリング指標を収集する頻度を決定します。デフォルト値は 300 秒です。

Google Cloud の SAP 用エージェントの構成ファイルで定義されているクエリごとに、必要な間隔を sample_interval_sec パラメータに指定することで、グローバル サンプル間隔を上書きできます。サンプル間隔は 5 秒以上にする必要があります。

hana_monitoring_configuration.query_timeout_sec

Int

省略可。SAP HANA インスタンスに対して実行する各クエリのタイムアウトを指定します。デフォルト値は 300 秒です。

hana_monitoring_configuration.execution_threads

Int

省略可。SAP HANA インスタンスにクエリを送信するために使用するスレッド数を指定します。各クエリはそれぞれのスレッドで実行されます。デフォルト値は 10 です。

hana_monitoring_configuration.hana_instances.name

String

SAP HANA インスタンスの名前識別子を指定します。

hana_monitoring_configuration.hana_instances.sid

String

SAP HANA インスタンスの SID を指定します。この文字列は、SAP HANA インスタンスへのクエリの結果から得られるすべての指標にラベルとして追加されます。

hana_monitoring_configuration.hana_instances.host

String

SAP HANA インスタンスをホストするマシン(ローカルまたはリモート)の識別子を指定します。サポートされている値は次のとおりです。

  • ホストがローカルマシンの場合は、文字列 localhost または localhost ループバック IP アドレス(127.0.0.1 など)を指定します。
  • ホストがリモートマシンの場合は、内部 IP アドレスまたは外部 IP アドレスを指定します。
hana_monitoring_configuration.hana_instances.port

String

SAP HANA インスタンスがクエリを受け付けるポートを指定します。最初の、または唯一のテナント データベース インスタンスの場合、ポートは 3NN15 になります。ここで、NN は、SAP HANA インスタンスのインスタンス番号です。

hana_monitoring_configuration.hana_instances.user

String

SAP HANA インスタンスのクエリに使用するユーザー アカウントを指定します。

このユーザーに、SAP HANA データベースのモニタリング ビューを読み取る権限があることを確認してください。この権限が付与されていないと、モニタリング ビューに関連する SAP HANA モニタリング指標にはデータは含まれません。

hana_monitoring_configuration.hana_instances.password

String

省略可。SAP HANA インスタンスにクエリを行うためのユーザー アカウントを認証するパスワードを書式なしテキストとして指定します。

認証には、次のいずれかを指定する必要があります。

  • password パラメータに書式なしテキストのパスワードを指定します。
  • (推奨)Secret Manager を使用してパスワードをシークレットとして保存する場合は、対応するシークレット名を secret_name パラメータに指定する必要があります。
  • (推奨)hdbuserstore_key パラメータの hdbuserstore キー
hana_monitoring_configuration.hana_instances.secret_name

String

省略可。ユーザー アカウントのパスワードを保存する Secret Manager に Secret の名前を指定します。

hana_monitoring_configuration.hana_instances.hdbuserstore_key

String

SAP HANA システムに安全に接続するには、そのシステム用に作成したセキュア ユーザーストア(hdbuserstore鍵を指定します。

認証に hdbuserstore 鍵を使用するには、次の点に注意してください。

  • SAP ツール hdbsqlhdduserstore が、エージェントをホストする Compute インスタンスにインストールされている。
  • hdbuserstore キーが、特定の 1 つの SAP HANA インスタンスに対応している。複数の SAP HANA インスタンスのホスト名を含む鍵は使用できません。

この構成パラメータは、エージェントのバージョン 3.3 以降でサポートされています。

hdbuserstore_key を指定する場合、host パラメータと port パラメータを省略できます。

hana_monitoring_configuration.hana_instances.enable_ssl

Boolean

省略可。SAP HANA インスタンスで SSL を有効にするかどうかを指定します。デフォルト値は false です。

hana_monitoring_configuration.hana_instances.host_name_in_certificate

String

SAP HANA インスタンスに enable_ssl: true を指定する場合は、SSL 証明書に設定されているホスト名を指定する必要があります。

hana_monitoring_configuration.hana_instances.tls_root_ca_file

String

SAP HANA インスタンスに enable_ssl: true を指定する場合は、セキュリティ証明書のパスを指定する必要があります。

hana_monitoring_configuration.queries.enabled

Boolean

省略可。すべての SAP HANA インスタンスに対して SQL クエリを有効にするには、その SQL クエリの enabled パラメータに値 true を指定します。

hana_monitoring_configuration.queries.name

String

構成ファイルでカスタムクエリを定義している場合は、カスタムクエリごとに一意の名前を指定する必要があります。

クエリ名は、Monitoring で指標のデフォルト URL を構築するために使用されるため、一意であることが必要です。

hana_monitoring_configuration.queries.sql

String

エージェントが SAP HANA インスタンスに発行する SQL ステートメントを指定します。

SQL ステートメントは、SAP HANA SQL と System Views Reference で SAP が定義している SQL 構文に準拠している必要があります。
hana_monitoring_configuration.queries.sample_interval_sec

Int

省略可。SQL クエリのサンプル間隔を指定します。これはグローバル サンプル間隔をオーバーライドします。値は 5 秒以上にする必要があります。

hana_monitoring_configuration.queries.columns.name

String

各列を一意に識別する名前を指定します。

列名は、Monitoring で指標のデフォルト URL を構築する際に使用されるため、一意であることが必要です。

hana_monitoring_configuration.queries.columns.metric_type

String

Monitoring で処理する場合は、METRIC_LABELMETRIC_GAUGE、または METRIC_CUMULATIVE のいずれかの指標タイプを指定します。

METRIC_LABEL タイプの指標は、Monitoring に送信されるすべての METRIC_GAUGE 指標と METRIC_CUMULATIVE 指標にラベルとして追加されます。

hana_monitoring_configuration.queries.columns.value_type

String

Monitoring で処理する場合は、指標タイプでサポートされているデータ型を指定します。

サポートされているデータ型は、VALUE_BOOLVALUE_INT64VALUE_STRING、または VALUE_DOUBLE です。詳細については、サポートされている組み合わせをご覧ください。

hana_monitoring_configuration.queries.columns.name_override

String

省略可。Monitoring で処理する場合は、クエリ名と列名の代わりに、指標 URL に表示するパスを指定します。例:

  • 指標のデフォルトの URL: workload.googleapis.com/sap/hanamonitoring/QUERY_NAME/COLUMN_NAME
  • カスタムパスを使用している指標の URL: workload.googleapis.com/sap/hanamonitoring/CUSTOM_PATH

収集された指標を表示する

エージェントが収集する SAP HANA モニタリング指標を可視化するには、Google Cloud が提供する次のカスタム ダッシュボードを使用します。

  • SAP 用エージェント - HANA の詳細: このダッシュボードには、インスタンス メモリ、使用済みのサービスメモリ、スキーマに推定される最大メモリ、行ストアメモリの合計サイズ、スキーマ読み取りの外れ値、スキーマ書き込みの外れ値、スキーマの最後の圧縮レコード数の外れ値、システム接続、アラート、上位 5 つの VM の CPU 使用率、上位 5 つの VM のメモリの割合、リージョン別のホストなどの指標のステータスの概要が表示されます。

    このダッシュボードの JSON ファイルは agent-for-sap-hana-detailed-overview.json です。

  • SAP 用エージェント - HANA パフォーマンス: このダッシュボードには、インスタンス メモリ、スキーマの読み取りと書き込みの外れ値、スキーマのパフォーマンス、メモリ使用量、スキーマ レコード数の外れ値、使用済みのサービスメモリの合計、行ストアのメモリサイズ、システムのアイドル状態と実行中の接続、接続と行ストアのメモリ、スキーマの合計レコード、スキーマに推定される合計最大サイズなどの指標について、未加工の指標値が表示されます。

    このダッシュボードの JSON ファイルは agent-for-sap-hana-performance.json です。

ダッシュボードをインストールする

カスタム ダッシュボードをインストールするには、次の手順を完了します。

Google Cloud コンソール

  1. Google Cloud コンソールで、[Monitoring] ページに移動します。

    [Monitoring] に移動

  2. Monitoring のナビゲーション パネルで、[ダッシュボード] をクリックします。

  3. [サンプル ライブラリ] タブをクリックします。

    [サンプル ライブラリ] タブが選択されている画面

  4. エージェント固有のカスタム ダッシュボードをフィルタするには、[フィルタ] フィールドに「Agent for SAP」と入力します。

  5. (省略可)ダッシュボードの詳細を表示するか、コンテンツをプレビューするには、[プレビュー] をクリックします。

  6. インストールするダッシュボードを選択します。

  7. [インポート]、[確認] の順にクリックします。

    ダッシュボードが Google Cloud プロジェクトで使用可能なダッシュボードに追加されます。ダッシュボードを表示するには、インストールされているダッシュボードを表示するの手順に沿って操作します。

Google Cloud CLI

  1. Cloud Shell を開きます。

    Cloud Shell を開く

  2. Cloud Shell で、リポジトリのクローンを作成するか、リポジトリをダウンロードします。

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/

  3. Cloud Shell で、対応する JSON ファイルを使用して必要なダッシュボードをインストールします。

    gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE

    CONFIG_FROM_FILE は、ダッシュボード構成を含む JSON ファイルのパスに置き換えます。ダッシュボード構成ファイルはパス monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap にあります。

    ダッシュボードが Google Cloud プロジェクトで使用可能なダッシュボードに追加されます。ダッシュボードを表示するには、インストールされているダッシュボードを表示するの手順に沿って操作します。

インストールされているダッシュボードを表示する

インストールされているダッシュボードを表示するには、次の操作を行います。

  1. Google Cloud コンソールで、[Monitoring] ページに移動します。

    [Monitoring] に移動

  2. Monitoring のナビゲーション パネルで、[ダッシュボード] をクリックします。

  3. リスト内のダッシュボード名をクリックします。

ダッシュボードの数が多い場合は、カスタム ダッシュボードや新しいダッシュボードの名前でフィルタできます。このリストをフィルタする方法については、カスタム ダッシュボードを表示するをご覧ください。

次の図は、Monitoring の SAP HANA 指標のカスタム ダッシュボードの一部を示す例です。

Monitoring に SAP HANA 指標のカスタム ダッシュボードが表示されているスクリーン キャプチャ。