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

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

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

始める前に

必要な IAM のロール

Google Cloudの SAP 用エージェントが SAP HANA モニタリング指標を収集できるように、サービス アカウントに必要な権限が付与されていることを確認するには、プロジェクトに対する次の IAM ロールをサービス アカウントに付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、 Google Cloudの SAP 用エージェントが SAP HANA モニタリング指標を収集するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Google Cloudの SAP 用エージェントが SAP HANA モニタリング指標を収集できるようにするには、次の権限が必要です。

  • ホスト Compute Engine インスタンスから SAP HANA モニタリング指標を収集して Cloud Monitoring に書き込む:
    • monitoring.timeSeries.create
    • compute.nodeGroups.get
    • compute.nodeGroups.list
  • Secret Manager を使用して SAP HANA データベースに接続するパスワードを保存し、シークレットにアクセスする場合: secretmanager.versions.access

管理者は、サービス アカウントに、カスタムロールや他の事前定義ロールを付与することもできます。

必要な SAP HANA ロール

エージェントが SAP HANA データベースから指標を収集できるようにするには、エージェントの構成ファイルで指定した SAP HANA ユーザーに MONITORING ロールがあることを確認します。

このロールの詳細については、SAP ドキュメントの標準データベース ロールをご覧ください。

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

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

  1. Compute Engine インスタンスまたは 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 インスタンス

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

次の例では、SAP HANA 認証にセキュア ユーザーストア(hdbuserstoreキーを使用します。

{
  "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
  },
  "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",
        "user": "system",
        "hdbuserstore_key": "user_store_key"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "user": "system",
        "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
      }
    ]
  }
}

次の例では、SAP HANA 認証にユーザー名と Secret Manager シークレットを使用します。

{
  "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
  },
  "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"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name"
      }
    ],
    "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
      }
    ]
  }
}

次の例では、SAP HANA 認証にユーザー名とパスワードを使用します。この方法ではなく、SAP HANA 認証には Secret Manager シークレットまたはセキュア ユーザーストア(hdbuserstoreキーを使用することをおすすめします。

{
  "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
  },
  "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",
        "password": "TempPa55word"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "password": "TempPa55word"
      }
    ],
    "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 は、カスタムクエリの定義で指定されているカスタムクエリの定義ガイドラインを遵守しています。

