このガイドでは、SAP HANA システムから SAP HANA モニタリング指標を収集するように Google Cloud の SAP 用エージェント バージョン 2 を構成する方法について説明します。
この機能の詳細については、Google Cloud の SAP 用エージェントを使用した SAP HANA のモニタリングをご覧ください。
始める前に
- Google Cloud の SAP 用エージェントのインストールを検証します。手順については、該当のインストール ガイドをご覧ください。
- Bare Metal Solution サーバーにエージェントがインストールされている場合は、必要な前提条件を満たしていることを確認して、サービス アカウントを設定します。手順については、Linux で Google Cloud の SAP 用エージェントを構成するをご覧ください。
IAM のロールを設定する
Google Cloud の SAP 用エージェントが SAP HANA モニタリング指標を収集できるようにするには、Compute Engine VM インスタンスまたは Bare Metal Solution サーバーが使用するサービス アカウントに次のロールが含まれている必要があります。
- Compute 閲覧者(
roles/compute.viewer
) - モニタリング指標の書き込み(
roles/monitoring.metricWriter
) - Secret Manager のシークレット アクセサー(
roles/secretmanager.secretAccessor
)(SAP HANA データベースのパスワードの保存に Secret Manager を使用する場合)。
これらの必要なロールをサービス アカウントに追加する手順は次のとおりです。
Google Cloud コンソールの [IAM] ページに移動します。
Google Cloud プロジェクトを選択します。
ロールを追加するサービス アカウントを特定します。
- サービス アカウントがまだプリンシパル リストに含まれていない場合、サービス アカウントには何もロールが割り当てられていません。[追加] をクリックし、サービス アカウントのメールアドレスを入力します。
- このサービス アカウントがすでにプリンシパル リストに含まれている場合、サービス アカウントには既存のロールがあります。編集するサービス アカウントの [編集] ボタンをクリックします。
使用可能なロールのリストから必要なロールを選択します。
- Compute 閲覧者()
- [Monitoring] > [モニタリング指標の書き込み]
- [Secret Manager] > [Secret Manager のシークレット アクセサー]
[追加] または [保存] をクリックして、サービス アカウントにロールを適用します。
SAP HANA モニタリング指標の収集を有効にする
Google Cloud の SAP 用エージェントを使用して SAP HANA モニタリング指標の収集を有効にする手順は次のとおりです。
Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
エージェントの構成ファイルを開きます。
/etc/google-cloud-sap-agent/configuration.json
hana_monitoring_configuration
セクションで、次の操作を行います。enabled
パラメータに値true
を設定します。hana_instances
セクションで、エージェントがモニタリングする SAP HANA インスタンスを指定します。- 必要に応じて、カスタムクエリを定義します。カスタムクエリの定義と例については、カスタムクエリの定義をご覧ください。
必要に応じて、組み込みクエリやデフォルトのクエリを無効にします。手順については、SQL クエリを無効にするをご覧ください。
構成パラメータの詳細については、構成パラメータをご覧ください。
必要に応じて、
cloud_properties
セクションの自動的に設定されたパラメータ値を更新します。これを行うには、構成ファイルにcloud_properties
セクションを追加した後、必要なパラメータとその値を指定します。構成ファイルを保存します。
エージェントを再起動して、新しい設定を有効にします。
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" }, { "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 } ] } }
Bare Metal Solution サーバー
以下の例は、Bare Metal Solution サーバーこのファイルでは、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" }, { "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 } ] } }
カスタム SQL クエリを定義する
Google Cloud の SAP 用エージェントは、SAP HANA インスタンスで SQL クエリを実行して、SAP HANA モニタリング指標を収集します。これらのデフォルト クエリに加えて、次の手順でカスタム SQL クエリを定義して実行できます。
Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
エージェントの構成ファイルを開きます。
/etc/google-cloud-sap-agent/configuration.json
hana_monitoring_configuration.queries
セクションで、カスタムクエリを定義します。カスタムクエリの定義と例については、カスタムクエリの定義をご覧ください。
カスタムクエリを有効にするには、
enabled
パラメータをtrue
に設定します。構成ファイルを保存します。
エージェントを再起動して、新しい設定を有効にします。
sudo systemctl restart google-cloud-sap-agent
SQL クエリを無効にする
Google Cloud の SAP 用エージェントがデフォルトで提供する組み込み SQL クエリ、または定義したカスタムクエリを実行しない場合は、次の手順で SQL クエリを無効にします。
Compute Engine VM インスタンスまたは Bare Metal Solution サーバーと SSH 接続を確立します。
エージェントの構成ファイルを開きます。
/etc/google-cloud-sap-agent/configuration.json
組み込みクエリやデフォルトのクエリを無効にするには、
hana_monitoring_configuration.queries
セクションに次の行を追加します。{ "name": "default_QUERY_NAME", "enabled": false }
QUERY_NAME
は、デフォルト クエリの名前に置き換えます。デフォルト クエリについては、デフォルト クエリのリファレンスをご覧ください。カスタムクエリを無効にするには、そのカスタムクエリの
enabled
パラメータをfalse
に設定します。構成ファイルを保存します。
エージェントを再起動して、新しい設定を有効にします。
sudo systemctl restart google-cloud-sap-agent
構成パラメータ
次の表は、SAP HANA モニタリング指標の収集に固有の Google Cloud の SAP 用エージェントの構成パラメータを示しています。
パラメータ | |
---|---|
provide_sap_host_agent_metrics |
SAP Host Agent に必要な指標の収集を有効にするには、 |
bare_metal |
エージェントが Bare Metal Solution サーバーにインストールされている場合は、 |
log_level |
エージェントのロギングレベルを設定するには、必要な値を設定します。使用可能なログレベルは次のとおりです。
デフォルトは |
log_to_cloud |
エージェントのログを Cloud Logging にリダイレクトするには、 |
sap_system_discovery |
SAP システム ディスカバリを有効にするには、 |
cloud_properties.project_id |
SAP システムが Bare Metal Solution サーバーで実行されている場合は、Bare Metal Solution で使用する Google Cloud プロジェクトのプロジェクト ID を指定します。 |
cloud_properties.instance_name
|
SAP システムが Compute Engine VM インスタンスで実行されている場合は、その VM インスタンスの名前を指定します。エージェントは、インストール時に VM インスタンス名を自動的に検出します。 SAP システムが Bare Metal Solution サーバーで実行されている場合は、そのサーバーの名前を指定します。 エージェント バージョン 2.5 以前で、 |
cloud_properties.region |
SAP システムが Bare Metal Solution サーバーで実行されている場合は、Bare Metal Solution サーバーのリージョンを指定します。 |
cloud_properties.zone |
エージェントが VM インスタンスで実行されている場合、デフォルトでは、エージェントがインストールされている VM インスタンスのゾーンが使用されます。 |
cloud_properties.image |
インスタンスの OS イメージ名を指定します。 |
cloud_properties.numeric_project_id |
SAP システムが実行されている Google Cloud プロジェクトの数値 ID を指定します。 |
hana_monitoring_configuration.enabled |
省略可。Google Cloud の SAP 用エージェントが SAP HANA モニタリング指標を収集できるようにするには、 hana_monitoring_configuration.enabled: true を指定した場合にのみ適用されます。 |
hana_monitoring_configuration.sample_interval_sec |
省略可。サンプル間隔を秒単位で指定します。これにより、Google Cloud の SAP 用エージェントが SAP HANA インスタンスにクエリを実行して SAP HANA モニタリング指標を収集する頻度を決定します。デフォルト値は 300 秒です。 Google Cloud の SAP 用エージェントの構成ファイルで定義されているクエリごとに、必要な間隔を |
hana_monitoring_configuration.query_timeout_sec |
省略可。SAP HANA インスタンスに対して実行する各クエリのタイムアウトを指定します。デフォルト値は 300 秒です。 |
hana_monitoring_configuration.execution_threads |
省略可。SAP HANA インスタンスにクエリを送信するために使用するスレッド数を指定します。各クエリはそれぞれのスレッドで実行されます。デフォルト値は 10 です。 |
hana_monitoring_configuration.hana_instances.name |
SAP HANA インスタンスの名前識別子を指定します。 |
hana_monitoring_configuration.hana_instances.sid |
SAP HANA インスタンスの SID を指定します。この文字列は、SAP HANA インスタンスへのクエリの結果から得られるすべての指標にラベルとして追加されます。 |
hana_monitoring_configuration.hana_instances.host |
SAP HANA インスタンスをホストするマシン(ローカルまたはリモート)の識別子を指定します。サポートされている値は次のとおりです。
|
hana_monitoring_configuration.hana_instances.port |
SAP HANA インスタンスがクエリを受け付けるポートを指定します。最初の、または唯一のテナント データベース インスタンスの場合、ポートは |
hana_monitoring_configuration.hana_instances.user |
SAP HANA インスタンスのクエリに使用するユーザー アカウントを指定します。 このユーザーに、SAP HANA データベースのモニタリング ビューを読み取る権限があることを確認してください。この権限が付与されていないと、モニタリング ビューに関連する SAP HANA モニタリング指標にはデータは含まれません。 |
hana_monitoring_configuration.hana_instances.password |
省略可。SAP HANA インスタンスにクエリを行うためのユーザー アカウントを認証するパスワードを書式なしテキストとして指定します。 認証には、次のいずれかを指定する必要があります。
|
hana_monitoring_configuration.hana_instances.secret_name |
省略可。ユーザー アカウントのパスワードを保存する Secret Manager に Secret の名前を指定します。 |
hana_monitoring_configuration.hana_instances.enable_ssl |
省略可。SAP HANA インスタンスで SSL を有効にするかどうかを指定します。デフォルト値は |
hana_monitoring_configuration.hana_instances.host_name_in_certificate |
SAP HANA インスタンスに |
hana_monitoring_configuration.hana_instances.tls_root_ca_file |
SAP HANA インスタンスに |
hana_monitoring_configuration.queries.enabled |
省略可。すべての SAP HANA インスタンスに対して SQL クエリを有効にするには、その SQL クエリの |
hana_monitoring_configuration.queries.name |
構成ファイルでカスタムクエリを定義している場合は、カスタムクエリごとに一意の名前を指定する必要があります。 クエリ名は、Monitoring で指標のデフォルト URL を構築するために使用されるため、一意であることが必要です。 |
hana_monitoring_configuration.queries.sql |
エージェントが SAP HANA インスタンスに発行する SQL ステートメントを指定します。 SQL ステートメントは、SAP HANA SQL と System Views Reference で SAP が定義している SQL 構文に準拠している必要があります。 |
hana_monitoring_configuration.queries.sample_interval_sec |
省略可。SQL クエリのサンプル間隔を指定します。これはグローバル サンプル間隔をオーバーライドします。値は 5 秒以上にする必要があります。 |
hana_monitoring_configuration.queries.columns.name |
各列を一意に識別する名前を指定します。 列名は、Monitoring で指標のデフォルト URL を構築する際に使用されるため、一意であることが必要です。 |
hana_monitoring_configuration.queries.columns.metric_type |
Monitoring で処理する場合は、
|
hana_monitoring_configuration.queries.columns.value_type |
Monitoring で処理する場合は、指標タイプでサポートされているデータ型を指定します。 サポートされているデータ型は、 |
hana_monitoring_configuration.queries.columns.name_override |
省略可。Monitoring で処理する場合は、クエリ名と列名の代わりに、指標 URL に表示するパスを指定します。例:
|
収集された指標を表示する
エージェントが収集する 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 コンソール
Google Cloud コンソールで、[Monitoring] ページに移動します。
Monitoring のナビゲーション パネルで、[ダッシュボード] をクリックします。
[サンプル ライブラリ] タブをクリックします。
エージェント固有のカスタム ダッシュボードをフィルタするには、[フィルタ] フィールドに「
Agent for SAP
」と入力します。(省略可)ダッシュボードの詳細を表示するか、コンテンツをプレビューするには、[プレビュー] をクリックします。
インストールするダッシュボードを選択します。
[インポート]、[確認] の順にクリックします。
ダッシュボードが Google Cloud プロジェクトで使用可能なダッシュボードに追加されます。ダッシュボードを表示するには、インストールされているダッシュボードを表示するの手順に沿って操作します。
Google Cloud CLI
Cloud Shell を開きます。
Cloud Shell で、リポジトリのクローンを作成するか、リポジトリをダウンロードします。
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/
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 プロジェクトで使用可能なダッシュボードに追加されます。ダッシュボードを表示するには、インストールされているダッシュボードを表示するの手順に沿って操作します。
インストールされているダッシュボードを表示する
インストールされているダッシュボードを表示するには、次の操作を行います。
Google Cloud コンソールで、[Monitoring] ページに移動します。
Monitoring のナビゲーション パネルで、[ダッシュボード] をクリックします。
リスト内のダッシュボード名をクリックします。
ダッシュボードの数が多い場合は、カスタム ダッシュボードや新しいダッシュボードの名前でフィルタできます。このリストをフィルタする方法については、カスタム ダッシュボードを表示するをご覧ください。
次の図は、Monitoring の SAP HANA 指標のカスタム ダッシュボードの一部を示す例です。