Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager 構築ガイド


1.23.4 SQL exporterの設定

ここでは,統合エージェントホストのオプション機能であるSQL exporterの設定手順について説明します。

〈この項の構成〉

(1) SQL exporterの設定の前準備

SQL exporterの設定をする前準備について説明します。

(a) JP1/IM - Managerのセットアップ

JP1/IM - Manager 13-11以降を新規にインストールした場合は,実施不要です。

JP1/IM - Manager 13-11より前のバージョンからバージョンアップした場合,次の手順を実施します。

(b) セットアップアーカイブファイルの入手

SQL exporterを使用するためのセットアップアーカイブファイルを取得します。セットアップアーカイブファイルはJP1/IM - Agentのインストール先フォルダに格納されています。

セットアップアーカイブファイルのファイル名は,次のとおりです。

JP1/IM - Agentのインストール先/jp1ima/options/

  • sql_exporter_windows_VVRRSS.zip

■ メトリック定義ファイルの配置

論理ホスト運用で,JP1/IM - Manager 13-11より前のバージョンからバージョンアップした場合,次の手順を実施します。

  1. 次に示すSQL exporterのメトリック定義ファイルのモデルファイルをコピーし,コピー先の定義ファイル名にリネームする。

    コピー元のファイル名:JP1/IM - Managerのインストール先\jp1imm\conf\imdd\plugin\jp1pccs\metrics_sql_exporter.conf.model

    コピー先のファイル名:JP1/IM - Managerのインストール先\jp1imm\conf\imdd\plugin\jp1pccs\metrics_sql_exporter.conf

    また,論理ホスト運用の場合,このファイルを次の場所に配置します。

    共有フォルダ\jp1imm\conf\imdd\plugin\jp1pccs\

(c) JP1/IM - Agentのセットアップ

JP1/IM - Agent 13-11以降を新規にインストールする場合は,実施不要です。

JP1/IM - Agent 13-11より前のバージョンからバージョンアップした場合,次の手順を実施します。

なお,JP1/IM - AgentのホストにMicrosoft SQL Serverのモジュールをインストールする必要はありません。

■ JP1/IM - Agentの停止

JP1/IM - Agentのサービスを停止します。

  • 物理ホストの場合

    次のコマンドを実行して,JP1/IM - Agentのサービスを停止します。

    jpc_service_stop -s all
  • 論理ホストの場合

    クラスタソフトから停止します。

■ SQL exporterのスクレイプジョブの設定

バージョンアップ時にPrometheusの設定ファイルのモデルファイルが更新されます。Prometheus設定ファイルのモデルファイル(jpc_prometheus_server.yml.model)の次の内容をPrometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configs配下に記載してください。

論理ホスト運用の場合は,次のファイルを更新します。

共有フォルダ\jp1ima\conf\jpc_prometheus_server.yml

(略)
   :
scrape_configs:
   :
  - job_name: 'jpc_sql'
    scrape_interval: 60s
    scrape_timeout: 30s
 
    metrics_path: /metrics
 
    file_sd_configs:
      - files:
        - 'jpc_file_sd_config_mssql.yml'
 
    relabel_configs:
      - target_label: jp1_pc_nodelabel
        replacement: MSSQL metric collector(SQL exporter)
 
    metric_relabel_configs:
      - source_labels: ['__name__']
        regex: 'mssql_local_time_seconds|mssql_connections|mssql_deadlocks|mssql_user_errors|mssql_kill_connection_errors|mssql_page_life_expectancy_seconds|mssql_batch_requests|mssql_log_growths|mssql_buffer_cache_hit_ratio|mssql_checkpoint_pages_sec|mssql_io_stall_seconds|mssql_io_stall_total_seconds|mssql_resident_memory_bytes|mssql_virtual_memory_bytes|mssql_memory_utilization_percentage|mssql_page_fault_count|mssql_os_memory|mssql_os_page_file|mssql_database_detail_process_count|mssql_global_server_summary_perc_busy|mssql_global_server_summary_packet_errors|mssql_server_detail_blocked_processes|mssql_server_overview_cache_hit|mssql_transaction_log_overview_log_space_used'
        action: 'keep'
      - source_labels: [exported_job]
        target_label: instance
        replacement: ${1}
      - source_labels: [target] 
        target_label: jp1_pc_nodelabel
        replacement: ${1}