次の例では、SAP HANA 認証にセキュア ユーザーストア(hdbuserstoreキーを使用します。

{
  "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", "user": "system", "hdbuserstore_key": "user_store_key" }, { "name": "remote", "sid": "DEH", "user": "system", "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 } ] } }

次の例では、SAP HANA 認証にユーザー名と Secret Manager シークレットを使用します。

{
  "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" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "secret_name": "password-secret-name" } ], "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 } ] } }

次の例では、SAP HANA 認証にユーザー名とパスワードを使用します。この方法ではなく、SAP HANA 認証には Secret Manager シークレットまたはセキュア ユーザーストア(hdbuserstoreキーを使用することをおすすめします。

{
  "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", "password": "TempPa55word" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "password": "TempPa55word" } ], "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 インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。

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

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

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

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

  5. エージェントのバージョン 3.7 を使用している場合、アクティブ / アクティブ(読み取り可能)構成でデプロイされた SAP HANA HA システムでは、クエリを HA システムのプライマリ ノード、セカンダリ ノード、またはその両方で実行するかどうかを指定できます。

    • プライマリ ノードでクエリを実行するには、"run_on": "PRIMARY" を含めます。
    • プライマリ ノードでクエリを実行するには、"run_on": "SECONDARY" を含めます。
    • プライマリ ノードでクエリを実行するには、"run_on": "ALL" を含めます。

    詳細については、SAP HANA HA システムのノード固有のモニタリングを設定するをご覧ください。

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

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

    sudo systemctl restart google-cloud-sap-agent

SQL クエリを無効にする

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

  1. Compute Engine インスタンスまたは 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 用エージェントのバージョン 3.7 以降では、マルチテナント SAP HANA データベースのテナント固有のモニタリングを設定できます。その方法は次のとおりです。

  1. Google Cloudの SAP 用エージェントのバージョン 3.7 以降を使用していることを確認します。
  2. Compute Engine インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
  3. エージェントの構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json
  4. hana_monitoring_configuring.hana_instances セクションで、定義した SAP HANA ごとに適切な構成を適用します。

    • SAP HANA インスタンスで特定のクエリセットを実行するには、次のように queries_to_run.query_name パラメータを含めます。
    • SAP HANA インスタンスですべてのクエリを実行するには、次のように queries_to_run.run_all パラメータを含めます。

    次のスニペットは、これらのオプションの例を示しています。

     "hana_monitoring_configuration": {
       "enabled": true,
       ...
       "hana_instances": [
         {
           "name": "TENANT_DB_1_NAME",
           "sid": "SID",
           ...
           "queries_to_run": {
             "query_name": ["QUERY_NAME_1", "QUERY_NAME_2", ...]
           }
         },
         {
           "name": "TENANT_DB_2_NAME",
           "sid": "SID",
           ...
           "queries_to_run": {
             "run_all": true
           }
         }
         ...
       ]
     }

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

  6. 30 秒以内に、新しい構成が有効になります。また、手動でエージェントを再起動することもできます。

SAP HANA HA システムのノード固有のモニタリングを設定する

Google Cloudの SAP 用エージェントのバージョン 3.7 以降では、アクティブ / アクティブ(読み取り可能)構成でデプロイされた SAP HANA HA システムの場合、エージェントの構成ファイルで定義されたクエリをプライマリ ノード、セカンダリ ノード、またはその両方で実行するかどうかを指定できます。その方法は次のとおりです。

  1. Google Cloudの SAP 用エージェントのバージョン 3.7 以降を使用していることを確認します。
  2. Compute Engine インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
  3. エージェントの構成ファイルを開きます。

    /etc/google-cloud-sap-agent/configuration.json
  4. hana_monitoring_configuring.queries セクションで、定義したクエリごとに適切な構成を適用します。

    • プライマリ ノードでクエリを実行するには、"run_on": "PRIMARY" を含めます。
    • プライマリ ノードでクエリを実行するには、"run_on": "SECONDARY" を含めます。
    • プライマリ ノードでクエリを実行するには、"run_on": "ALL" を含めます。
  5. hana_monitoring_configuration.hana_instances セクションで、定義した SAP HANA インスタンスごとに instance_num パラメータと is_local パラメータを指定します。

    次のスニペットは、すべてのシナリオの例を示しています。

     "hana_monitoring_configuration": {
       "enabled": true,
       ...
       "hana_instances": [
         {
            "name": "INSTANCE_NAME",
            "sid": "SID",
            "instance_num": "10",
            "is_local": true,
            "hdbuserstore_key": "USER_STORE_KEY"
         },
         {
            "name": "INSTANCE_NAME",
            "sid": "SID",
            "instance_num": "11"
            "is_local": true,
            "hdbuserstore_key": "USER_STORE_KEY"
         },
         ...
       ],
       ...
       "queries": [
         {
            "name": "QUERY_NAME_1",
            "enabled": true,
            "run_on": "PRIMARY",
            ...
         },
         {
            "name": "QUERY_NAME_2",
            "enabled": true,
            "run_on": "SECONDARY",
            ...
         },
         {
            "name": "QUERY_NAME_3",
            "enabled": true,
            "run_on": "ALL",
            ...
         }
         ...
       ]
     }
  6. 構成ファイルを保存します。

  7. 30 秒以内に、新しい構成が有効になります。また、手動でエージェントを再起動することもできます。

構成パラメータ

次の表は、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 を指定します。

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

cloud_properties.instance_name

String

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

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

cloud_properties.region

String

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

エージェントがコンピューティング インスタンスで実行されている場合、デフォルトでは、エージェントはコンピューティング インスタンスがデプロイされているリージョンを使用します。

cloud_properties.zone

String

エージェントがコンピューティング インスタンスで実行されている場合、デフォルトでは、エージェントはコンピューティング インスタンスがデプロイされているゾーンを使用します。

cloud_properties.image

String

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

エージェントがコンピューティング インスタンスで実行されている場合、デフォルトでは、コンピューティング インスタンスで使用される OS イメージが自動的に検出されます。

cloud_properties.numeric_project_id

String

SAP システムが実行されている Google Cloud プロジェクトの数値 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.send_query_response_time

Boolean

省略可。true を指定すると、エージェントの構成ファイルで定義されたすべての SAP HANA モニタリング クエリのレスポンス時間をエージェントがキャプチャします。

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 キー

SAP HANA 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、hdbuserstore_key 構成パラメータは password パラメータよりも優先され、これは secret_name パラメータよりも優先されます。構成ファイルで設定する認証オプションは 1 つだけにすることをおすすめします。

hana_monitoring_configuration.hana_instances.secret_name

String

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

SAP HANA 認証の場合、エージェントは次の優先順位を使用します。指定されている場合、hdbuserstore_key 構成パラメータは password パラメータよりも優先され、これは secret_name パラメータよりも優先されます。構成ファイルで設定する認証オプションは 1 つだけにすることをおすすめします。

hana_monitoring_configuration.hana_instances.hdbuserstore_key

String

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

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

  • SAP ツール hdbsqlhdbuserstore が、エージェントをホストする Compute インスタンスにインストールされている。
  • hdbuserstore キーが、特定の 1 つの SAP HANA インスタンスに対応している。複数の SAP HANA インスタンスのホスト名を含む鍵は使用できません。
  • SIDadm ユーザーは、このキーを使用して SAP HANA データベースにクエリを実行できます。ここで、SIDsid パラメータに指定した値を参照します。これを検証するには、SIDadm ユーザーとして次のコマンドを実行します。
    hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"

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

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

hana_monitoring_configuration.hana_instances.is_local

Boolean

HA システムをモニタリングする場合は、true を指定して、定義された SAP HANA インスタンスがエージェントと同じ Compute Engine インスタンスでホストされていることをエージェントに伝えます。これにより、定義された SAP HANA インスタンスがその HA システムのプライマリ ノードかセカンダリ ノードかを、エージェントが実行時に確認します。この認識は、queries.run_on パラメータに指定した SAP HANA インスタンス タイプで SAP HANA モニタリング クエリを実行するためにエージェントで必要です。

このパラメータのデフォルト値は false です。これにより、エージェントは、対応する SAP HANA インスタンスで有効になっているすべての SAP HANA モニタリング クエリを実行します。詳細については、マルチテナント システムと HA システムのモニタリングをご覧ください。

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

hana_monitoring_configuration.hana_instances.instance_num

String

SAP HANA インスタンスに設定したインスタンス番号を指定します。この情報は、エージェントが SAP HANA インスタンスを検出するために必要です。

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

hana_monitoring_configuration.hana_instances.queries_to_run.run_all

Boolean

省略可。true を指定して、指定した SAP HANA インスタンスのエージェントの構成ファイルで有効になっているすべての SAP HANA モニタリング クエリ(デフォルトとカスタム)を実行します。デフォルト値は false です。

hana_monitoring_configuration.hana_instances.queries_to_run.query_name

String

省略可。指定した SAP HANA インスタンスで実行するクエリを指定します。

マルチテナント SAP HANA データベースを実行している場合は、この構成パラメータを使用してテナント固有のモニタリングを設定できます。次の構成例では、2 つのクエリが HANA_TENANT_1 で実行され、構成で定義されたすべてのクエリが HANA_TENANT_2 で実行されます。

    "hana_instances": [
      {
        "name": "HANA_TENANT_1,
        "queries_to_run": {
          "query_name": ["QUERY_NAME_1", "QUERY_NAME_2"]
        }
      },
      {
        "name": "HANA_TENANT_2,
        "queries_to_run": {
          "run_all": true
        }
      }
      ...
    ]
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.run_on

String

省略可。SAP HANA HA システムをモニタリングしていて、プライマリ ノードまたはセカンダリ ノードのいずれかで SAP HANA モニタリング クエリを実行する場合は、このパラメータを指定します。サポートされる値は、PRIMARYSECONDARYALL です。値 ALL を指定すると、エージェントは HA クラスタ内のプライマリ ノードとセカンダリ ノードの両方で SAP HANA モニタリング クエリを実行します。

このパラメータは、エージェントのバージョン 3.7 以降でサポートされています。また、セカンダリ ノードでクエリを実行するには、HA システムがアクティブ / アクティブ(読み取り可能)構成でデプロイされていることを確認します。

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 モニタリング指標の収集設定を検証する

SAP HANA モニタリング指標を収集するために、 Google Cloud が正しく設定されているかどうか確認するには、エージェントの status コマンドを実行します。このコマンドは、エージェントのバージョン 3.7 以降でサポートされています。

その方法は次のとおりです。

  1. Compute Engine インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
  2. 次のコマンドを実行します。

    sudo /usr/bin/google_cloud_sap_agent status
    

    SAP HANA モニタリング指標を収集するために Google Cloud が正しく設定されている場合、出力に次のものが含まれています。構成には、default 以外の値が設定されている場合があります。

     Agent Status:
        ...
        Systemd Service Enabled: True
        Systemd Service Running: True
        Cloud API Full Scopes: True
        Configuration File: /etc/google-cloud-sap-agent/configuration.json
        Configuration Valid: True
    ...
    ----------------------------------------------------------------------------
    HANA Monitoring Metrics: Enabled
        Status: Fully Functional
        IAM Permissions: All granted
        Configuration:
            connection_timeout:       120   (default)
            enabled:                  true  (configuration file)
            execution_threads:        10    (default)
            max_connect_retries:      1     (default)
            query_timeout_sec:        300   (default)
            sample_interval_sec:      300   (default)
            send_query_response_time: false (default)
    ...
    
  3. 出力に設定に不備があることが示されている場合は、前のセクションで説明した情報を確認して必要なアクションを実行し、status コマンドを再度実行して設定を検証します。

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

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

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

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

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

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

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

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

Google Cloud コンソール

  1. Google Cloud コンソールで、[モニタリング] ページに移動します。

    [モニタリング] に移動

  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 コンソールで、[モニタリング] ページに移動します。

    [モニタリング] に移動

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

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

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

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

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