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

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

要件

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

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

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

  1. ブラウザで、Stackdriver Monitoring に移動します。

    Stackdriver Monitoring に移動

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

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

  4. プルダウンからプロジェクトを選択して [Create Account] をクリックします。

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

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

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

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

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

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

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

必要な IAM 役割を設定する

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

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

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

  1. GCP 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。エージェントによって最近収集された指標が含まれます。エージェントは、最終的に、これらの指標を Stackdriver 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

その構成ファイルの内容は次のようになります。

---
config:
  timestamps_in_output: no
  debug_messages: yes
  skip_default_queries: yes
  queries_directory: /tmp/tmp.kUbZiUaGHa/queries
  spool_directory: /tmp/tmp.kUbZiUaGHa/staging
  enabled_instances:
    - [INSTANCE_NAME]
  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]
      ...

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

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

上の例では、各インスタンスの属性は次のように定義されます。

  • [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
  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: データが Stackdriver にどのように報告されるかを記述します。typeLABELGAUGE, に設定できます。前者の場合は、そのタイプが列見出しであることが示されます。後者は、Stackdriver API の MetricKind enum で定義される指標タイプの 1 つです。現在、GAUGE はエージェントがサポートしている唯一の指標タイプとなります。
    • value_type: 指標の値のタイプ。このパラメータの値は、Stackdriver 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 フラグを設定します。詳細については、構成ファイルの定義をご覧ください。

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

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

sudo gcm gather

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

sudo gcm send

Stackdriver Monitoring での指標の表示

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

  1. Stackdriver Monitoring Console の左側のメニューで、[Dashboards] > [Create Dashboard] の順に選択します。

    ダッシュボードの作成ページに移動

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

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

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

  5. [Save] をクリックします。

これで、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

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

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

サポート

モニタリング エージェントに関する問題、またはその他のフィードバックや懸念については、gcp-integrations-support@google.com にお問い合わせください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...