■ SQL exporterのディスカバリ設定ファイルの配置

  1. 次に示すSQL exporterの監視対象を定義する定義ファイルのモデルファイルをコピーし,コピー先の定義ファイル名にリネームする。

    コピー元のファイル名:JP1/IM - Agentのインストール先\jp1ima\conf\jpc_file_sd_config_mssql.yml.model

    コピー先のファイル名:JP1/IM - Agentのインストール先\jp1ima\conf\jpc_file_sd_config_mssql.yml

    また,論理ホスト運用の場合,このファイルを次の場所に配置します。

    共有フォルダ\jp1ima\conf\
  2. 手順1.で作成したjpc_file_sd_config_mssql.ymlファイルをテキストエディターで開き,次のように編集して上書き保存する。

    - targets:
    #  - @@hostname@@:SQL exporterのポート番号
      labels:
        jp1_pc_exporter: JPC SQL exporter
        jp1_pc_category: database
        jp1_pc_trendname: sql_exporter
        jp1_pc_remote_monitor_instance: @@hostname@@:MSSQL metric collector(SQL exporter)
        jp1_pc_multiple_node: "{__name__=~'mssql_.*'}"
    注※

    JP1/IM - Agentのホスト名(論理ホスト運用の場合は,論理ホスト名)を指定します。

■ 設定内容のチェック

Prometheus serverの定義ファイルは,promtoolコマンドで書式チェックができるため,チェックします。

promtoolコマンドは,JP1/IM - Agentのインストール先\jp1ima\toolsに格納されています。

promtool check config jpc_prometheus_server.yml

エラーが表示された場合は見直しを実施してください。

なお,次のような警告は表示されても問題はありません。

WARNING: file "../conf/jpc_file_sd_config_windows.yml" for file_sd in scrape job "jpc_windows" does not exist

■ JP1/IM - Agentの起動

JP1/IM - Agentのサービスを起動します。

  • 物理ホストの場合

    次のコマンドを実行して,JP1/IM - Agentのサービスを起動します。

    jpc_service_start -s all
  • 論理ホストの場合

    クラスタソフトから起動します。

(2) SQL exporterのインストール

SQL exporterをインストールする手順について説明します。

(a) インストールの前準備

  1. 環境変数JP1IMADIRに設定する値を確認する。

    SQL exporterのサービス定義ファイルに環境変数JP1IMADIRを設定する必要があります。JP1/IM - Agentのホストの種類によって次の値となります。

    ホスト種別

    環境変数JP1IMADIR

    物理ホスト運用の場合

    JP1/IM - Agentのインストール先\jp1ima

    論理ホスト運用の場合

    共有フォルダ\jp1ima

  2. 物理ホストで運用するか論理ホストで運用するか確認する。

    新しく追加するSQL exporterをスクレイプするJP1/IM - Agentが物理ホスト運用の場合は,SQL exporterも物理ホスト運用となります。

    新しく追加するSQL exporterをスクレイプするJP1/IM - Agentが論理ホスト運用の場合は,SQL exporterも論理ホスト運用となります。

(b) SQL exporterのインストール

  1. SQL exporterを配置する。

    1.23.4(1)(b) セットアップアーカイブファイルの入手」で入手したセットアップアーカイブファイルを任意のフォルダに展開します。展開先フォルダに,JP1/IM - ManagerやJP1/IM - Agentのインストール先フォルダを指定しないでください。

    注※

    sql_exporter_windows_VVRRSS.zip

    SQL exporterを論理ホストで運用する場合は,共有フォルダに配置してください。

  2. デフォルトのメトリック定義ファイルを作成する。

    次に示すデフォルトのメトリック定義ファイルのモデルファイルをコピーし,コピー先の定義ファイル名にリネームする。

    コピー元のファイル名:SQL exporterの配置先\sql_exporter_windows\jp1ima\conf\mssql_standard.collector.yml.model

    コピー先のファイル名:SQL exporterの配置先\sql_exporter_windows\jp1ima\conf\mssql_standard.collector.yml

  3. サービス定義ファイルを更新する。

    次のファイルが存在することを確認する。

    SQL exporterの配置先\sql_exporter_windows\jp1ima\bin\sql_exporter_service.exe

    SQL exporterの配置先\sql_exporter_windows\jp1ima\bin\sql_exporter_service.xml.model

    サービス定義ファイルの次の値を変更します。

    変更する値

    指定する値

    @@sql_exporter_installdir@@

    SQL exporterの配置先に置換する。

    @@autostart@@

    • OS起動時に自動起動させたい場合

      "Automatic"に置換する。

    • 自動起動させない場合

      "Manual"に置換する。

    論理ホストの場合は"Manual"に置換する。

  4. サービスを登録する。

    次のコマンドを実行して,SQL exporterサービスをWindowsに登録します。

    • 物理ホスト運用の場合

      sql_exporter_service.exe install

    • 論理ホスト運用の場合

      sql_exporter_論理ホスト名_service.exe install

      論理ホスト運用の場合はクラスタを構成する両ノードで実行してください。

  5. SQL exporter設定ファイルに監視対象を設定する。

    SQL exporterの監視対象を,SQL exporter設定ファイル(jpc_sql_exporter.yml)に記載します。

    SQL exporter設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SQL exporter設定ファイル(jpc_sql_exporter.yml)」(2. 定義ファイル)を参照してください。

  6. 監視対象を追加する。

    監視対象の追加の詳細については,「1.23.4(4)(a) 監視対象を追加する(必須)」を参照してください。

  7. クラスタソフトにサービスを登録する。

    クラスタ構成の場合は,クラスタソフトにサービスを登録します。

(c) Prometheusの設定

  1. SQL exporterのディスカバリ設定ファイルに監視対象を設定する。

    SQL exporterの監視対象をSQL exporterのディスカバリ設定ファイル(jpc_file_sd_config_mssql.yml)のtargetsに記載します。

    SQL exporterのディスカバリ設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SQL exporterのディスカバリ設定ファイル(jpc_file_sd_config_mssql.yml)」(2. 定義ファイル)を参照してください。

  2. promtoolコマンドで設定内容をチェックする。

    設定内容が正しいことを確認します。

    promtoolコマンドはJP1/IM - Agentのインストール先\jp1ima\toolsフォルダにあります。

    promtool check config jpc_prometheus_server.yml

    エラーが表示された場合は見直しを実施してください。

    なお,次のような警告は表示されても問題はありません。

      WARNING: file "../conf/jpc_file_sd_config_windows.yml" for file_sd in scrape job "jpc_windows" does not exist
  3. Prometheusを再起動する。

    変更した内容を反映するためにPrometheusを再起動します。

(3) SQL exporterのアンインストール

  1. SQL exporterを削除する。

    SQL exporterの削除は,「1.23.4(2)(b) SQL exporterのインストール」で配置したフォルダを削除してください。

(4) SQL exporterの設定

SQL exporterの設定方法について説明します。

(a) 監視対象を追加する(必須)

■ 監視対象を追加するための準備

  1. SQL exporter設定ファイルに監視対象を設定する。

    SQL exporterの監視対象を,SQL exporter設定ファイル(jpc_sql_exporter.yml)に記載します。

    SQL exporter設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SQL exporter設定ファイル(jpc_sql_exporter.yml)」(2. 定義ファイル)を参照してください。

  2. 監視に使用するMicrosoft SQL Serverのユーザーに必要な権限が割り当てられているか確認する。

    必要な権限については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(q)SQL exporter(Microsoft SQL Server監視機能)」に記載している「Microsoft SQL Serverを監視するための前提条件」を参照してください。

■ SQL exporterの設定

  1. SQL exporterのサービスを停止する。

  2. Microsoft SQL Serverへの接続に使用するユーザーのパスワードを登録する。

    Microsoft SQL Serverへの接続に使用するユーザーのパスワードをjimasecretコマンドで登録します。

    • 物理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.ユーザー名 -s パスワード
    • 論理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.ユーザー名 -s パスワード -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

  3. SQL exporterサービスを起動する。

    Windows管理ツールのサービス画面などから,SQL exporterのサービスを起動します。

    クラスタ構成の場合はクラスタソフトからサービスを起動します。

  4. SQL exporterで性能情報が取得できることを確認する。

    curlコマンドやブラウザーで次のURLにアクセスし,性能情報が取得できているか確認してください。

    http://ホスト名:20735/metrics

    ホスト名にはSQL exporterを起動しているホストを指定します。

■ インテリジェント統合管理基盤の設定

  1. すべてのサービスの起動が完了してから数分後にインテリジェント統合管理基盤のツリーの更新を実行する。

    統合オペレーション・ビューアーからのツリー情報の生成もしくは反映,または,jddcreatetreeコマンドもしくはjddupdatetreeコマンドを実行してツリーを更新し,次の表示を確認します。

    • インテリジェント統合管理基盤のツリーにMicrosoft SQL Serverの監視対象が表示されていること

    • 監視対象を選択し,トレンド表示できること

(b) 接続のためのパスワードを変更する(オプション)

運用中にMicrosoft SQL Serverのパスワードを変更した場合,SQL exporterが接続に使用するパスワードを更新する必要があります。

  1. SQL exporterを停止する。

  2. パスワードを更新する。

    Microsoft SQL Serverへの接続に使用するユーザーのパスワードをjimasecretコマンドで更新します。

    • 物理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.ユーザー名 -s パスワード
    • 論理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.ユーザー名 -s パスワード -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

  3. SQL exporterを起動する。

(c) 監視対象を削除する(オプション)

■ SQL exporterの設定

<一部の監視対象を削除する場合>

  1. SQL exporterを停止する。

  2. パスワードを削除する。

    Microsoft SQL Serverへの接続に使用するユーザーのパスワードをjimasecretコマンドで削除する。

    • 物理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.ユーザー名
    • 論理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.ユーザー名 -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

  3. SQL exporter設定ファイルから監視対象の接続情報を削除する。

    SQL exporterの監視対象の接続情報を,SQL exporter設定ファイル(jpc_sql_exporter.yml)から削除します。

    SQL exporter設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SQL exporter設定ファイル(jpc_sql_exporter.yml)」(2. 定義ファイル)を参照してください。

  4. SQL exporterを起動する。

<すべての監視対象を削除する場合>

  1. SQL exporterを停止する。

  2. サービスの登録を解除する。

    次のコマンドを実行してサービスの登録を解除してください。

    • 物理ホスト運用の場合

    sql_exporter_service.exe uninstall
    • 論理ホスト運用の場合

    sql_exporter_論理ホスト名_service.exe uninstall

    論理ホスト運用の場合はクラスタを構成する両ノードで実行する必要がある。

  3. Microsoft SQL Serverへの接続に使用するユーザーのパスワードを削除する。

    • 物理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.ユーザー名
    • 論理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.ユーザー名 -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

    複数のMicrosoft SQL Serverユーザーのパスワードを登録している場合は,すべてのユーザーに対し同様の操作を行ってください。

(d) SQL exporterの死活監視を設定する(オプション)

SQL exporterサービスの死活監視はPrometheus server のupメトリックで監視できます。アラート定義でSQL exporterも監視する場合の例を次に示します。

groups:
  - name: exporter_healthcheck
    rules:
    - alert: jp1_pc_exporter_healthcheck
      expr: up{jp1_pc_remote_monitor_instance=""} == 0 or label_replace(up{jp1_pc_exporter="JPC SQL exporter"}, "jp1_pc_nodelabel", "${1}", "jp1_pc_remote_monitor_instance", "^[^:]*:([^:]*)$") == 0 or label_replace(up{jp1_pc_remote_monitor_instance!="", jp1_pc_exporter!="JPC SQL exporter"}, "jp1_pc_nodelabel", "${1}", "jp1_pc_remote_monitor_instance", "^[^:]*:([^:]*)$") == 0
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_metricname: "up"
      annotations:
        jp1_pc_firing_description: "Exporterへの通信に失敗しました。instance={{ $labels.instance }}"
        jp1_pc_resolved_description: "Exporterへの通信に成功しました。instance={{ $labels.instance }}"

(e) 接続のためのユーザーを変更する(オプション)

  1. Microsoft SQL Serverに新しいユーザーを追加する。

    新しい監視用ユーザーが必要かつ未登録の場合だけ,この手順を実行してください。

  2. SQL exporterを停止する。

  3. 変更前のユーザーのパスワードを削除する。

    Microsoft SQL Serverへの接続に使用していたユーザーのパスワードをjimasecretコマンドで削除します。

    • 物理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.旧ユーザー名
    • 論理ホスト運用の場合

    jimasecret -rm -key MSSQL.ホスト名.インスタンス名.旧ユーザー名 -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

  4. 変更後のユーザーのパスワードを登録する。

    Microsoft SQL Serverへの接続に使用するユーザーのパスワードをjimasecretコマンドで登録します。

    • 物理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.新ユーザー名 -s パスワード
    • 論理ホスト運用の場合

    jimasecret -add -key MSSQL.ホスト名.インスタンス名.新ユーザー名 -s パスワード -l 共有フォルダ

    jimasecretコマンドの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)を参照してください。

  5. SQL exporter設定ファイルに記載している接続情報のユーザー名を変更する。

    SQL exporterの接続情報のユーザー名を,SQL exporter設定ファイル(jpc_sql_exporter.yml)から削除します。

    SQL exporter設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SQL exporter設定ファイル(jpc_sql_exporter.yml)」(2. 定義ファイル)を参照してください。

  6. SQL exporterを起動する。

  7. Microsoft SQL Serverから変更前のユーザーを削除する。

    変更前のユーザーが不要な場合,Microsoft SQL Serverから変更前のユーザーを削除してください。

(5) SQL exporterの構築に関するトラブルシュート

■SQL exporterの設定が完了したあと,メトリクスの値が取得できない場合

1.23.4(4)(a) 監視対象を追加する(必須)」の手順を実施したあと,メトリクスの値が取得できない場合の確認内容と対象方法を,次に示します。

確認内容

対処方法

参照先

監視対象のMicrosoft SQL Serverのサービスとインスタンスが起動しているか。

監視対象のMicrosoft SQL Serverサービスとインスタンスを起動する。

なし

監視対象のMicrosoft SQL Serverへの接続に使用するユーザーの権限は正しく設定されているか。

接続に使用するユーザーに正しい権限を付与する。

マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(q)SQL exporter(Microsoft SQL Server監視機能)」の「Microsoft SQL Serverを監視するための前提条件」

監視対象のMicrosoft SQL Serverへの接続に使用するユーザーのパスワードが登録済みか。

接続に使用するユーザーのパスワードを登録する。

なし

SQL exporterの配置先\sql_exporter_windows\jp1ima\logsフォルダにエラーログが出力されていないか。エラーログが出力されている場合は,参照先の説明に対処方法が記載されていないか。

参照先に記載されている対処方法を実施する。

マニュアル「JP1/Integrated Management 3 - Manager 運用ガイド」の「12.5.1(14) sql_exporterのログ」

(6) クラスタ環境

SQL exporterをスクレイプするJP1/IM - Agentが論理ホスト運用の場合は,SQL exporterも論理ホスト運用とする必要があります。