Hitachi

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


1.21.2 JP1/IM - Agentの設定

〈この項の構成〉

(1) 共通の設定方法

(a) 設定ファイルを編集する(Windowsの場合)

設定ファイルは,confディレクトリに格納されています。設定ファイルの内容を変更する方法には,次の2つの方法があります。

  • 統合オペレーション・ビューアーを使用する方法

  • ホストにログインして設定する方法

統合オペレーション・ビューアーを使用する場合に,編集できる設定ファイルについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「定義ファイル一覧」(2. 定義ファイル)で,JP1/IM - Agent(統合エージェント制御基盤)に関する定義ファイルの注記を参照してください。ホストにログインして設定する方法の場合は,すべての設定ファイルを編集できます。

■ 統合オペレーション・ビューアーを使用する方法

  1. 統合オペレーション・ビューアーから設定ファイルをダウンロードする。

    統合オペレーション・ビューアーから編集したい定義ファイルを選択してダウンロードします。

    ユーザーが任意で作成できる定義ファイルを追加する場合は,次の手順を実施します。

    1. ユーザー作成定義ファイルリスト定義ファイルをダウンロードします。

    2. ユーザー作成定義ファイルリスト定義ファイルに追加したい定義ファイルの情報を記載します。

    3. ユーザー作成定義ファイルリスト定義ファイルをアップロードします。

    4. 追加したい定義ファイルをアップロードします。

  2. ダウンロードしたファイルを編集する。

    メモ

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

    promtoolコマンドは,Prometheus serverに付属しています。Prometheus serverは,GitHubのサイトからダウンロードできます。JP1/IM - Agentに同梱されているPrometheus serverと同じバージョンを使用してください。

    JP1/IM - Agentのアドオンプログラムのバージョンは,統合オペレーション・ビューアーの[統合エージェント一覧]画面のアドオン機能一覧,または,Agentパス\addon_management\アドオン名\フォルダに格納されているaddon_info.txtファイルで確認できます。

  3. 統合オペレーション・ビューアーを使用して,編集したファイルをアップロードする。

    アップロードすると自動的に設定が反映されます。

■ ホストにログインして設定する方法

  1. 統合エージェントホストにログインする。

  2. JP1/IM - Agentのサービスを停止する。

  3. 設定ファイルを編集する。

    メモ

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

  4. JP1/IM - Agentのサービスを起動する。

(b) サービス定義ファイルを変更する(Windowsの場合)

サービス定義ファイルの格納先とファイル名を,次に示します。

  • 格納先:インストール先フォルダ\jp1ima\bin\

  • ファイル名:jpc_サービス名_service.xml

    重要
    • サービス定義ファイルの項目を変更した場合,変更を反映するために,サービスの再起動またはサービスの再インストールが必要となります。各項目の反映に必要な操作については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「定義の反映時期」を参照してください。

    • サービスの再インストールが必要な項目を変更した場合は,サービスの登録を一度無効化し,有効化しなおす必要があります。サービスの登録の有効化・無効化の方法については,「1.21.1(1)アドオンプログラムの有効化・無効化」を参照してください。

    注※

    サービスの再インストールとは,いったんサービスを削除してから,再度サービスを作成する(jpc_serviceコマンドを使用)ことを意味しています。

サービス定義ファイルを変更する手順を,次に示します。

  1. 統合エージェントホストにログインする。

  2. JP1/IM - Agentのサービスを停止する。

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

  4. JP1/IM - Agentのサービスを起動する。

(c) コマンドラインオプションを変更する(Windowsの場合)

サービス定義ファイルの<arguments>タグで,コマンドラインオプションを変更します。

編集方法については,「1.21.2(1)(b)サービス定義ファイルを変更する(Windowsの場合)」を参照してください。

(2) 統合エージェント制御基盤の設定

(a) 接続先の統合マネージャーを変更する(Windowsの場合)(オプション)

  1. JP1/IM - Agentのサービスを停止する。

  2. 接続先の統合マネージャーを変更する。

    imagent共通設定ファイル(jpc_imagentcommon.json)に定義されている接続先の統合マネージャーを,新しい接続先に変更します。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 初期シークレットを確認する。

    統合マネージャーホストの統合オペレーション・ビューアーで初期シークレット(初回接続用のシークレット)を確認します。

    詳細については,マニュアル「JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.3 [初期シークレットの表示]画面」を参照してください。

  4. 初期シークレットを難読化して登録する。

    シークレット管理コマンドで,初期シークレットを難読化して登録します。

    jimasecret -add -key immgr.initial_secret -s "初期シークレット"
  5. 個別シークレットを削除する。

    シークレット管理コマンドで,個別シークレットを削除します。

    jimasecret -rm -key immgr.client_secret
  6. 証明書を変更する。

    CA証明書の変更方法については,「1.21.2(2)(c) CA証明書を配置する(Windowsの場合)(オプション)」を参照してください。

    変更前の接続先の統合マネージャーと新しい接続先のimbaseのサーバー証明書を発行した認証局が同じである場合は,この手順は不要です。

  7. JP1/IM - Agentを起動する。

(b) ポートを変更する(Windowsの場合)(オプション)

統合エージェント制御基盤が使用するリッスンポートは,imagent設定ファイル(jpc_imagent.json)とimagentproxy設定ファイル(jpc_imagent_proxy.json)に指定します。

設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

デフォルトのポート番号については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「付録C.1(2)JP1/IM - Agentが使用するポート番号」を参照してください。

なお,imagentproxyプロセスのポートを変更した場合は,Prometheusのリモートライト先,Alertmanagerのアラート通知先,およびFluentdのアラート通知先を変更する必要があります。それぞれの変更の詳細については,下記を参照してください。

(c) CA証明書を配置する(Windowsの場合)(オプション)

統合エージェント管理基盤と統合エージェント制御基盤の間の通信を暗号化する場合に,この設定が必要となります。暗号化を行わない場合は,この設定は不要です。

CA証明書を配置する手順については,「9.4.5 JP1/IM - Agent(統合エージェント制御基盤)の設定」を参照してください。

■ 統合エージェント管理基盤のサーバー証明書を検証する場合

  1. CA証明書を配置する。

    接続先のimbaseのサーバー証明書を発行した認証局のCA証明書を,次のディレクトリに配置します。

    • Windowsの場合

      Agentパス\conf\user\cert\

    • Linuxの場合

      /opt/jp1ima/conf/user/cert/

  2. imagent共通設定ファイル(jpc_imagentcommon.json)にCA証明書のパスを記載する。

  3. imagentとimagentproxyを再起動する。

■ 統合エージェント管理基盤のサーバー証明書を検証しない場合

  1. imagent共通設定ファイル(jpc_imagentcommon.json)のtls_config.insecure_skip_verifyに「true」を設定する。

(d) アクション実行に関する設定を変更する(Windowsの場合)(オプション)

アクション実行に関する設定は,imagent設定ファイル(jpc_imagent.json)に定義します。

設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(e) プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)

エージェントホストとマネージャーホストの間にBasic認証が必要なプロキシサーバが存在する場合,認証IDとパスワードを設定する必要があります。

認証IDは,imagent共通設定ファイル(jpc_imagentcommon.json)のimmgr.proxy_userに設定します。各定義ファイルの設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

パスワードは,次の手段で設定します。詳細については,それぞれの説明個所を参照してください。

  • シークレット管理コマンド

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

  • 統合オペレーション・ビューアーの[シークレット一覧]ダイアログ

    詳細については,マニュアル「JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.2(4)[シークレット一覧]ダイアログ」を参照してください。

  • 統合オペレーション・ビューアーのシークレット管理のREST API

    詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.4.3 初期シークレット発行」を参照してください。

(f) アクションの実行ユーザーを変更する(必須)

imagent設定ファイル(jpc_imagent.json)のaction.username,action.domainnameを変更します。設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。また,指定したユーザーのパスワードをjimasecretコマンドで登録する必要があります。

(3) Prometheus serverの設定

(a) ポートを変更する(Windowsの場合)(オプション)

Prometheus serverが使用するリッスンポートは,prometheusコマンドの--web.listen-addressオプションに指定します。

prometheusコマンドのオプションの変更方法については,「1.21.2(1)(c) コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「prometheusコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20713」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。ただし,他ホストのBlackbox exporterによる外形監視でPrometheus serverを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討してください。

(b) アラート定義を追加する(Windowsの場合)(オプション)

アラート定義は,アラート設定ファイル(jpc_alerting_rules.yml)に定義します。

アラート設定ファイルの編集方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

アラート定義で設定が必要な項目については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の,「3.15.1(3)パフォーマンスデータの監視・通知機能」の「(a)アラート評価機能」の「JP1イベントに変換するためのアラートルール定義」を参照してください。また,各項目の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「アラート設定ファイル(jpc_alerting_rules.yml)」(2. 定義ファイル)を参照してください。

アラート定義のサンプルについては,次の定義ファイルのモデルファイルの設定内容(初期状態)を参考にしてください。

  • Node exporterのメトリック定義ファイル(metrics_node_exporter.conf)

  • Windows exporterのメトリック定義ファイル(metrics_windows_exporter.conf)

  • Blackbox exporterのメトリック定義ファイル(metrics_blackbox_exporter.conf)

  • Yet another cloudwatch exporterのメトリック定義ファイル(metrics_ya_cloudwatch_exporter.conf)

    メモ

    アラート定義を作成するときのポイントを次に示します。

    • JP1/IM - Agentの性能監視機能では,期間(for)を指定できます。指定した期間に継続してアラート条件に該当した場合,発火と判定されます。

    • メトリックが存在することを検知したい場合は,アラート条件でabsent()関数を使用して実現します。

      absent(メトリック{ラベル})

    • 特定期間だけアラートを有効にしたい場合は,アラート条件にPromQLを使用して設定します。

      (例)日本時刻で8時から12時まで監視する場合

      アラート条件 and ON() (23 <= hour() or 0 <= hour() < 3)

      hour()」はUTCの時刻を返却するため,UTCを考慮する必要がある点に注意してください。

    • JP1/IM - Agentの性能監視機能では発火と回復が通知されます。警告と異常の2段階で通知させたい場合は,警告用のアラートと異常用のアラートを作成してください。

    • アラート発生時に表示するメッセージには,次の内容を指定できます。

      ・発火時のメッセージ

      ・回復時のメッセージ

    • アラートのメッセージに埋め込むことができる変数については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(3)(a)アラート評価機能」を参照してください。

    重要

    アラート定義は,各アラート定義で評価される時系列データ数の合計が150未満となるように設定してください。

    たとえば,Windowsのネットワークインターフェースに関するアラートを3つ作成したとして,Windowsホストにネットワークインターフェイスが4つある場合,Windows exporterが収集するネットワークインターフェイスの時系列データは4つ生成されます。

    このため,4つの時系列データが3つのアラートで評価されることになるので,合計で時系列データは4 * 3 = 12個となります。

(c) Blackbox exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)

Blackbox exporterのスクレイプジョブを追加する前に,Blackbox exporterの設定ファイルにモジュールを追加する必要があります。詳細については,「1.21.2(6)(b) モジュールを追加・変更・削除する(Windowsの場合)(オプション)」を参照してください。

モジュールを追加したあとに,次の手順を実施して,新しく作成したモジュールをスクレイプするスクレイプジョブを設定します。

  1. Blackbox exporterのディスカバリ設定ファイルを作成する。

    次に示すコピー元のモデルファイルをコピーし,コピー先の定義ファイル名にリネームすることで,Blackbox exporterのディスカバリ設定ファイルを作成します。

    ■HTTP/HTTPS監視を行う場合

    • Windowsの場合

      コピー元:Agentパス\conf\jpc_file_sd_config_blackbox_http.yml.model

      コピー先:Agentパス\conf\file_sd_config_blackbox_httpで始まるモジュール

    • Linuxの場合

      コピー元:/opt/jp1ima/conf/jpc_file_sd_config_blackbox_http.yml.model

      コピー先:/opt/jp1ima/conf/file_sd_config_blackbox_httpで始まるモジュール名.yml

    ■ICMP監視を行う場合

    • Windowsの場合

      コピー元:Agentパス\conf\jpc_file_sd_config_blackbox_icmp.yml.model

      コピー先:Agentパス\conf\file_sd_config_blackbox_icmpで始まるモジュール名.yml

    • Linuxの場合

      コピー元:/opt/jp1ima/conf/jpc_file_sd_config_blackbox_icmp.yml.model

      コピー先:/opt/jp1ima/conf/file_sd_config_blackbox_icmpで始まるモジュール名.yml

    モジュール名は,「1.21.2(6)(b) モジュールを追加・変更・削除する(Windowsの場合)(オプション)」で追加したモジュールを示します。

  2. Blackbox exporterのディスカバリ設定ファイルを編集する。

    • HTTP/HTTPS監視のディスカバリ設定ファイルの場合

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter(HTTP/HTTPS監視)のディスカバリ設定ファイル(jpc_file_sd_config_blackbox_http.yml)」(2. 定義ファイル)を参照してください。

    • ICMP監視のディスカバリ設定ファイルの場合

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

  3. 統合オペレーション・ビューアーを使用して定義ファイルを追加する。

    定義ファイルを追加する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  4. Prometheus設定ファイルにスクレイプジョブを追加する。

    • HTTP/HTTPS監視を行う場合

    Prometheus設定ファイル(jpc_prometheus_server.yml)で,ジョブ名が「jpc_blackbox_http」のスクレイプジョブの定義をコピーして,新しいスクレイプジョブを追加します。

    • ICMP監視を行う場合

    Prometheus設定ファイル(jpc_prometheus_server.yml)で,ジョブ名「jpc_blackbox_icmp」のスクレイプジョブの定義をコピーして,新しいスクレイプジョブを追加します。

    <設定例>

    scrape_configs:
      - job_name: 任意のスクレイプジョブ名
        metrics_path: /probe
        params:
          module: [モジュール名]
        file_sd_configs:
          - files:
            - 'ディスカバリ設定ファイル名'
        relabel_configs:
          (省略)
        metric_relabel_configs:
          (省略)
    任意のスクレイプジョブ名

    ほかのスクレイプジョブ名と重複しない任意の名前を,1〜255文字の範囲で,制御文字以外の文字で指定します。

    モジュール名

    1.21.2(6)(b) モジュールを追加・変更・削除する(Windowsの場合)(オプション)」で追加したモジュール名を指定します。

    ディスカバリ設定ファイル名

    手順1で作成したファイル名を指定します。

    Prometheus設定ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)の<scrape_config>を参照してください。

    Prometheus設定ファイルを編集する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(d) ユーザー独自のExporterのスクレイプジョブを追加する(Windowsの場合)(オプション)

ユーザー独自のExporterをスクレイプするには,次の設定が必要です。

  • ユーザー独自のディスカバリ設定ファイルの追加

  • Prometheus設定ファイル(jpc_prometheus_server.yml)の編集

各定義ファイルを追加・編集する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  1. ユーザー独自のディスカバリ設定ファイルを追加する。

    スクレイプしたいユーザー独自のExporterを,ユーザー独自のディスカバリ設定ファイルに指定します。

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユーザー独自のディスカバリ設定ファイル(user_file_sd_config_任意の名前.yml)」(2. 定義ファイル)を参照してください。

  2. Prometheus設定ファイルにスクレイプジョブを追加する。

    Prometheus設定ファイル(jpc_prometheus_server.yml)に,ユーザー独自のExporterをスクレイプするためのスクレイプジョブを追加します。

    スクレイプジョブはscrape_configsの中に記載します。

    <設定例>

    scrape_configs:
      - job_name: スクレイプジョブ名
     
        file_sd_configs:
          - files:
            - ディスカバリ設定ファイル名
     
        relabel_configs:
          - target_label: jp1_pc_nodelabel
            replacement: IM管理ノードのラベルに表示する文字列
     
        metric_relabel_configs:
          - source_labels: ['__name__']
            regex: 'メトリック1|メトリック2|メトリック3'
            action: 'keep'
    スクレイプジョブ名

    任意の文字列を指定します。この値がメトリックのjobラベルに設定されます。

    ディスカバリ設定ファイル名

    上記の手順1で作成したユーザー独自のディスカバリ設定ファイルのファイル名を指定します。

    メトリック1メトリック2メトリック3

    収集したいメトリックを指定します。収集したいメトリックが複数存在する場合は,「|」で区切って指定します。

    すべてのメトリックを収集したい場合は,「metric_relabel_configs」の記載は不要です。ただし,メトリックが大量に存在した場合に,データ量が増加するため,「metric_relabel_configs」を記載し,監視するメトリックだけに絞ることを推奨します。

    IM管理ノードのラベルに表示する文字列

    統合オペレーション・ビューアーでIM管理ノードのラベルに表示する文字列を制御文字以外の文字で指定します。

    値は,URLエンコードしたときの文字列が,234バイト以内(すべてマルチバイト文字の場合の上限は26文字)となるようにしてください。JP1/IM - Agentが作成するIM管理ノードのラベルと同じ値を指定することはできません。同一ホスト内で重複しない文字列を指定してください。重複する文字列を指定した場合,構成情報のSIDが同一となり,正しくIM管理ノードが作成されません。

  3. メトリック定義ファイルを追加する。

    ユーザー独自のExporter用のメトリック定義ファイルを追加します。

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユーザー独自のメトリック定義ファイル(metrics_任意のPrometheusトレンド名.conf)」(2. 定義ファイル)を参照してください。

(e) リモートライト先を変更する(Windowsの場合)(オプション)

リモートライト先は,Prometheus設定ファイル(jpc_prometheus_server.yml)のremote_write.urlに,同じホスト上で稼働するimagentproxyプロセスのURLとポートを指定します。imagentproxyプロセスのポートを変更する場合にだけ,変更が必要です。

<設定例>

remote_write:
  - url: http://localhost:20727/ima/api/v1/proxy/service/promscale/write

設定ファイルを変更する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(f) サービス監視の設定をする(Windowsの場合)(オプション)

JP1/IM - Agent 13-00から13-01以降にバージョンアップインストールした環境で,サービス監視機能を使用する場合,次の設定を行います。JP1/IM - Agent 13-01以降を新規インストールした場合は,この設定は不要です。

■ Prometheus設定ファイル(jpc_prometheus_server.yml)の編集

jpc_windowsスクレイプジョブのmetric_relabel_configsの設定で,メトリックを保持する設定に「windows_service_state」が設定されていない場合,設定を追加します。また,同じmetric_relabel_configsの設定で,「windows_service_.*」メトリックに対するrelabel configが設定されていない場合,設定を追加します。下記のとおりに下線部分の設定を追加します。

(省略)
scrape_configs:
(省略)
  - job_name: 'jpc_windows'
(省略)
    metric_relabel_configs:
      - source_labels: ['__name__']
        regex: 'windows_cs_physical_memory_bytes|windows_cache_copy_read_hits_total|(省略)|windows_process_working_set_peak_bytes|windows_process_working_set_bytes|windows_service_state'
        action: 'keep'
      - source_labels: ['__name__']
        regex: 'windows_process_.*'
        target_label: 'jp1_pc_trendname'
        replacement: 'windows_exporter_process'
      - source_labels: ['__name__','process']
        regex: 'windows_process_.*;(.*)'
        target_label: 'jp1_pc_nodelabel'
        replacement: ${1}
      - source_labels: ['__name__']
        regex: 'windows_service_.*'
        target_label: 'jp1_pc_trendname'
        replacement: 'windows_exporter_service'
      - source_labels: ['__name__']
        regex: 'windows_service_.*'
        target_label: 'jp1_pc_category'
        replacement: 'service'
      - source_labels: ['__name__','name']
        regex: 'windows_service_.*;(.*)'
        target_label: 'jp1_pc_nodelabel'
        replacement: ${1}
      - regex: jp1_pc_multiple_node
        action: labeldrop

■ Windows exporterのディスカバリ設定ファイル(jpc_file_sd_config_windows.yml)の編集

jp1_pc_multiple_nodeの設定に,「windows_service_state」が設定されていない場合,下記のとおりに下線部分の設定を追加します。

- targets:
  - ホスト名:20717
  labels:
    jp1_pc_exporter: JPC Windows exporter
    jp1_pc_category: platform
    jp1_pc_trendname: windows_exporter
    jp1_pc_multiple_node: "{__name__=~'windows_process_.*|windows_service_.*'}"

(g) IM管理ノードのラベル名(jp1_pc_nodelabelの値)が上限を超える場合の設定をする(Windowsの場合)(オプション)

IM管理ノードのラベル名(jp1_pc_nodelabelの値)の長さの上限は,URLエンコードしたときの文字列で234バイトです(すべてマルチバイト文字の場合の上限は26文字です)。上限を超える場合,Prometheus設定ファイル(jpc_prometheus_server.yml)のmetric_relabel_configsで,jp1_pc_nodelabelの値を変更する必要があります。値を変更しなかった場合,IM管理ノードを作成する操作を行ったときに,その値をもつIM管理ノードは作成されません。

値を変更する場合,Prometheus設定ファイル(jpc_prometheus_server.yml)のスクレイプジョブの,metric_relabel_configsの設定に,次の下線部分の設定を追加します。複数の監視対象で値を変更するときは,監視対象の数だけ設定を追加します。

■ Prometheus設定ファイル(jpc_prometheus_server.yml)の編集

(省略)
scrape_configs:
(省略)
  - job_name: 'スクレイプジョブ名'
(省略)
    metric_relabel_configs:
(省略)
      - source_labels: ['jp1_pc_nodelabel']
        regex: 'jp1_pc_nodelabelの変更前の値にマッチする正規表現'
        target_label: 'jp1_pc_nodelabel'
        replacement: 'jp1_pc_nodelabelの変更後の値'

(h) SAPシステムのログ抽出コマンドをScript exporterを使用して実行する場合の設定(Windowsの場合)(オプション)

次の手順を実施します。

  1. Prometheus設定ファイルのスクレイプ定義を編集する。

    SAPシステムのログ抽出コマンドを,Script exporterのhttp_sd_config方式を使用して実行する場合は,Script exporterのスクレイプ定義を,下記の下線部分のように変更します。

    • Prometheus設定ファイル(jpc_prometheus_server.yml)の編集

    (省略)
    scrape_configs:
    (省略)
     
      - job_name:  'jpc_script'
     
        http_sd_configs:
          - url: 'http://インストールホスト名:ポート/discovery'
    (省略)
     
        metric_relabel_configs:
          - source_labels: ['__name__']
            regex: 'script_success|script_duration_seconds|script_exit_code'
            action: 'keep'
          - source_labels: [jp1_pc_script]
            target_label: jp1_pc_nodelabel
          - source_labels: [jp1_pc_script]
            regex: '.*jr3slget.*|.*jr3alget.*'
            target_label: 'jp1_pc_category'
            replacement: 'enterprise'
          - regex: (jp1_pc_script|jp1_pc_multiple_node|jp1_pc_agent_create_flag)
            action: labeldrop

(4) Alertmanagerの設定

(a) ポートを変更する(Windowsの場合)(オプション)

Alertmanagerが使用するリッスンポートは,alertmanagerコマンドの--web.listen-addressオプションに指定します。

alertmanagerコマンドのオプションの変更方法については,「1.21.2(1)(c) コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「alertmanagerコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20714」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。ただし,他ホストのBlackbox exporterによる外形監視でAlertmanagerを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討してください。

(b) アラート通知先を変更する(Windowsの場合)(オプション)

アラート通知先は,Alertmanager設定ファイル(jpc_alertmanager.yml)のreceivers. webhook_configs.urlに,アラート通知先は同じホスト上で稼働するimagentproxyプロセスのURLとポートを指定します。imagentproxyプロセスのポートを変更する場合にだけ,変更が必要です。

設定ファイルを変更する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(c) サイレンスを設定する(Windowsの場合)(オプション)

サイレンスを設定したいAlertmanagerが稼動しているホストに対して,JP1/IM - Managerからコマンドを実行します。curlコマンドを使用して,サイレンスの設定を行うREST APIを呼び出します。

サイレンスを設定するREST APIについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.21.4 Alertmanagerのサイレンス作成」を参照してください。

リクエストのメッセージボディーに指定するサイレンスの設定内容は,curlコマンドの引数で渡します。

(5) Windows exporterの設定

(a) ポートを変更する(オプション)

Windows exporterが使用するリッスンポートは,windows_exporterコマンドの--telemetry.addrオプションに指定します。

windows_exporterコマンドのオプションの変更方法については,「1.21.2(1)(c) コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,--telemetry.addrオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「windows_exporterコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20717」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) 収集するメトリックを変更する(オプション)

  1. Prometheus設定ファイルにメトリックを追加する。

    Prometheus設定ファイル(jpc_prometheus_server.yml)のmetric_relabel_configsに,収集するメトリックが「|」で区切って定義されています。収集する必要がないメトリックを削除し,収集するメトリックを追加します。

    設定ファイルを更新する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

    <設定例>

      - job_name: 'jpc_windows'
        :
        metric_relabel_configs:
          - source_labels: ['__name__']
            regex: 'windows_cache_copy_read_hits_total|windows_cache_copy_reads_total|windows_cpu_time_total|windows_logical_disk_free_bytes|windows_logical_disk_idle_seconds_total|windows_logical_disk_read_bytes_total|・・・・|windows_net_packets_sent_total|windows_net_packets_received_total|windows_system_context_switches_total|windows_system_processor_queue_length|windows_system_system_calls_total【ここにメトリクスを追加します】'
            action: 'keep'
  2. 必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。

    Windows exporterおよびWindows exporter(プロセス監視)のメトリック定義ファイルに,トレンド表示の定義を行います。

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windows exporterのメトリック定義ファイル(metrics_windows_exporter.conf)」(2. 定義ファイル)および「Windows exporter(プロセス監視)のメトリック定義ファイル(metrics_windows_exporter_process.conf)」(2. 定義ファイル)を参照してください。

  3. サービス監視の設定を行う。

    ■Windows exporter設定ファイル(jpc_windows_exporter.yml)の編集

    サービス監視を行う場合,下記の下線部分のとおりに,Windows exporter設定ファイル(jpc_windows_exporter.yml)の編集を行います。

    collectors:
      enabled: cache,cpu,logical_disk,memory,net,system,cs,process,service
    collector:
      logical_disk:
        volume-whitelist: ".+"
        volume-blacklist: ""
      net:
        nic-whitelist: ".+"
        nic-blacklist: ""
      process:
        whitelist: ""
        blacklist: ""
      service:
        services-where: "WQLのWhere句"
    scrape:
      timeout-margin: 0.5

    collectors」の「enabled」に「service」が設定されていない場合,「service」の設定を追加します。

    collector」の「service」が設定されていない場合,「service」と「services-where」の行を追加します。「services-where」の値は,WQLのWhere句で,監視したいサービスのサービス名を「Name='サービス名'」の形式で設定します。サービス名は完全一致で設定し,複数のサービスを監視する場合は,ORでつなげて,「Name='サービス名' OR Name='サービス名' OR …」の形式で設定します。

    ■Windows exporter設定ファイル(jpc_windows_exporter.yml)の定義例

    jpc_imagentとjpc_imagentproxyのサービスを監視する場合の定義例を,次に示します。

    collectors:
      enabled: cache,cpu,logical_disk,memory,net,system,cs,process,service
    collector:
      logical_disk:
        volume-whitelist: ".+"
        volume-blacklist: ""
      net:
        nic-whitelist: ".+"
        nic-blacklist: ""
      process:
        whitelist: ""
        blacklist: ""
      service:
        services-where: "Name='jpc_imagent' OR Name='jpc_imagentproxy'"
    scrape:
      timeout-margin: 0.5

(c) 監視対象プロセスの指定(必須)

■Windows exporter設定ファイル(jpc_windows_exporter.yml)の編集

Windows exporter設定ファイル(jpc_windows_exporter.yml)を編集し,監視対象プロセスを定義します。

デフォルトでは,すべてのプロセスが監視対象外となるため,監視したいプロセスの指定をWindows exporter設定ファイルで行います。

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

(6) Blackbox exporterの設定

(a) ポートを変更する(Windowsの場合)(オプション)

Blackbox exporterが使用するリッスンポートは,blackbox_exporterコマンドの--web.listen-addressオプションに指定します。

blackbox_exporterコマンドのオプションの変更方法については,「1.21.2(1)(c) コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「blackbox_exporterコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20715」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) モジュールを追加・変更・削除する(Windowsの場合)(オプション)

Blackbox exporterでは,監視対象(ホストやURL)ごとに,プロトコル,認証情報などの監視方法を定義する必要があります。

初期設定で定義されているモジュールは,次のとおりです。

表1‒14 初期設定で定義されているモジュール

モジュール名

特徴

http

  • http/httpsを監視します。

  • メソッドは「GET」で,ヘッダは設定しません。

  • クライアント認証,サーバ認証,HTTP認証(Basic認証)は行いません。

  • http/httpsのURLに対してアクセスし,200番台のステータスコードが返却された場合,probe_successメトリックに1を設定します。

  • URLに対して通信できない,または,ステータスコードが200番台でない場合,probe_successメトリックに0を設定します。

  • 監視対象がリダイレクトする場合は,リダイレクト先のステータスコードに依存します。

icmp

  • icmpを監視します。

  • 認証は行いません。

  • 監視対象のホストまたはIPアドレスに対して,icmpで通信できた場合,probe_successメトリックに1を設定します。通信できない場合,0を設定します。

初期設定のモジュールで監視できる場合は,新たに定義する必要はありません。次に示すように,初期設定のモジュールでは監視できない要件がある場合は,モジュール定義を追加する必要があります。

  • 認証が必要な場合

  • レスポンスの内容によって判定を変更したい場合

モジュールは,Blackbox exporter設定ファイルに定義します。記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)」(2. 定義ファイル)を参照してください。

記述規則を次に示します。

  • 新しいモジュール名は,次のように設定してください。

    • HTTP/HTTPS監視を行う場合

      httpで始まる名称を設定します。

    • ICMP監視の場合

      icmpで始まる名称を設定します。

  • クライアント認証,サーバ認証,HTTP認証(Basic認証)を行うモジュールを作成する場合,証明書やパスワードの設定が必要となります。

    証明書の配置先については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「付録A.4 JP1/IM - Agent」のファイルおよびディレクトリ一覧を参照してください。

    HTTP認証(Basic認証)のパスワードの設定方法については,「1.21.2(6)(e) プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)」と「1.21.2(6)(f) 監視対象のWebサーバにアクセスするための認証ID,パスワード,Bearerトークンを設定する(Windowsの場合)(オプション)」を参照してください。

    表1‒15 監視条件と必要な設定

    監視条件

    必要なファイル

    必要な設定

    サーバー認証する

    監視対象が持つサーバー証明書を発行した認証局のCA証明書をAgentパス/conf/user/certに配置します。

    Blackbox exporter設定ファイルのtls_configに下記を設定します。

    • ca_fileにCA証明書のパスを設定

    • insecure_skip_verifyにfalseを設定

    サーバー認証しない

    なし。

    Blackbox exporter設定ファイルのtls_configに下記を設定します。

    • insecure_skip_verifyにtrueを設定

    クライアント認証する

    • クライアント証明書をAgentパス/conf/user/certに配置します。

    • クライアント証明書キーファイルをAgentパス/conf/user/secretに配置します。

    Blackbox exporter設定ファイルのtls_configに下記を設定します。

    • cert_fileにクライアント証明書パスを設定

    • key_fileにクライアント証明書キーファイルを設定

    クライアント認証しない

    なし。

    なし。

    Basic認証する

    なし。

    Blackbox exporter設定ファイルのbasic_authに下記を設定します。

    • usernameにBasic認証に使用するユーザー名を設定

    Basic認証のパスワードの設定については,「1.21.2(6)(f) 監視対象のWebサーバにアクセスするための認証ID,パスワード,Bearerトークンを設定する(Windowsの場合)(オプション)」を参照してください。

Blackbox exporter設定ファイルの更新,証明書ファイルの配置の手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

Blackbox exporterから監視対象Webサーバにアクセスする際にプロキシサーバを経由する必要がある場合は,プロキシサーバの設定が必要です。「1.21.2(6)(d) プロキシ経由でHTTP監視をする(Windowsの場合)(オプション)」を参照してください。

モジュール定義を追加した場合は,Prometheus serverから新しく作成したモジュールを使ってスクレイプするためのスクレイプジョブの定義が必要になります。Prometheus server側の設定については,「1.21.2(3)(c) Blackbox exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)」を参照してください。

(c) 監視対象を追加・変更・削除する(Windowsの場合)(必須)

Blackbox exporterの監視対象を,次の表に示す定義ファイルに記載します。

監視対象を追加したあとで,IM管理ノードのツリー情報を更新する必要があります。詳細については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

  • Blackbox exporter(HTTP/HTTPS監視)のディスカバリ設定ファイル

    項目

    説明

    ファイル名

    • jpc_file_sd_config_blackbox_http.yml

    • file_sd_config_blackbox_httpで始まるモジュール名.yml

    設定対象

    HTTP/HTTPSの監視対象を定義します。

    書式

    マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter(HTTP/HTTPS監視)のディスカバリ設定ファイル(jpc_file_sd_config_blackbox_http.yml)」(2. 定義ファイル)を参照してください。

    更新手順

    1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  • Blackbox exporter(ICMP監視)のディスカバリ設定ファイル

    項目

    説明

    ファイル名

    • jpc_file_sd_config_blackbox_icmp.yml

    • file_sd_config_blackbox_icmpで始まるモジュール名.yml

    設定対象

    ICMPの監視対象を定義します。

    書式

    マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter(ICMP監視)のディスカバリ設定ファイル(jpc_file_sd_config_blackbox_icmp.yml)」(2. 定義ファイル)を参照してください。

    更新手順

    1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(d) プロキシ経由でHTTP監視をする(Windowsの場合)(オプション)

Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)に「proxy_url」を設定します。

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

Blackbox exporter設定ファイルの更新手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

なお,認証が必要なプロキシを経由する場合は,認証IDとパスワードを設定する必要があります。認証IDとパスワードの設定方法については,「1.21.2(6)(e) プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)」を参照してください。

Blackbox exporterが実施するDNS解決とURLの変更をスキップする場合は,Blackbox exporter設定ファイルのskip_resolve_phase_with_proxyにtrueを設定する必要があります。skip_resolve_phase_with_proxyの設定が必要な場合の例と詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・API リファレンス」の「Blackbox exporter 設定ファイル(jpc_blackbox_exporter.yml)」(2. 定義ファイル)を参照してください。

(e) プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)

HTTP/HTTPS監視を行う際に,Blackbox exporterと監視対象のWebサーバの間にBasic認証が必要なプロキシサーバが存在する場合,認証IDとパスワードを設定する必要があります。

認証IDは,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の「modules.モジュール名.http.proxy_user」に指定します。Blackbox exporter設定ファイルの設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

パスワードは,次の手段で設定します。詳細については,それぞれの説明個所を参照してください。

  • シークレット管理コマンド

  • 統合オペレーション・ビューアーの[シークレット一覧]ダイアログ

  • 統合オペレーション・ビューアーのシークレット管理のREST API

(f) 監視対象のWebサーバにアクセスするための認証ID,パスワード,Bearerトークンを設定する(Windowsの場合)(オプション)

HTTP/HTTPS監視を行う際に,監視対象のWebサーバにアクセスするためにBasic認証が必要な場合,認証ID,パスワード,およびBearerトークンを設定する必要があります。

認証IDは,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の「modules.モジュール名.http.basic_auth.username」に指定します。Blackbox exporter設定ファイルの設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

パスワードおよびBearerトークンは,次の手段で設定します。詳細については,それぞれの説明個所を参照してください。

  • シークレット管理コマンド

  • 統合オペレーション・ビューアーの[シークレット一覧]ダイアログ

  • 統合オペレーション・ビューアーのシークレット管理のREST API

(7) Yet another cloudwatch exporterの設定

(a) ポートを変更する(Windowsの場合)(オプション)

Yet another cloudwatch exporterが使用するリッスンポートは,yet-another-cloudwatch-exporterコマンドの-listen-addressオプションに指定します。

yet-another-cloudwatch-exporterコマンドのオプションの変更方法については,「1.21.2(1)(c)コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,-listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」の「yet-another-cloudwatch-exporterコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20718」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) CloudWatchに接続するための設定を変更する(Windowsの場合)(オプション)

Yet another cloudwatch exporterからCloudWatchに接続する方式には,アクセスキーを使用する方式(以降,アクセスキー方式と呼びます)とIAMロールを使用する方式(以降,IAMロール方式と呼びます)があります。Yet another cloudwatch exporterをAWS/EC2以外のホスト上にインストールする場合は,アクセスキー方式だけが使用できます。Yet another cloudwatch exporterをAWS/EC2上にインストールする場合は,アクセスキー方式またはIAMロール方式を使用できます。

CloudWatchに接続する手順について,次に示す4つのパターンで説明します。

  • アクセスキー方式(その1)

    AWSアカウントのIAMユーザーでCloudWatchに接続する

  • アクセスキー方式(その2)

    同じロールを設定したAWSアカウントの複数のIAMユーザーを作成し,このロール内のIAMユーザーでCloudWatchに接続する

  • IAMロール方式(その1)

    IAMロールを設定したAWSアカウントでCloudWatchに接続する

  • IAMロール方式(その2)

    同じIAMロールを設定した複数のAWSアカウントでCloudWatchに接続する

■アクセス方式(その1)でCloudWatchに接続する場合

  1. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Sid": "CloudWatchExporterPolicy",

    "Effect": "Allow",

    "Action": [

    "tag:GetResources",

    "cloudwatch:ListTagsForResource",

    "cloudwatch:GetMetricData",

    "cloudwatch:ListMetrics"

    ],

    "Resource": "*"

    }

    ]

    }

  2. AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  3. AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順2で作成したIAMグループ「yace_group」に所属させる。

  4. 監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順3で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。

■アクセス方式(その2)でCloudWatchに接続する場合

  1. AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。

  3. 手順2で作成したIAMロール「cross_access_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  4. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  5. AWSアカウント①に,IAMポリシー「account2_yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Effect": "Allow",

    "Action": "sts:AssumeRole",

    "Resource": "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    }

    ]

    }

    下線部の「cross_access_role」は,手順2で作成したIAMロールの名称です。

  6. AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」と手順5で作成したIAMポリシー「account2_yace_policy」を割り当てる。

  7. AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順6で作成したIAMグループ「yace_group」に所属させる。

  8. 監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順7で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。

  9. Yet another cloudwatch exporter設定ファイル(ya_cloudwatch_exporter.yml)に,次に示すAWSアカウント②の定義を追加する。

    discovery:

    exportedTagsOnMetrics:

    AWS/S3:

    - jp1_pc_nodelabel

    jobs:

    - type: AWS/S3

    regions:

    - us-east-2

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    - type: AWS/S3

    regions:

    - us-east-2

    roles:

    - roleArn: "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    注※

    1〜15行目はAWSアカウント①の収集設定,17行目以降はAWSアカウント②の収集設定を示します。

    AWSアカウント②の収集設定には,「roles.roleArn」を指定する必要があります。「roles.roleArn」には,AWSアカウントを2つまで指定できますが,2つ以上のアカウントを指定する場合は,日立営業までお問い合わせください。

■IAMロール方式(その1)でCloudWatchに接続する場合

  1. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。

  3. 手順2で作成したIAMロール「yace_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  4. AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順2〜3で作成したIAMロール「yace_role」を割り当てる。

    注※

    AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。

■IAMロール方式(その2)でCloudWatchに接続する場合

  1. AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。また,必要に応じて外部IDを指定する。

  3. AWSアカウント①に,IAMポリシー「account2_yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Effect": "Allow",

    "Action": "sts:AssumeRole",

    "Resource": "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    }

    ]

    }

    下線部の「cross_access_role」は,手順2で作成したIAMロールの名称です。

  4. AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。

  5. 手順4で作成したIAMロール「yace_role」に,手順3で作成したIAMポリシー「account2_yace_policy」を割り当てる。

  6. AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順4で作成したIAMロール「yace_role」を割り当てる。

    注※

    AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。

  7. Yet another cloudwatch exporter設定ファイル(ya_cloudwatch_exporter.yml)に,次に示すAWSアカウント②の定義を追加する。

    discovery:

    exportedTagsOnMetrics:

    AWS/S3:

    - jp1_pc_nodelabel

    jobs:

    - type: AWS/S3

    regions:

    - us-east-2

    roles:

    - roleArn: "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    externalId: "外部ID"

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    注※

    9〜11行目がAWSアカウント②の収集設定を示します。

    AWSアカウント②の収集設定には,「roles.roleArn」を指定する必要があります。「roles.roleArn」には,AWSアカウントを2つまで指定できますが,2つ以上のアカウントを指定する場合は,日立営業までお問い合わせください。

    AWSアカウント②の収集設定の「externalId」は,手順2で外部IDを指定した場合にだけ指定します。

(c) CloudWatchにプロキシ経由で接続する(Windowsの場合)(オプション)

CloudWatchにプロキシ経由で接続する必要がある場合は,環境変数HTTPS_PROXYを使用します(環境変数HTTP_PROXYは使用できません)。

環境変数HTTPS_PROXYに指定する値の書式を次に示します。

http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号
重要

環境変数名のHTTPS_PROXYに対して,値の先頭が「http://」となる点に注意してください。

■ Windowsの場合

  1. Yet another cloudwatch exporterを停止する。

  2. [設定]-[システム]-[詳細情報]-[関連設定]-[システムの詳細設定]からシステムのプロパティダイアログを表示する。

  3. [環境変数]ボタンをクリックし,環境変数ダイアログを表示する。

  4. システム環境変数に,次のように設定する。

    変数名

    HTTPS_PROXY

    変数値

    http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号

  5. Yet another cloudwatch exporterを起動する。

    重要
    • 環境変数HTTPS_PROXYをシステム環境変数に設定するため,そのホストで稼働するすべてのプロセスに反映されます。

    • システム環境変数は,ログイン可能なユーザーであれば内容を表示できてしまう点に注意が必要です。環境変数HTTPS_PROXYにパスワードを指定して運用する場合は,ログインできるユーザーを限定するなどの対策が必要です。

■ Linuxの場合

  1. Yet another cloudwatch exporterを停止する。

  2. 任意のファイルを作成して,次のように記載する。

    HTTPS_PROXY=http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号

    記載する内容の詳細については,man systemd.execを実行して,「EnvironmentFile=」に設定されている値を確認してください。

  3. ユニット定義ファイルにEnvironmentFileを追加し,手順2で作成したファイルのパスを記載する。

      :
    [Service]
    EnvironmentFile = "手順2で作成したファイルのパス"
    WorkingDirectory = ....
    ExecStart = ....
      :
  4. systemdを更新する。

    次のコマンドを実行します。

    systemctl daemon-reload
  5. Yet another cloudwatch exporterを起動する。

(d) 監視するAWSサービスを追加する(オプション)

デフォルトで監視対象となっているAWSサービスは,次の6つです。それ以外のAWSサービスを監視する場合,ここでの手順を実施してください。

  • AWS/EC2

  • AWS/Lambda

  • AWS/S3

  • AWS/DynamoDB

  • AWS/States

  • AWS/SQS

  1. Yet another cloudwatch exporter設定ファイルにAWSサービスの定義を追加する。

    編集方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

    下記の下線部の個所にAWSサービスの定義を追加します。

    • discovery.exportedTagsOnMetrics

    ■記載内容

    discovery:
      exportedTagsOnMetrics:
        AWSサービス名:
          - jp1_pc_nodelabel

    ■設定例

    discovery:
      exportedTagsOnMetrics:
        AWS/EC2:
          - jp1_pc_nodelabel
    • discovery.jobs

    ■記載内容

    discovery:
      :
      jobs:
      - type: AWSサービス名
        regions:
          - AWSリージョン
        period: 0
        length: 600
        delay: 120
        metrics:

    ■設定例

    discovery:
      :
      jobs:
      - type: AWS/EC2
        regions:
          - ap-northeast-1
        period: 0
        length: 600
        delay: 120
        metrics:
  2. 収集するメトリックを追加する。

    1.21.2(7)(f) 収集するメトリックを変更する(オプション)」を参照してください。

(e) AWSリソースを監視対象にする(オプション)

AWSリソースをYet another cloudwatch exporterで監視するためには,監視対象としたいAWSリソースに,jp1_pc_nodelabelタグを設定する必要があります。AWSリソースに対するタグの設定方法については,AWSのドキュメントを参照してください。

jp1_pc_nodelabelタグには,次の値を設定します。1〜255文字の範囲で,英数字またはハイフンで指定してください。

  • EC2の場合

    ホスト名を指定します。

  • EC2以外の場合

    IM管理ノードのラベルに表示する文字列を指定します。

    重要
    • AWSのサービス内でユニークな文字列を設定します。EC2とLambdaなど,別のサービスであれば同一の文字列でも設定できます。

    • YACEの監視先が異なるアカウントは異なる文字列にしてください。異なるリージョンであっても,同一のサービスであれば異なる文字列としてください。

    • 文字列が重複した場合,IM管理ノードが1つしか作成されません。

jp1_pc_nodelabelタグに設定した値は,Yet another cloudwatch exporterが収集するサンプルの,jp1_pc_nodelabelラベルの値として追加されます。

(f) 収集するメトリックを変更する(オプション)

  1. CloudWatchで収集されているメトリックを確認する。

    収集したいメトリックがCloudWatchで収集されていることを確認します。

    また,以降の手順での設定に備えて,CloudWatchメトリック名,CloudWatch統計タイプの設定を確認しておく必要があります。

    CloudWatchメトリック名およびCloudWatch統計タイプについては,AWSのドキュメントの「Amazon CloudWatch User Guide」を参照してください。

  2. Yet another cloudwatch exporter設定ファイルにCloudWatchメトリックの定義を追加する。

    下記のdiscovery.jobs.metricsの下線部の個所に,CloudWatchメトリックの定義を記載します。

    discovery:
       :
      jobs:
      - type: AWSサービス名
        regions:
          - AWSリージョン
        period: 0
        length: 600
        delay: 120
        metrics:
          - name: CloudWatchメトリック名1※1
            statistics:
            - CloudWatch統計タイプ※2
          - name: CloudWatchメトリック名2※3
            statistics:
            - CloudWatch統計タイプ※4
          - name: CloudWatchメトリック名3※5
            statistics:
            - CloudWatch統計タイプ※6

    注※1 CloudWatchメトリック名1の例:CPUUtilization

    注※2 CloudWatch統計タイプの例:Average

    注※3 CloudWatchメトリック名2の例:DiskReadBytes

    注※4 CloudWatch統計タイプの例:Sum

    注※5 CloudWatchメトリック名3の例:DiskWriteBytes

    注※6 CloudWatch統計タイプの例:Sum

  3. Prometheus設定ファイルにメトリックを追加する。

    metric_relabel_configsの値に,収集するメトリックが「|」で区切って記載されています。収集が必要なメトリックを追加します。また,収集が不要なメトリックを削除します。メトリック名の名称規則については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の,「3.15.1(1)(g) Yet another cloudwatch exporter(Amazon CloudWatch性能情報収集機能)」の「■Exporterのメトリックの名称規則」の説明を参照してください。

    Prometheus設定ファイルの編集方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

    <設定例>

      - job_name: 'jpc_cloudwatch'
        :
        metric_relabel_configs:
          - regex: 'tag_(jp1_pc_.*)'
            replacement: ${1}
            action: labelmap
          - regex: 'tag_(jp1_pc_.*)'
            action: 'labeldrop'
          - source_labels: ['__name__','jp1_pc_nodelabel']
            regex: '(aws_ec2_cpuutilization_average|aws_ec2_disk_read_bytes_sum|aws_ec2_disk_write_bytes_sum|aws_lambda_errors_sum|aws_lambda_duration_average|aws_s3_bucket_size_bytes_sum|aws_s3_5xx_errors_sum|aws_dynamodb_consumed_read_capacity_units_sum|aws_dynamodb_consumed_write_capacity_units_sum|aws_states_execution_time_average|aws_states_executions_failed_sum|aws_sqs_approximate_number_of_messages_delayed_sum|aws_sqs_number_of_messages_deleted_sum【ここに追加するメトリックを「|」で区切って記載します】);.+$'
            action: 'keep'
  4. 必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Yet another cloudwatch exporterのメトリック定義ファイル(metrics_ya_cloudwatch_exporter.conf)」(2. 定義ファイル)を参照してください。

(8) Promitorの設定

Promitorで監視を行う場合は,次の設定を行います。

(a) Azureに接続するための設定(必須)

■サービス定義ファイル(Windowsの場合)またはユニット定義ファイル(Linuxの場合)の変更

Promitorの設定ファイルの格納先は,環境変数PROMITOR_CONFIG_FOLDERに絶対パスで指定します。この環境変数はサービス定義ファイル(Windowsの場合)またはユニット定義ファイル(Linuxの場合)に定義されているため,該当個所を変更します。サービス定義ファイル(Windowsの場合)およびユニット定義ファイル(Linuxの場合)については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「2. 定義ファイル」の,該当するファイルを説明している個所を参照してください。

■Promitor Scraper runtime設定ファイル(runtime.yaml)の変更

Promitor Scraperのruntime設定ファイル(runtime.yaml)では,Promitor Scraperの設定ファイル(metrics-declaration.yaml)のパスをmetricsConfiguration.absolutePathに指定します。Promitor Scraperのruntime設定ファイル(runtime.yaml)については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「2. 定義ファイル」の,該当するファイルを説明している個所を参照してください。

■Azureへの接続情報の設定

PromitorからAzureに接続するための認証情報を設定します。設定方法については,「1.21.2(8)(b)Azureに接続するための認証情報の設定」を参照してください。

(b) Azureに接続するための認証情報の設定

PromitorからAzureに接続する方式には,サービスプリンシパル方式とマネージドID方式があります。PromitorをAzure VirtualMachine以外のホスト上にインストールする場合は,サービスプリンシパル方式だけが使用できます。PromitorをAzure VirtualMachine上にインストールする場合は,サービスプリンシパル方式またはマネージドID方式が使用できます。

Azureに接続する手順について,次に示す3つのパターンで説明します。

  • サービスプリンシパル方式

    クライアントシークレットを使用して,Azureに接続する

  • マネージドID方式(システム割り当て)

    システム割り当てマネージドIDを使用して,Azureに接続する

  • マネージドID方式(ユーザー割り当て)

    ユーザー割り当てマネージドIDを使用して,Azureに接続する

■サービスプリンシパル方式でAzureに接続する場合

Azure Portalで手順1〜3,Promitorがインストールされたホストで手順4〜6を実施します。

  1. アプリケーションを作成し,クライアントシークレットを発行する。

  2. アプリケーションの[概要]からアプリケーション(クライアント)IDを取得する。

  3. 監視対象のリソースグループ(またはサブスクリプション)を選択し,[アクセス制御(IAM)]−[ロールの割り当ての追加]を実行する。

  4. 手順1で取得したクライアントシークレットの「値」を,JP1/IM - Agentに登録する。

    シークレットを登録するためのキーには,次に示す値を指定します。

    シークレットを登録するためのキー

    指定する値

    Promitor Resource Discoveryのキー

    Promitor.resource_discovery.env.AUTH_APPKEY

    Promitor Scraperのキー

    Promitor.scraper.env.AUTH_APPKEY

    シークレットの登録方法については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」のJP1/IM - Agentの「3.15.10 シークレット難読化機能」で,「3.15.10(2)シークレットの追加・変更・削除」の説明を参照してください。

    重要

    コンテナ環境で構築する場合,コンテナイメージの作成前にこの手順を実施できません。コンテナの作成後に実施してください。

  5. Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeServicePrincipalを指定します。

  6. Promitor Scraper設定ファイル(metrics-declaration.yaml)とPromitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)に,接続先のAzureの情報を指定する。

    • Promitor Scraper設定ファイル(metrics-declaration.yaml)

      azureMetadataに接続先のAzureの情報を指定します。

    • Promitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)

      azureLandScapeに接続先のAzureの情報を指定します。

■マネージドID方式(システム割り当て)でAzureに接続する場合

Azure Portalで手順1〜3,Promitorがインストールされたホストで手順4〜6を実施します。

  1. [Virtual Machines]で,PromitorがインストールされているAzure VirtualMachineを選択する。

  2. [ID]−[システム割り当て済み]で[状態]を「オン」に変更する。

  3. [ID]−[システム割り当て済み]の[アクセス許可]で「Azureロールの割り当て」を選択し,「監視閲覧者」を指定する。

  4. Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeSystemAssignedManagedIdentityを指定する。

  5. Promitor Scraper設定ファイル(metrics-declaration.yaml)とPromitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)に,接続先のAzureの情報を指定する。

    • Promitor Scraper設定ファイル(metrics-declaration.yaml)

      azureMetadataに接続先のAzureの情報を指定します。

    • Promitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)

      azureLandScapeに接続先のAzureの情報を指定します。

■マネージドID方式(ユーザー割り当て)でAzureに接続する場合

Azure Portalで手順1〜5,Promitorがインストールされたホストで手順6〜7を実施します。

  1. サービス検索で,[マネージドID]−[マネージドIDの作成]を選択する。

  2. リソースグループ,名前などを指定して,マネージドIDを作成する。

  3. [Azureロールの割り当て]で「監視閲覧者」を割り当てる。

  4. [Virtual Machines]で,PromitorがインストールされているAzure VirtualMachineを選択する。

  5. [ID]−[ユーザー割り当て済み]−[追加]を選択し,手順2で作成したマネージドIDを追加する。

  6. Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeUserAssignedManagedIdentityを指定します。

  7. Promitor Scraper設定ファイル(metrics-declaration.yaml)とPromitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)に,接続先のAzureの情報を指定する。

    • Promitor Scraper設定ファイル(metrics-declaration.yaml)

      azureMetadataに接続先のAzureの情報を指定します。

    • Promitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)

      azureLandScapeに接続先のAzureの情報を指定します。

(c) Azureにプロキシ経由で接続する設定(オプション)

Azureにプロキシ経由で接続する必要がある場合は,環境変数HTTPS_PROXYとNO_PROXYを使用します。設定方法の詳細については,「2.19 JP1/IM - Agentのセットアップ(UNIXの場合)」の「2.19.2(8)(c)CloudWatchにプロキシ経由で接続する(Linuxの場合)(オプション)」を参照してください。NO_PROXYには,Promitor Scraper runtime設定ファイル(runtime.yaml)のresourceDiscovery.hostの値を指定してください。

(d) 取得対象の設定(必須)

■個別に指定が必要な監視対象の設定(必須)

監視対象は,デフォルトでは自動検出する設定となっていますが,次に示す一部のサービスは自動検出に対応していません。これらのサービスについては,Promitor Scraper設定ファイル(metrics-declaration.yaml)を編集し,監視対象を個別に指定してください。

  • 監視対象を個別に指定する必要があるサービス

    マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(h)Promitor(Azure Monitor性能情報収集機能)」のPromitorが監視対象としてサポートするサービスについて説明している表で,オートディスカバリの対象外となっているサービスが該当します。

  • 監視対象を個別に指定する方法

    Promitor Scraper設定ファイル(metrics-declaration.yaml)のコメントアウトを解除し,resourcesセクションで監視対象を指定します。

■監視対象の変更(オプション)

Promitorで監視対象を指定する方法には,次に示す2種類の方法があります。

  • 監視対象を個別に指定する方法

    監視するAzureリソースを個別に指定する場合は,Promitor Scraper設定ファイル(metrics-declaration.yaml)に指定します。

  • 監視対象を自動検出する方法

    テナント内のリソースを自動的に検出し,Azureリソースを監視する場合は,Promitor Scraper設定ファイル(metrics-declaration.yaml)およびPromitor Resource Discovery設定ファイル(resource-discovery-declaration.yaml)に指定します。

■監視メトリクスの変更(オプション)

取得するメトリクスや表示するメトリクスを変更する場合は,次の設定を行います。

  1. Azure Monitorで収集されていることを確認する。

    収集したいメトリックがAzure Monitorで収集されていることを確認します。

    次の手順での設定に備えて,メトリック名,統計タイプを確認しておきます。

    メトリック名については,Azure Monitor DocumentationのReference - Supported metrics - Resource metricsのMetricを参照してください。統計タイプについては,Azure Monitor DocumentationのReference - Supported metrics - Resource metricsのAggregation Typeを参照してください。

  2. Prometheus設定ファイル(jpc_prometheus_server.yml)の設定内容を変更する。

    収集対象のメトリクスを変更する場合は,Prometheus設定ファイル(jpc_prometheus_server.yml)のmetric_relabel_configsの設定を変更します。

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

  3. Promitorのメトリック定義ファイル(metrics_promitor.conf)の設定内容を変更する。

    統合オペレーション・ビューアーの[トレンド]タブに表示するメトリックを変更する場合は,Promitorのメトリック定義ファイル(metrics_promitor.conf)の設定を変更します。

    Promitorのメトリック定義ファイルについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Promitorのメトリック定義ファイル(metrics_promitor.conf)」(2. 定義ファイル)を参照してください。

(e) テナント情報の表示文字列の設定(オプション)

プロパティ表示文字列定義ファイル(property_labels.conf)に,監視対象のテナントIDとサブスクリプションIDの表示文字列を設定します。この設定を行わない場合,IM管理ノードのプロパティやJP1イベントの拡張属性には,テナントとサブスクリプションは「default」と表示されます。

プロパティ表示文字列定義ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「プロパティ表示文字列定義ファイル(property_labels.conf)」(2. 定義ファイル)を参照してください。

(f) システムノード定義ファイル(imdd_systemnode.conf)の設定(必須)

マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.6(1)(i)ツリーの形式」に示すシステムノードを作成するときは,システムノード定義ファイル(imdd_systemnode.conf)を編集して,次の設定項目を指定します。ここに記載のない設定項目については,任意の値を指定します。

表1‒16 システムノード定義ファイル(imdd_systemnode.conf)の設定項目

設定項目

設定値

displayname

Azure Monitorのメトリクスを発行するサービスの名前を指定します。

type

次の文字列を大文字表記で指定します。

Azure-Azureサービス名

Azureサービス名」は,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(h)Promitor(Azure Monitor性能情報収集機能)」で,Promitorが監視対象としてサポートするサービスについて説明している個所の「PromitorのresourceType名」が該当します。

name

次の文字列を指定します。

[{".*":"regexp"}]

Promitorのメトリック定義ファイル(metrics_promitor.conf)の初期設定で監視するAzureサービスに対して,システム管理ノードを設定する場合の,システムノード定義ファイルの設定例を,次に示します。

表1‒17 システムノード定義ファイル(imdd_systemnode.conf)の設定例

設定項目

displayName

type

name

Azure Function App

JP1PC-AZURE-FUNCTIONAPP

[{".*":"regexp"}]

Azure Container Instances

JP1PC-AZURE- CONTAINERINSTANCE

[{".*":"regexp"}]

Azure Kubernetes Service

JP1PC-AZURE-KUBERNETESSERVICE

[{".*":"regexp"}]

Azure File Storage

JP1PC-AZURE-FILESTORAGE

[{".*":"regexp"}]

Azure Blob Storage

JP1PC-AZURE-BLOBSTORAGE

[{".*":"regexp"}]

Azure Service Bus Namespace

JP1PC-AZURE-SERVICEBUSNAMESPACE

[{".*":"regexp"}]

Azure Cosmos DB

JP1PC-AZURE-COSMOSDB

[{".*":"regexp"}]

Azure SQL Database

JP1PC-AZURE-SQLDATABASE

[{".*":"regexp"}]

Azure SQL Server

JP1PC-AZURE-SQLSERVER

[{".*":"regexp"}]

Azure SQL Managed Instance

JP1PC-AZURE-SQLMANAGEDINSTANCE

[{".*":"regexp"}]

Azure SQL Elastic Pool

JP1PC-AZURE-SQLELASTICPOOL

[{".*":"regexp"}]

Azure Logic Apps

JP1PC-AZURE-LOGICAPP

[{".*":"regexp"}]

上記の内容をシステムノード定義ファイルに設定した場合,次のようになります。

{
  "meta":{
    "version":"2"
  },
  "allSystem":[
    {
      "id":"functionApp",
      "displayName":"Azure Function App",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-FUNCTIONAPP",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"containerInstance",
      "displayName":"Azure Container Instances",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-CONTAINERINSTANCE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"kubernetesService",
      "displayName":"Azure Kubernetes Service",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-KUBERNETESSERVICE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"fileStorage",
      "displayName":"Azure File Storage",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-FILESTORAGE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"blobStorage",
      "displayName":"Azure Blob Storage",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-BLOBSTORAGE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"serviceBusNamespace",
      "displayName":"Azure Service Bus Namespace",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-SERVICEBUSNAMESPACE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"cosmosDb",
      "displayName":"Azure Cosmos DB",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-COSMOSDB",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"sqlDatabase",
      "displayName":"Azure SQL Database",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-SQLDATABASE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"sqlServer",
      "displayName":"Azure SQL Server",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-SQLSERVER",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"sqlManagedInstance",
      "displayName":"Azure SQL Managed Instance",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-SQLMANAGEDINSTANCE",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"sqlElasticPool",
      "displayName":"Azure SQL Elastic Pool",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-SQLELASTICPOOL",
          "name":[{".*":"regexp"}]
        }
      ]
    },
    {
      "id":"logicApp",
      "displayName":"Azure Logic Apps",
      "objectRoot":[
        {
          "type":"JP1PC-AZURE-LOGICAPP",
          "name":[{".*":"regexp"}]
        }
      ]
    }
  ]
}

システムノード定義ファイルを設定しておくと,jddcreatetreeコマンドが実行されて,VirtualMachine以外のPromitorSIDが作成されたときに,Azureサービス名に応じたシステムノードの配下にIM管理ノードが表示されます。VirtualMachineのPromitorSIDについては,システムノード定義ファイルに記載不要で,ホストを表すノードの配下にIM管理ノードが表示されます。

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

(g) ポートを変更する(オプション)

■ Promitor Scraperが使用するスクレイプのポート番号の指定

Promitor Scraperが使用するリッスンポートは,Promitor Scraper runtime設定ファイル(runtime.yaml)に指定します。

設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

なお,デフォルトのポートは「20719」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

注意事項

コマンドラインオプションではなく,Promitor Scraper runtime設定ファイル(runtime.yml)で変更します。この設定ファイルを変更した場合,Promitorのディスカバリ設定ファイル(jpc_file_sd_config_promitor.yml)も変更する必要があります。

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

■ Promitor Resource Discoveryが使用するスクレイプのポート番号の指定

Promitor Resource Discoveryが使用するリッスンポートは,Promitor Resource Discovery runtime設定ファイル(runtime.yaml)に指定します。

設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

なお,デフォルトのポートは「20720」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

注意事項

コマンドラインオプションではなく,Promitor Resource Discovery runtime設定ファイル(runtime.yml)で変更します。この設定ファイルを変更した場合,Promitor Scraper runtime設定ファイル(runtime.yml)も変更する必要があります。

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

(9) Fluentdの設定

(a) ログ監視の共通定義の設定を変更する(Windowsの場合)(オプション)

次の設定を変更する場合は,ログ監視共通定義ファイルの設定を変更します。

  • 統合エージェントの制御基盤のポート番号

  • bufferプラグインの設定

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

設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

(b) テキスト形式のログファイルを監視する(Windowsの場合)(必須)

テキスト形式のログファイルを新たに監視する場合,次の手順を実施します。

  1. テキスト形式のログファイルの監視定義ファイルを作成する。

    次に示すコピー元のテンプレートをコピーし,コピー先の定義ファイルにリネームすることで,テキスト形式のログファイルの監視定義ファイルを作成します。

    コピー元:Agentパス\conf\fluentd_@@trapname@@_tail.conf.template

    コピー先:Agentパス\conf\user\fluentd_ログ監視名_tail.conf

    テンプレート(fluentd_@@trapname@@_tail.conf.template)をコピーして,テキスト形式のログファイルの監視定義ファイルを作成します。コピー先のファイル名は「fluentd_ログ監視名_tail.conf」に変更します。

    テキスト形式のログファイルの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

    メモ

    監視定義ファイルのログ監視名を変更した場合などで,テキスト形式のログファイルの監視設定を変更するときは,上記の手順2と3を実施してください。

(c) テキスト形式のログファイルの監視設定を変更する(Windowsの場合)(オプション)

テキスト形式のログファイルの監視設定を変更する場合,次の手順を実施します。

  1. テキスト形式のログファイルの監視定義ファイルを変更する。

    作成済みの監視定義ファイル(fluentd_ログ監視名_tail.conf)を変更します。

    テキスト形式のログファイルの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    次の場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    • 監視定義ファイルのログ監視名を変更した場合

    • 一時的に一部の監視定義ファイルのログ監視を止める運用を行うユーザーの場合

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映します。

    [Metric Settings]セクションの値を変更した場合,変更内容を統合オペレーション・ビューアーのツリーに反映します。反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(d) テキスト形式のログファイルの監視設定を削除する(Windowsの場合)(オプション)

テキスト形式のログファイルの監視設定を削除する場合,次の手順を実施します。

  1. テキスト形式のログファイルの監視定義ファイルを削除する。

    作成済みの監視定義ファイル(fluentd_ログ監視名_tail.conf)を削除します。

    設定ファイルの削除方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行う場合,ログ監視対象定義ファイルに定義されている監視定義ファイルのファイル名を削除します。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(e) Windowsイベントログを監視する(必須)

Windowsイベントログを新たに監視する場合,次の手順を実施します。

  1. Windowsイベントログの監視定義ファイルを作成する。

    次に示すコピー元のテンプレートをコピーし,コピー先の定義ファイルにリネームすることで,Windowsイベントログの監視定義ファイルを作成します。

    コピー元:Agentパス\conf\fluentd_@@trapname@@_wevt.conf.template

    コピー先:Agentパス\conf\user\fluentd_ログ監視名_wevt.conf

    テンプレート(fluentd_@@trapname@@_wevt.conf.template)をコピーして,Windowsイベントログの監視定義ファイルを作成します。コピー先のファイル名は「fluentd_ログ監視名_wevt.conf」に変更します。

    Windowsイベントログの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windowsイベントログの監視定義ファイル(fluentd_@@trapname@@_wevt.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. Windowsイベントログの監視定義ファイルを編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,Windowsイベントログの監視定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

    メモ

    監視定義ファイルのログ監視名を変更した場合などで,テキスト形式のログファイルの監視設定を変更するときは,上記の手順2と3を実施してください。

(f) Windowsイベントログの監視設定を変更する(オプション)

Windowsイベントログの監視設定を変更する場合,次の手順を実施します。

  1. Windowsイベントログの監視定義ファイルを変更する。

    作成済みの監視定義ファイル(fluentd_ログ監視名_wevt.conf)を変更します。

    Windowsイベントログの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windowsイベントログの監視定義ファイル(fluentd_@@trapname@@_wevt.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    次の場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    • 監視定義ファイルのログ監視名を変更した場合

    • 一時的に一部の監視定義ファイルのログ監視を止める運用を行うユーザーの場合

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    [Metric Settings]セクションの値を変更した場合,変更内容を統合オペレーション・ビューアーのツリーに反映します。反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(g) Windowsイベントログの監視設定を削除する(オプション)

Windowsイベントログの監視設定を削除する場合,次の手順を実施します。

  1. Windowsイベントログの監視定義ファイルを削除する。

    作成済みの監視定義ファイル(fluentd_ログ監視名_wevt.conf)を削除します。

    Windowsイベントログの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windowsイベントログの監視定義ファイル(fluentd_@@trapname@@_wevt.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの削除方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行う場合,ログ監視対象定義ファイルに定義されている監視定義ファイルのファイル名を削除します。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(h) ログメトリクス定義の設定(必須)

ログメトリクス機能を使用する場合,アドオンプログラムの有効化手順でJP1/IM - AgentのFluentdの設定を実施したあと,次の設定を行います。

■ ログメトリクス定義ファイルの編集(ログメトリクスの定義)

ログメトリクス定義ファイル(fluentd_任意の名前_logmetrics.conf)を作成し,インプットプラグイン機能とアウトプットプラグイン機能の定義を行います。

また,監視対象のログメトリクスは,ログメトリクス定義ファイルのアウトプットプラグイン機能定義で指定します。

  • 監視対象のログメトリクスを追加する場合

    既存の<metric>の定義に並列して,新たな<metric>の定義を追加します。

  • 監視対象のログメトリクスを変更する場合

    該当する<metric>の定義内容を変更します。

  • 監視対象のログメトリクスを削除する場合

    ログメトリクス定義ファイル内の関連する定義を,すべて削除またはコメントアウトします。

ログメトリクス定義ファイルのサンプルファイルについては,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(l) Fluentd(ログメトリクス機能)」で,該当するファイルを説明している個所を参照してください。

■ ログ監視対象定義ファイルの編集(includeの追加)

ログメトリクス定義ファイルによるログ監視を有効にするため,ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)に「@include」の行を追加して,「ログメトリクス定義ファイルの編集(ログメトリクスの定義)」で定義したログメトリクス定義ファイルを追加します。

ログ監視対象定義ファイルのサンプルファイルについては,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(l) Fluentd(ログメトリクス機能)」で,該当するファイルを説明している個所を参照してください。

■ Fluentdの再起動

「ログメトリクス定義ファイルの編集(ログメトリクスの定義)」および「ログ監視対象定義ファイルの編集(includeの追加)」の定義内容を反映するため,Fluentdの再起動を行います。

再起動する場合のサービスの起動と停止の詳細については,マニュアル「JP1/Integrated Management 3 - Manager 運用ガイド」の「10. JP1/IM - Agentの起動と終了」を参照してください。

■ JP1/IM - Managerでのログメトリクス定義のセットアップ

ログメトリクス機能を利用して,JP1/IM - Managerの統合オペレーション・ビューアーの[トレンド]タブで,ノードのトレンド情報を表示したときに,ログメトリクスの時系列データを表示したい場合は,JP1/IM - Managerで表示するログメトリクスの定義を行います。

ここでのログメトリクス定義には,ユーザー独自のメトリック定義を利用します。

記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・API リファレンス」の「ユーザー独自のメトリック定義ファイル(metrics_任意のPrometheusトレンド名.conf)」(2. 定義ファイル)を参照してください。

(i) ポートを変更する(オプション)

■ Fluentdが使用するスクレイプのポート番号の指定

ログメトリクス定義ファイルに,fluent-plugin-prometheusプラグインが使用するスクレイプのポート番号を指定します。

次の変更例に示す<source>内のportリッスンポート番号を指定します。

(変更例)

## Input
<worker ログメトリクス機能で使用するworkerのid>
  <source>
    @type prometheus
    bind 0.0.0.0
    port リッスンポート番号
    metrics_path /metrics
  </source>
</worker>
 
<worker workerのid>
  <source>
(省略)
  </source>
 
(以降,省略)
注※

Fluentd(ログメトリクス機能)で実際に使用するListenポートは,ログメトリクス機能で使用するworkerのworker_id(ログメトリクス定義ファイル(fluentd_任意の名前_logmetrics.conf)の「workerのid」で指定する値)に依存し,次に示す式のとおりのポート番号になります。

24820 + worker_id

なお,ログメトリクス機能で129個のworkerを利用する場合,デフォルトのポート番号は24820から24948までの連番となります。

■ Prometheusがスクレイプで使用するポート番号の変更

Prometheusのディスカバリ設定ファイルに定義したスクレイプのポート番号を,「Fluentdが使用するスクレイプのポート番号の指定」で指定したリッスンポート番号+workerのidに変更します。

次の変更例に示すtargetsリッスンポート番号を変更します。

- targets:
  - 監視対象ホスト名:リッスンポート番号+workerのid
(省略)
  labels:
(省略)

(j) SAPシステムのログ情報を監視する(オプション)

SAPシステムのシステムログ情報を新たに監視する場合,次に記載するFluentdの設定手順と,「1.21.2(12)(d)SAPシステムのログ抽出コマンドを実行する場合の設定(オプション)」に記載するScript exporterの設定手順を併せて実施します。

  1. SAPシステムのシステムログ情報監視定義ファイルを作成する。

    サンプルファイル(fluentd_sap_syslog_tail.conf)をコピーして,テキスト形式のログファイルの監視定義ファイルを作成します。配置先については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「付録A.4 JP1/IM - Agent」のファイルおよびディレクトリ一覧を参照してください。コピー先のファイル名は「fluentd_ログ監視名_tail.conf」に変更します。

    テキスト形式のログファイルの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16)IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(k) SAPシステムのログ情報の監視設定を変更する(オプション)

SAPシステムのシステムログ情報の監視設定を変更する場合の手順については,「1.21.2(9)(c)テキスト形式のログファイルの監視設定を変更する(Windowsの場合)(オプション)」を参照してください。

(l) SAPシステムのログ情報の監視設定を削除する(オプション)

SAPシステムのシステムログ情報の監視設定を削除する場合の手順については,「1.21.2(9)(d)テキスト形式のログファイルの監視設定を削除する(Windowsの場合)(オプション)」を参照してください。

(m) SAPシステムのCCMSアラート情報を監視する(オプション)

SAPシステムのCCMSアラート情報を新たに監視する場合,次の手順を実施します。

  1. SAPシステムのCCMSアラート情報監視定義ファイルを作成する。

    サンプルファイル(fluentd_sap_alertlog_tail.conf)をコピーして,テキスト形式のログファイルの監視定義ファイルを作成します。配置先については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「付録A.4 JP1/IM - Agent」のファイルおよびディレクトリ一覧を参照してください。コピー先のファイル名は「fluentd_ログ監視名_tail.conf」に変更します。

    テキスト形式のログファイルの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」(2. 定義ファイル)を参照してください。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  2. ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。

    一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。

    ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。

    設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。

  3. 統合オペレーション・ビューアーのツリーに反映する。

    反映方法については,「1.21.2(16)IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(n) SAPシステムのCCMSアラート情報の監視設定を変更する(オプション)

SAPシステムのCCMSアラート情報の監視設定を変更する場合の手順については,「1.21.2(9)(c)テキスト形式のログファイルの監視設定を変更する(Windowsの場合)(オプション)」を参照してください。

(o) SAPシステムのCCMSアラート情報の監視設定を削除する(オプション)

SAPシステムのCCMSアラート情報の監視設定を削除する場合の手順については,「1.21.2(9)(d)テキスト形式のログファイルの監視設定を削除する(Windowsの場合)(オプション)」を参照してください。

(10) スクレイプ定義の設定

アドオンプログラムが提供する機能をスクレイプ対象に設定する場合は,次に示すスクレイプ定義を追加します。

表1‒18 アドオンプログラムが提供する機能のスクレイプ定義

アドオンプログラムの提供機能

対応OS

スクレイプするExporterまたは対象

スクレイプ定義

Windows性能情報収集機能

Windows

Windows exporter

設定不要です。

Linuxプロセス情報収集機能

Linux

Process exporter

AWS CloudWatch性能情報収集機能

WindowsおよびLinux

Yet another cloudwatch exporter

Azure Monitor性能情報収集機能

Promitor

ログメトリクス機能

Fluentd

ログメトリクス機能を使用する場合,設定が必要です。

必要な設定については,「1.21.2(10)(a)ログメトリクス機能のスクレイプ定義」を参照してください。

UAP監視機能

Script exporter

監視対象スクリプトの設定が必要です。

必要な設定については,「1.21.2(10)(b)Script exporterのスクレイプ定義」を参照してください。

(a) ログメトリクス機能のスクレイプ定義

ログメトリクス機能のスクレイプ機能では,ユーザー独自のExporterのスクレイプ機能を利用します。

  • ユーザー独自のディスカバリ設定ファイルの作成(必須)

    ユーザー独自のディスカバリ設定ファイル(user_file_sd_config_任意の名前.yml)を作成し,監視対象を定義します。

    ユーザー独自のディスカバリ設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」(2. 定義ファイル)の該当するファイルを説明している個所を参照してください。

    また,ログメトリクス機能に関する記述内容については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(l) Fluentd(ログメトリクス機能)」で,該当するファイルのサンプルファイルを説明している個所を参照してください。

  • Prometheus設定ファイルでのscrape_configsの設定(必須)

    Prometheus設定ファイル(jpc_prometheus_server.yml)で,scrape_configsの設定を追加します。

    Prometheus設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」(2. 定義ファイル)の該当するファイルを説明している個所を参照してください。

    また,ログメトリクス機能に関する記述内容については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(l) Fluentd(ログメトリクス機能)」で,該当するファイルのサンプルファイルを説明している個所を参照してください。

(b) Script exporterのスクレイプ定義

スクレイプ定義を指定する方法には,Script exporter設定ファイル(jpc_script_exporter.yml)に定義したスクリプトをすべて実行する「http_sd_config方式」と,Script exporter設定ファイル(jpc_script_exporter.yml)に定義したスクリプトの1つをPrometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configsのparamsに指定する「file_sd_config方式」があります。デフォルトは「http_sd_config方式」です。

Script exporter設定ファイルおよびPrometheus設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」(2. 定義ファイル)の該当するファイルを説明している個所を参照してください。

スクレイプ定義の例を,次に示します。

  • http_sd_config方式によるスクレイプ定義の例

scrape_configs:
  - job_name: jpc_script_exporter
    http_sd_configs:
      - url: http://インストールホスト名:ポート/discovery
    relabel_configs:
      - source_labels: [__param_script]
        target_label: jp1_pc_script
      - target_label: jp1_pc_exporter
        replacement: JPC Script Exporter
      - target_label: jp1_pc_category
        replacement: 任意のカテゴリ名
      - target_label: jp1_pc_trendname
        replacement: script_exporter
      - target_label: jp1_pc_multiple_node
        replacement: jp1_pc_exporter="{job='jpc_script.*',jp1_pc_multiple_node=''}"
      - target_label: jp1_pc_nodelabel
        replacement: Script metric collector(Script exporter)
      - target_label: jp1_pc_agent_create_flag
        replacement: false
    metric_relabel_configs:
      - source_labels: [jp1_pc_script]
        target_label: jp1_pc_nodelabel
      - regex: (jp1_pc_multiple_node|jp1_pc_script|jp1_pc_agent_create_flag)
        action: labeldrop
インストールホスト名

Script exporterをインストールしたホスト名を,1〜255文字の制御文字以外の文字で指定します。

ポート

Script exporterのポート番号を指定します。

任意のカテゴリ名

エージェントSIDのIM管理ノードのカテゴリIDを,1〜255文字の制御文字以外の文字で指定します。

  • file_sd_config方式によるスクレイプ定義の例

scrape_configs:
# 設定ファイルのスクリプトを実行する例
  - job_name: 任意のスクレイプジョブ名1
    file_sd_configs:
      - files:
        - 'Script Exporterのディスカバリ設定ファイルのパス'
    metrics_path: /probe
    params:
      script: [Script Exporter設定ファイルのscripts.name]
    relabel_configs:
      - source_labels: [__param_script]
        target_label: jp1_pc_nodelabel
      - target_label: jp1_pc_category
        replacement: 任意のカテゴリ名
      - target_label: jp1_pc_nodelabel
        replacement: Script metric collector(Script exporter)
    metric_relabel_configs:
      - source_labels: [jp1_pc_script]
        target_label: jp1_pc_nodelabel
      - regex: (jp1_pc_multiple_node|jp1_pc_script|jp1_pc_agent_create_flag)
        action: labeldrop
# 設定ファイルのスクリプトに,追加で引数1,2を指定し実行する例
  - job_name: 任意のスクレイプジョブ名2
    file_sd_configs:
      - files:
        - 'Script Exporterのディスカバリ設定ファイルのパス'
    metrics_path: /probe
    params:
      script: [Script Exporter設定ファイルのscripts.name]
      引数名1: [引数名1の値]
      引数名2: [引数名2の値]
    relabel_configs:
      - source_labels: [__param_script]
        target_label: jp1_pc_nodelabel
      - target_label: jp1_pc_category
        replacement: 任意のカテゴリ名
      - target_label: jp1_pc_nodelabel
        replacement: Script metric collector(Script exporter)
    metric_relabel_configs:
      - source_labels: [jp1_pc_script]
        target_label: jp1_pc_nodelabel
      - regex: (jp1_pc_multiple_node|jp1_pc_script|jp1_pc_agent_create_flag)
        action: labeldrop
任意のスクレイプジョブ名

同一ホストのほかのスクレイプジョブ名と重複しない任意の名前を,1〜255文字の制御文字以外の文字で指定します。

Script exporterのディスカバリ設定ファイルのパス

Script exporterのディスカバリ設定ファイル(jpc_file_sd_config_script.yml)のパスを指定します。

任意のカテゴリ名

エージェントSIDのIM管理ノードのカテゴリIDを,1〜255文字の制御文字以外の文字で指定します。

(11) コンテナ監視の設定

監視対象によって,利用する機能とセットアップの方法が異なります。監視対象ごとの利用する機能とセットアップ方法の参照先を,次に示します。

監視対象

利用する機能

セットアップ方法の参照先

Red Hat OpenShift

ユーザー独自のPrometheus

この表以降の説明を参照してください。

Kubernetes

Amazon Elastic Kubernetes Service(EKS)

Azure Kubernetes Service(AKS)

Azure監視機能(Promitor)

デフォルトでAKSの監視も有効です。

1.21.2(8) Promitorの設定」の説明を参照してください。

(a) ユーザー独自のPrometheusでのスクレイプの設定(必須)

  • Red Hat OpenShiftの場合

    設定不要です。

    インストール時にopenshift-monitoringプロジェクトのインストールとスクレイピングの設定が行われます。

  • KubernetesおよびAmazon Kubernetes Service(EKS)の場合

    Prometheusが未導入の場合,または,Prometheusが導入済みで次の表に示すスクレイプ対象が未設定の場合に,スクレイピングの設定を行います。

    スクレイプ対象

    取得できる情報

    収集できるメトリック

    kube-stat-metrics

    ノード,Pod,ワークロードのステータス情報

    マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の,「3.15.4(2)(a)Red Hat OpenShift」の「主な取得項目」について説明している個所を参照してください。

    node_exporter

    ノードの性能情報

    kubelet

    Podの性能情報

以降の手順は,Red Hat OpenShift,Kubernetes,およびAmazon Kubernetes Service(EKS)で共通となります。

(b) 接続のための設定(必須)

ユーザー独自のPrometheusから情報を収集するための,リモートライトの設定を行います。

監視対象ごとの設定変更の方法については,「1.21.2(11)(c) Prometheusの設定変更(Red Hat OpenShift)」および「1.21.2(11)(d) Prometheusの設定変更(Amazon Elastic Kubernetes Service(EKS))」を参照してください。

■global.external_labelsセクション
  • jp1_pc_prome_hostname(必須)

    Prometheusのホスト名を指定します。

  • jp1_pc_prome_clustername(オプション)

    クラスタ名を指定します。

    このラベルを指定しない場合,クラスタのIM管理ノードは作成されません。

(指定例)

global:
external_labels:
  jp1_pc_prome_hostname: promHost
  jp1_pc_prome_clustername: myCluster
■remote_writeセクション
  • 接続先の設定

    リモートライト先として,JP1/IM - Manager(インテリジェント統合管理基盤)のエンドポイントを指定します。エンドポイントを2つ指定し,「コンテナ監視に必要なラベルの設定」の1.と2.をそれぞれのセクションに記載します。クラスタのノードを作成する場合は,エンドポイントをもう1つ指定し,3.を記載してください。

  • コンテナ監視に必要なラベルの設定

    コンテナ監視に必要なラベルを付与するため,次に示す内容をwrite_relabel_configsセクションに記述します。リモートライト時にリラベルされるため,ユーザー独自のPrometheusのローカルストレージには影響しません。

    Red Hat OpenShiftを監視する場合は,「1. 基本の設定」「2. Pod のノードを作成するための設定」の先頭に,次の内容を追加で設定してください。

- source_labels: ['__name__']
  regex: 'kube_.*'
  target_label: instance
  replacement: クラスタ内で一意となる任意の値

注※ ここで指定した値は,Kubernetes state metric collector(Kube state

metrics)が稼働するホストとしてツリーに表示されます。

1. 基本の設定

  - source_labels: '[__name__]'
    regex: 'kube_job_status_failed|kube_job_owner|kube_pod_status_phase|kube_daemonset_status_desired_number_scheduled|kube_daemonset_status_current_number_scheduled|kube_deployment_spec_replicas|kube_deployment_status_replicas_available|kube_replicaset_spec_replicas|kube_replicaset_status_ready_replicas|kube_replicaset_owner|kube_statefulset_replicas|kube_statefulset_status_replicas_ready|kube_node_status_condition|container_cpu_usage_seconds_total|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes|node_boot_time_seconds|node_context_switches_total|node_cpu_seconds_total|node_disk_io_now|node_disk_io_time_seconds_total|node_disk_read_bytes_total|node_disk_reads_completed_total|node_disk_writes_completed_total|node_disk_written_bytes_total|node_filesystem_avail_bytes|node_filesystem_files|node_filesystem_files_free|node_filesystem_free_bytes|node_filesystem_size_bytes|node_intr_total|node_load1|node_load15|node_load5|node_memory_Active_file_bytes|node_memory_Buffers_bytes|node_memory_Cached_bytes|node_memory_Inactive_file_bytes|node_memory_MemAvailable_bytes|node_memory_MemFree_bytes|node_memory_MemTotal_bytes|node_memory_SReclaimable_bytes|node_memory_SwapFree_bytes|node_memory_SwapTotal_bytes|node_netstat_Icmp6_InMsgs|node_netstat_Icmp_InMsgs|node_netstat_Icmp6_OutMsgs|node_netstat_Icmp_OutMsgs|node_netstat_Tcp_InSegs|node_netstat_Tcp_OutSegs|node_netstat_Udp_InDatagrams|node_netstat_Udp_OutDatagrams|node_network_flags|node_network_iface_link|node_network_mtu_bytes|node_network_receive_errs_total|node_network_receive_packets_total|node_network_transmit_colls_total|node_network_transmit_errs_total|node_network_transmit_packets_total|node_time_seconds|node_uname_info|node_vmstat_pswpin|node_vmstat_pswpout'
    action: 'keep'
  - source_labels: ['__name__','namespace']
    regex: '(kube_pod_|kube_job_|container_).*;(.*)'
    target_label: jp1_pc_nodelabel
    replacement: $2
  - source_labels: ['__name__','node']
    regex: 'kube_node_.*;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__','daemonset']
    regex: 'kube_daemonset_.*;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__','deployment']
    regex: 'kube_deployment_.*;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__','replicaset']
    regex: 'kube_replicaset_.*;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__','statefulset']
    regex: 'kube_statefulset_.*;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__','owner_kind','owner_name']
    regex: 'kube_job_owner;CronJob;(.*)'
    target_label: jp1_pc_nodelabel
  - source_labels: ['__name__']
    regex: 'node_.*'
    target_label: jp1_pc_nodelabel
    replacement: Linux metric collector(Node exporter)
  - source_labels: ['__name__']
    regex: '(kube_pod_|kube_job_|container_).*;(.*)'
    target_label: jp1_pc_module
    replacement: kubernetes/Namespace
  - source_labels: ['__name__']
    regex: 'kube_node_.*'
    target_label: jp1_pc_module
    replacement: kubernetes/Node
  - source_labels: ['__name__']
    regex: 'kube_daemonset_.*'
    target_label: jp1_pc_module
    replacement: kubernetes/DaemonSet
  - source_labels: ['__name__']
    regex: 'kube_deployment_.*'
    target_label: jp1_pc_module
    replacement: kubernetes/Deployment
  - source_labels: ['__name__']
    regex: 'kube_replicaset_.*'
    target_label: jp1_pc_module
    replacement: kubernetes/ReplicaSet
  - source_labels: ['__name__']
    regex: 'kube_statefulset_.*'
    target_label: jp1_pc_module
    replacement: kubernetes/StatefulSet
  - source_labels: ['__name__','owner_kind']
    regex: 'kube_job_owner;CronJob'
    target_label: jp1_pc_module
    replacement: kubernetes/CronJob
  - source_labels: ['__name__']
    regex: 'kube_.*|container_.*'
    target_label: jp1_pc_trendname
    replacement: kubernetes
  - source_labels: ['__name__']
    regex: 'node_.*'
    target_label: jp1_pc_trendname
    replacement: node_exporter
  - source_labels: ['__name__']
    regex: 'kube_.*'
    target_label: jp1_pc_exporter
    replacement: JPC Kube state metrics
  - source_labels: ['__name__']
    regex: 'node_.*'
    target_label: jp1_pc_exporter
    replacement: JPC Node exporter
  - source_labels: ['__name__']
    regex: 'container_.*'
    target_label: jp1_pc_exporter
    replacement: JPC Kubelet
  - source_labels: ['__name__']
    regex: 'kube_.*'
    target_label: job
    replacement: jpc_kube_state
  - source_labels: ['__name__']
    regex: 'node_.*'
    target_label: job
    replacement: jpc_kube_node
  - source_labels: ['__name__']
    regex: 'container_.*'
    target_label: job
    replacement: jpc_kubelet
  - source_labels: ['__name__']
    regex: 'node_.*'
    target_label: jp1_pc_category
    replacement: platform
  - source_labels: ['job','instance']
    regex: 'jpc_kube_state;([^:]+):?(.*)'
    target_label: jp1_pc_remote_monitor_instance
    replacement: ${1}:Kubernetes state metric collector(Kube state metrics)
  - source_labels: ['job','instance']
    regex: 'jpc_kubelet;([^:]+):?(.*)'
    target_label: jp1_pc_remote_monitor_instance
    replacement: ${1}:Kubernetes resource metric collector(Kubelet)
  - regex: '__.+__|jp1_pc_prome_hostname|jp1_pc_prome_clustername|jp1_pc_nodelabel|jp1_pc_trendname|jp1_pc_module|jp1_pc_exporter|jp1_pc_remote_monitor_instance|instance|job|cronjob|namespace|schedule|concurrency_policy|daemonset|deployment|condition|status|job_name|owner_kind|owner_name|owner_is_controller|reason|replicaset|statefulset|revision|phase|node|kernel_version|os_image|container_runtime_version|kubelet_version|kubeproxy_version|pod_cidr|provider_id|system_uuid|internal_ip|key|value|effect|resource|unit|pod|host_ip|pod_ip|created_by_kind|created_by_name|uid|priority_class|host_network|ip|ip_family|image_image_id|image_spec|container_id|container|type|persistentvolumeclaim|label_.+_LABEL|id|name|device|major|minor|operation|cpu|failure_type|scope'
    action: 'labelkeep'

2. Podのノードを作成するための設定

  - source_labels: ['__name__']
    regex: 'kube_pod_owner|kube_pod_status_phase|container_cpu_usage_seconds_total|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes'
    action: 'keep'
  - source_labels: ['pod']
    target_label: jp1_pc_nodelabel
  - target_label: jp1_pc_module
    replacement: kubernetes/Pod
  - target_label: jp1_pc_trendname
    replacement: kubernetes
  - target_label: jp1_pc_exporter
    replacement: JPC Kube state metrics
  - target_label: job
    replacement: jpc_kube_state
  - source_labels: ['instance']
    regex: '([^:]+):?(.*)'
    target_label: jp1_pc_remote_monitor_instance
    replacement: ${1}:Kubernetes state metric collector(Kube state metrics)
  - regex: '__.+__|jp1_pc_prome_hostname|jp1_pc_prome_clustername|jp1_pc_nodelabel|jp1_pc_trendname|jp1_pc_module|jp1_pc_exporter|jp1_pc_remote_monitor_instance|instance|job|cronjob|namespace|schedule|concurrency_policy|daemonset|deployment|condition|status|job_name|owner_kind|owner_name|owner_is_controller|reason|replicaset|statefulset|revision|phase|node|kernel_version|os_image|container_runtime_version|kubelet_version|kubeproxy_version|pod_cidr|provider_id|system_uuid|internal_ip|key|value|effect|resource|unit|pod|host_ip|pod_ip|created_by_kind|created_by_name|uid|priority_class|host_network|ip|ip_family|image_image_id|image_spec|container_id|container|type|persistentvolumeclaim|label_.+_LABEL|id|name|device|major|minor|operation|cpu|failure_type|scope'

3. クラスタのノードを作成するための設定

- source_labels: ['__name__','jp1_pc_prome_clustername']
      regex: '(container_cpu_usage_seconds_total|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes);(.+)'
      action: 'keep'
    - source_labels: ['jp1_pc_prome_clustername']
      target_label: jp1_pc_nodelabel
    - target_label: jp1_pc_module
      replacement: kubernetes/Cluster
    - target_label: jp1_pc_trendname
      replacement: kubernetes
    - target_label: jp1_pc_exporter
      replacement: JPC Kubelet
    - target_label: job
      replacement: jpc_kubelet
    - source_labels: ['instance']
      regex: '([^:]+):?(.*)'
      target_label: jp1_pc_remote_monitor_instance
      replacement: ${1}:Kubernetes state metric collector(Kubelet)
    - regex: '__.+__|jp1_pc_prome_hostname|jp1_pc_prome_clustername|jp1_pc_nodelabel|jp1_pc_trendname|jp1_pc_module|jp1_pc_exporter|jp1_pc_remote_monitor_instance|instance|job|cronjob|namespace|schedule|concurrency_policy|daemonset|deployment|condition|status|job_name|owner_kind|owner_name|owner_is_controller|reason|replicaset|statefulset|revision|phase|node|kernel_version|os_image|container_runtime_version|kubelet_version|kubeproxy_version|pod_cidr|provider_id|system_uuid|internal_ip|key|value|effect|resource|unit|pod|host_ip|pod_ip|created_by_kind|created_by_name|uid|priority_class|host_network|ip|ip_family|image_image_id|image_spec|container_id|container|type|persistentvolumeclaim|label_.+_LABEL|id|name|device|major|minor|operation|cpu|failure_type|scope'
      action: labelkeep

(c) Prometheusの設定変更(Red Hat OpenShift)

■前提条件

  • cluster-adminロールを持つユーザーとしてクラスタにアクセスできる

  • OpentShift CLI(oc)がインストールされている

■手順

  1. ConfigMapオブジェクトが作成されているか確認する。

    $ oc -n openshift-monitoring get configmap cluster-monitoring-config
  2. ConfigMapオブジェクトが作成されていない場合,新規にファイルを作成する。

    $ vi cluster-monitoring-config.yaml
  3. ConfigMapオブジェクトが作成されている場合,openshift-monitoringプロジェクトでcluster-monitoring-configオブジェクトを編集する。

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
  4. data/config.yaml/prometheusK8sに設定内容をキャメルケースで記載する。

    (記載例)

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        prometheusK8s:
          externalLabels:
            jp1_pc_prome_hostname: promHost
            jp1_pc_prome_clustername: myCluster
          remoteWrite:
          - url: http://JP1/IM - Manager(インテリジェント統合管理基盤)のホスト名:20703/im/api/v1/trendData/write
            writeRelabelConfigs:
            - sourceLabels: '[__name__]'
              regex: 'kube_job_status_failed|kube_job_owner|kube_pod_status_phase|kube_daemonset_status_desired_number_scheduled|kube_daemonset_status_current_number_scheduled|kube_deployment_spec_replicas|kube_deployment_status_replicas_available|kube_replicaset_spec_replicas|kube_replicaset_status_ready_replicas|kube_replicaset_owner|kube_statefulset_replicas|kube_statefulset_status_replicas_ready|kube_node_status_condition|container_cpu_usage_seconds_total|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes|node_boot_time_seconds|node_context_switches_total|node_cpu_seconds_total|node_disk_io_now|node_disk_io_time_seconds_total|node_disk_read_bytes_total|node_disk_reads_completed_total|node_disk_writes_completed_total|node_disk_written_bytes_total|node_filesystem_avail_bytes|node_filesystem_files|node_filesystem_files_free|node_filesystem_free_bytes|node_filesystem_size_bytes|node_intr_total|node_load1|node_load15|node_load5|node_memory_Active_file_bytes|node_memory_Buffers_bytes|node_memory_Cached_bytes|node_memory_Inactive_file_bytes|node_memory_MemAvailable_bytes|node_memory_MemFree_bytes|node_memory_MemTotal_bytes|node_memory_SReclaimable_bytes|node_memory_SwapFree_bytes|node_memory_SwapTotal_bytes|node_netstat_Icmp6_InMsgs|node_netstat_Icmp_InMsgs|node_netstat_Icmp6_OutMsgs|node_netstat_Icmp_OutMsgs|node_netstat_Tcp_InSegs|node_netstat_Tcp_OutSegs|node_netstat_Udp_InDatagrams|node_netstat_Udp_OutDatagrams|node_network_flags|node_network_iface_link|node_network_mtu_bytes|node_network_receive_errs_total|node_network_receive_packets_total|node_network_transmit_colls_total|node_network_transmit_errs_total|node_network_transmit_packets_total|node_time_seconds|node_uname_info|node_vmstat_pswpin|node_vmstat_pswpout'
              action: keep
      - source_labels: ['__name__','namespace']
        regex: '(kube_pod_|kube_job_|container_).*;(.*)'
        target_label: jp1_pc_nodelabel
        replacement: $2
      - source_labels: ['__name__','node']
        regex: 'kube_node_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','daemonset']
        regex: 'kube_daemonset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','deployment']
        regex: 'kube_deployment_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','replicaset']
        regex: 'kube_replicaset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','statefulset']
        regex: 'kube_statefulset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','owner_name']
        regex: 'kube_job_owner;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','instance']
        regex: 'node_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: jp1_pc_trendname
        replacement: kube_state_metrics
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: jp1_pc_trendname
        replacement: node_exporter
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: jp1_pc_trendname
        replacement: kubelet
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Kube state metrics
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Node exporter
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Kubelet
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: job
        replacement: jpc_kube_state
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: job
        replacement: jpc_node
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: job
        replacement: jp1_kubelet
  5. ファイルを保存して,変更内容をConfigMapオブジェクトに適用する。

    $ oc apply -f cluster-monitoring-config.yaml

(d) Prometheusの設定変更(Amazon Elastic Kubernetes Service(EKS))

■手順

  1. 任意の名前のymlファイル(例:my_prometheus_values.yml)を作成し,serverセクションに設定内容を記載する。

    • external_labelsの設定内容

      global.external_labelsセクションに記載します。

    • remote_writeの設定内容

      remoteWriteセクションに記載します。

    (記載例)

    server:
      global:
        external_labels:
          jp1_pc_prome_hostname: promHost
          jp1_pc_prome_clustername: myCluster
      remoteWrite:
        - url: http://JP1/IM - Manager(インテリジェント統合管理基盤)のホスト名:20703/im/api/v1/trendData/write
            write_relabel_configs:
            - sourceLabels: '[__name__]'
              regex: 'kube_job_status_failed|kube_job_owner|kube_pod_status_phase|kube_daemonset_status_desired_number_scheduled|kube_daemonset_status_current_number_scheduled|kube_deployment_spec_replicas|kube_deployment_status_replicas_available|kube_replicaset_spec_replicas|kube_replicaset_status_ready_replicas|kube_replicaset_owner|kube_statefulset_replicas|kube_statefulset_status_replicas_ready|kube_node_status_condition|container_cpu_usage_seconds_total|container_fs_reads_bytes_total|container_fs_writes_bytes_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes|node_boot_time_seconds|node_context_switches_total|node_cpu_seconds_total|node_disk_io_now|node_disk_io_time_seconds_total|node_disk_read_bytes_total|node_disk_reads_completed_total|node_disk_writes_completed_total|node_disk_written_bytes_total|node_filesystem_avail_bytes|node_filesystem_files|node_filesystem_files_free|node_filesystem_free_bytes|node_filesystem_size_bytes|node_intr_total|node_load1|node_load15|node_load5|node_memory_Active_file_bytes|node_memory_Buffers_bytes|node_memory_Cached_bytes|node_memory_Inactive_file_bytes|node_memory_MemAvailable_bytes|node_memory_MemFree_bytes|node_memory_MemTotal_bytes|node_memory_SReclaimable_bytes|node_memory_SwapFree_bytes|node_memory_SwapTotal_bytes|node_netstat_Icmp6_InMsgs|node_netstat_Icmp_InMsgs|node_netstat_Icmp6_OutMsgs|node_netstat_Icmp_OutMsgs|node_netstat_Tcp_InSegs|node_netstat_Tcp_OutSegs|node_netstat_Udp_InDatagrams|node_netstat_Udp_OutDatagrams|node_network_flags|node_network_iface_link|node_network_mtu_bytes|node_network_receive_errs_total|node_network_receive_packets_total|node_network_transmit_colls_total|node_network_transmit_errs_total|node_network_transmit_packets_total|node_time_seconds|node_uname_info|node_vmstat_pswpin|node_vmstat_pswpout'
              action: keep
      - source_labels: ['__name__','namespace']
        regex: '(kube_pod_|kube_job_|container_).*;(.*)'
        target_label: jp1_pc_nodelabel
        replacement: $2
      - source_labels: ['__name__','node']
        regex: 'kube_node_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','daemonset']
        regex: 'kube_daemonset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','deployment']
        regex: 'kube_deployment_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','replicaset']
        regex: 'kube_replicaset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','statefulset']
        regex: 'kube_statefulset_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','owner_name']
        regex: 'kube_job_owner;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__','instance']
        regex: 'node_.*;(.*)'
        target_label: jp1_pc_nodelabel
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: jp1_pc_trendname
        replacement: kube_state_metrics
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: jp1_pc_trendname
        replacement: node_exporter
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: jp1_pc_trendname
        replacement: kubelet
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Kube state metrics
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Node exporter
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: jp1_pc_exporter
        replacement: JPC Kubelet
      - source_labels: ['__name__']
        regex: 'kube_.*'
        target_label: job
        replacement: jpc_kube_state
      - source_labels: ['__name__']
        regex: 'node_.*'
        target_label: job
        replacement: jpc_node
      - source_labels: ['__name__']
        regex: 'container_.*'
        target_label: job
        replacement: jp1_kubelet
  2. 変更内容を適用する。

    helm upgrade prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace -f  my_prometheus_values_yaml

(e) 取得対象の設定(オプション)

■監視対象の変更

ユーザー環境の監視対象の一部だけをJP1/IMで監視したい場合は,write_relabel_configsセクションに指定します。下記に指定例を示します。

(指定例1)特定のリソースのホワイトリストを指定

  - source_labels: ['__name__','pod']
    regex: '(kube_pod_|container_).*;coredns-.*|prometheus'
    action: 'keep'

(指定例2)すべてのリソースのブラックリストを指定

  - source_labels: ['jp1_pc_nodelabel']
    regex: 'coredns-.*|prometheus'
    action: 'drop'
また,すでに収集対象としているメトリックについて,異なる単位でも集約して監視を行いたい場合は,remote_writeセクションを追加し,監視したい単位での定義を行います。
■監視メトリクスの変更

統合オペレーション・ビューアーの[トレンド]タブに表示するメトリックを変更する場合は,メトリック定義ファイルを編集します。

対象となるメトリック定義ファイルを,次に示します。

  • Node exporterのメトリック定義ファイル(metrics_node_exporter.conf)

  • コンテナ監視のメトリック定義ファイル(metrics_kubernetes.conf)

各メトリック定義ファイルについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の該当するファイルを説明している個所を参照してください。

(f) システムノード定義ファイル(imdd_systemnode.conf)の設定(必須)

マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.6(1)(i)ツリーの形式」に示すシステムノードを作成するときは,システムノード定義ファイル(imdd_systemnode.conf)を編集して,次の設定項目を指定します。ここに記載のない設定項目については,任意の値を指定します。

表1‒19 システムノード定義ファイル(imdd_systemnode.conf)の設定項目

設定項目

設定値

displayname

Kubernetesコンポーネントの名前を指定します。

type

次の文字列を大文字表記で指定します。

Kubernetes-Kubernetesコンポーネント名

Kubernetesコンポーネント名」は,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.4(2)(b)Kubernetes」で,Kubernetesの監視対象のコンポーネント名について説明している個所の「コンポーネント名」が該当します。

name

次の文字列を指定します。

[{".*":"regexp"}]

コンテナ監視のメトリック定義ファイルの初期設定で監視するKubernetesコンポーネントに対して,システム管理ノードを設定する場合の,システムノード定義ファイルの設定例を,次に示します。

表1‒20 システムノード定義ファイル(imdd_systemnode.conf)の設定例

設定項目

displayName

type

name

Clusters

JP1PC-KUBERNETES-CLUSTER

[{".*":"regexp"}]

Nodes

JP1PC-KUBERNETES-NODE

[{".*":"regexp"}]

Namespaces

JP1PC-KUBERNETES-NAMESPACE

[{".*":"regexp"}]

Deployments

JP1PC-KUBERNETES-DEPLOYMENT

[{".*":"regexp"}]

DaemonSets

JP1PC-KUBERNETES-DAEMONSET

[{".*":"regexp"}]

ReplicaSets

JP1PC-KUBERNETES-REPLICASET

[{".*":"regexp"}]

StatefulSets

JP1PC-KUBERNETES-STATEFULSET

[{".*":"regexp"}]

CronJobs

JP1PC-KUBERNETES-CRONJOB

[{".*":"regexp"}]

Pods

JP1PC-KUBERNETES-POD

[{".*":"regexp"}]

上記の内容と上位のKubernetesをシステムノード定義ファイルに設定した場合,次のようになります。

{
  "meta":{
    "version":"2"
  },
  "allSystem":[
    {
      "id":"kubernetes",
      "displayName":"Kubernetes",
      "children":[
        {
          "id":"cluster",
          "displayName":"Clusters",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-CLUSTER",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"namespace",
          "displayName":"Namespaces",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-NAMESPACE",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"node",
          "displayName":"Nodes",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-NODE",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"deployment",
          "displayName":"Deployments",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-DEPLOYMENT",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"daemonset",
          "displayName":"DaemonSets",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-DAEMONSET",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"replicaset",
          "displayName":"ReplicaSets",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-REPLICASET",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"statefulset",
          "displayName":"StatefulSets",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-STATEFULSET",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"cronjob",
          "displayName":"CronJobs",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-CRONJOB",
              "name":[{".*":"regexp"}]
            }
          ]
        },
        {
          "id":"pod",
          "displayName":"Pods",
          "objectRoot":[
            {
              "type":"JP1PC-KUBERNETES-POD",
              "name":[{".*":"regexp"}]
            }
          ]
        }
      ]
    }
  ]
}

システムノード定義ファイルを指定しておくと,jddcreatetreeコマンドが実行されたときに,Kubernetesコンポーネント名に応じたシステムノードの配下にIM管理ノードが表示されます。

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

(12) Script exporterの定義ファイルの編集

(a) 監視対象スクリプトの指定(必須)

■Script exporter設定ファイル(jpc_script_exporter.yml)の編集

Script exporter設定ファイル(jpc_script_exporter.yml)を編集して,監視対象スクリプトを定義します。

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

(b) 監視メトリックの変更(オプション)

■Prometheus設定ファイル(jpc_prometheus_server.yml)の編集

スクリプトから収集したメトリクスを追加する場合は,Prometheus設定ファイル(jpc_prometheus_server.yml)のmetric_relabel_configセクションに追加します。

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

scrape_configs:
  - job_name: jpc_script_exporter
     :
    metric_relabel_configs:
      - source_labels:['__name__']
        regex: 'script_success|script_duration_seconds|script_exit_code【ここにメトリクスを追加します】'
■Script exporterのメトリック定義ファイル(metrics_script_exporter.conf)の編集

統合オペレーション・ビューアーの[トレンド]タブに表示するメトリックを変更する場合は,Script exporterのメトリック定義ファイル(metrics_script_exporter.conf)の設定を変更します。

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

(c) ポートを変更する(オプション)

Script exporterが使用するリッスンポートは,script_exporterコマンドの--web.listen-addressオプションに指定します。

script_exporterコマンドのオプションの変更方法については,「1.21.2(1)(c)コマンドラインオプションを変更する(Windowsの場合)」,および「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名.service.xml)」(2. 定義ファイル)の「script_exporterコマンドのオプション」,および「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の「コマンドラインのオプションを変更したい場合」を参照してください。

なお,デフォルトのポートは「20722」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

注意事項
  • このオプションにホスト名を指定する場合,同じホスト上のScript exporterのディスカバリ設定ファイル(jpc_file_sd_config_script.yml)のtargetsに,同じホスト名を設定する必要があります。http_sd_configで指定する場合は,urlも変更します。

  • このオプションにIPアドレスを指定する場合,同じホスト上のScript exporterのディスカバリ設定ファイル(jpc_file_sd_config_script.yml)のtargetsに,オプションで指定したIPアドレスに解決されるホスト名を設定する必要があります。http_sd_configで指定する場合は,urlも変更します。

(d) SAPシステムのログ抽出コマンドを実行する場合の設定(オプション)

Script exporterを使用して,SAPシステムのログ抽出コマンドを実行する場合は,SAPシステム監視のScript exporter設定ファイルのサンプルファイル(jpc_script_exporter_sap.yml)を使用して,Script exporterの設定を行います。

SAPシステム監視のScript exporter設定ファイルのサンプルファイルについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SAPシステム監視のScript exporter設定ファイルのサンプルファイル(jpc_script_exporter_sap.yml)」(2. 定義ファイル)を参照してください。

設定方法については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「SAPシステム監視のScript exporter設定ファイルのサンプルファイル(jpc_script_exporter_sap.yml)」(2. 定義ファイル),および「1.21.2(12)Script exporterの定義ファイルの編集」を参照してください。

(13) リッスンポート番号とリッスンアドレスの設定(オプション)

デフォルトのポート番号から変更しない,かつ,リッスンするIPアドレスを限定しない場合は,この手順の実施は不要です。

リッスンするポート番号やIPアドレスを変更する場合の変更個所などについては,「1.21.2 JP1/IM - Agentの設定」(Windowsの場合)および「2.19.2 JP1/IM - Agentの設定」(Linuxの場合)で,JP1/IM - Agentのモジュールやアドオンプログラムのポートを変更する手順について説明している個所を参照してください。

(14) ファイアウォールの設定(Windowsの場合)(必須)

次に示すとおりファイアウォールを設定し,外部からのアクセスを制限する必要があります。

表1‒21  ファイアウォールの設定

ポート

ファイアウォールの設定

imagentのポート

外部からのアクセスを禁止します。

imagentproxyのポート

外部からのアクセスを禁止します。

imagentactionのポート

外部からのアクセスを禁止します。

alertmanagerのポート

外部からのアクセスを禁止します。

ただし,他ホストのBlackbox exporterによる外形監視でAlertmanagerを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討します。

prometheus_serverのポート

外部からのアクセスを禁止します。

ただし,他ホストのBlackbox exporterによる外形監視でPrometheus serverを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討します。

windows_exporterのポート

外部からのアクセスを禁止します。

node_exporterのポート

process_exporterのポート

ya_cloudwatch_exporterのポート

promitor_scraperのポート

promitor_resource_discoveryのポート

blackbox_exporterのポート

script_exporterのポート

fluentdのポート

(15) 統合エージェントのプロセスの死活監視の設定(Windowsの場合)(オプション)

統合エージェントのプロセスは,次の種類の方法で監視します。

(a) 他ホストのBlackbox exporterによる外形監視

Prometheus serverサービスとAlertmanagerサービスは,他ホスト上で稼働している統合エージェントのBlackbox exporterから監視します。監視するURLは,次の表のとおりです。

Blackbox exporterのHTTP監視を追加する方法については,「1.21.2(6)(c) 監視対象を追加・変更・削除する(Windowsの場合)(必須)」を参照してください。アラート定義の設定方法については,「1.21. 2(3)(b) アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

表1‒22  Blackbox exporterのHTTP監視で監視するURL

サービス

監視するURL

Prometheus server

http://統合エージェントのホスト名:Prometheus serverのポート番号/-/healthy

Alertmanager

http://統合エージェントのホスト名:Alertmanagerのポート番号/-/healthy

Blackbox exporterのHTTP監視で監視するアラート定義の例を,次に示します。

groups:
  - name: service_healthcheck
    rules:
    - alert: jp1_pc_prometheus_healthcheck
      expr: probe_success{instance=~".*:20713/-/healthy"} == 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: "probe_success"
      annotations:
        jp1_pc_firing_description: "Prometheus serverへの通信に失敗しました。"
        jp1_pc_resolved_description: "Prometheus serverへの通信に成功しました。"
    - alert: jp1_pc_alertmanager_healthcheck
      expr: probe_success{instance=~".*:20714/-/healthy"} == 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: "probe_success"
      annotations:
        jp1_pc_firing_description: "Alertmanagerへの通信に失敗しました。"
        jp1_pc_resolved_description: "Alertmanagerへの通信に成功しました。"

(b) Windows exporterによるプロセスの死活監視

imagentproxyサービス,imagentactionサービス,Fluentdサービス,およびWindowsサービス化プログラムは,Windows exporterのプロセス監視の稼動情報で監視します。監視するプロセスは次の表に記載されています。

アラート定義の設定方法については,「1.21.2(3)(b) アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

表1‒23 Windows exporterで監視するプロセス

サービス

監視するプロセス

監視対象名

jpc_imagent_service

Agentパス\bin\jpc_imagent_service.exe

監視対象名1:imagent

監視対象名2:imagent

jpc_imagentproxy_service

Agentパス\bin\jpc_imagentproxy_service.exe

監視対象名1:imagentproxy

監視対象名2:imagentproxy

jpc_imagentaction_service

Agentパス\bin\jpc_imagentaction_service.exe

監視対象名1:imagentaction

監視対象名2:imagentaction

jpc_prometheus_server_service

Agentパス\bin\jpc_prometheus_server_service.exe

監視対象名1:prometheus

監視対象名2:prometheus_server

jpc_alertmanager_service

Agentパス\bin\jpc_alertmanager_service.exe

監視対象名1:alertmanager

監視対象名2:alertmanager

jpc_windows_exporter_service

Agentパス\bin\jpc_windows_exporter_service.exe

監視対象名1:Windows metric collector(Windows exporter)

監視対象名2:windows_exporter

jpc_blackbox_exporter_service

Agentパス\bin\jpc_blackbox_exporter_service.exe

監視対象名1:RM Synthetic metric collector(Blackbox exporter)

監視対象名2:blackbox_exporter

jpc_ya_cloudwatch_exporter_service

Agentパス\bin\jpc_ya_cloudwatch_exporter_service.exe

監視対象名1:RM AWS metric collector(Yet another cloudwatch exporter)

監視対象名2:ya_cloudwatch_exporter

jpc_fluentd_service

Agentパス\bin\jpc_fluentd_service.exe

  • ログ監視機能を使用する場合

    監視対象名1:fluentd_win Log trapper(Fluentd)

    監視対象名2:fluentd

  • ログメトリクス機能だけを使用する場合

    監視対象名1:fluentd_prome_win Log trapper(Fluentd)

    監視対象名2:fluentd

jpc_script_exporter_service

Agentパス\bin\jpc_script_exporter_service.exe

監視対象名1:Script exporter

監視対象名2:script_exporter

jpc_promitor_scraper_service

Agentパス\bin\jpc_promitor_scraper_service.exe

監視対象名1:RM Promitor

監視対象名2:promitor_scraper

jpc_promitor_resource_discovery_service

Agentパス\bin\jpc_promitor_resource_discovery_service.exe

監視対象名1:RM Promitor

監視対象名2:promitor_resource_discovery

注※

Windowsサービス化プログラムを示します。

Windows exporterで監視するアラート定義の例を,次に示します。

groups:
 - name: windows_exporter
  rules:
   - alert: jp1_pc_procmon_監視対象名1
     expr: expr: absent(windows_process_start_time{instance="imahost:20717", job="jpc_windows", jp1_pc_exporter="JPC Windows exporter", jp1_pc_nodelabel="jpc_監視対象名2_service",process="jpc_監視対象名2_service"}) == 1
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_metricname: "windows_process_start_time"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(1個)を下回りました。"
        jp1_pc_resolved_description: "プロセス数がしきい値(1個)を上回りました。"
  • imahostの部分には,統合エージェントホスト名を指定します。20717の部分には,Windows exporterのポート番号を指定します。

  • 監視対象名1監視対象名2には,「表1-23 Windows exporterで監視するプロセス」の監視対象名を指定します。

  • アラート定義を複数指定する場合は,「 - alert:」から始まる行以降を複数回繰り返して設定します。

(c) Prometheus serverのupメトリックによる監視

Windows exporterサービス,Blackbox exporterサービス,Yet another cloudwatch exporterサービスは,Prometheus serverのアラート監視で監視します。アラート定義の設定方法については,「1.21.2(3)(b) アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

upメトリックを監視するアラート定義の例を,次に示します。

groups:
  - name: exporter_healthcheck
    rules:
    - alert: jp1_pc_exporter_healthcheck
      expr: up{jp1_pc_remote_monitor_instance=""} == 0 or label_replace(sum by (jp1_pc_remote_monitor_instance,jp1_pc_exporter) (up{jp1_pc_remote_monitor_instance!=""}), "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への通信に失敗しました。"
        jp1_pc_resolved_description: "Exporterへの通信に成功しました。"

(16) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)

次に示す手順で,IM管理ノードのツリー情報の作成と反映を行います。

  1. 統合エージェントホストを新しく追加,または,統合エージェントホストのホスト名を変更した場合,そのホストの統合エージェント制御基盤のサービスを起動する。

  2. アドオンプログラムを新しく追加,または,アドオンプログラムの設定を変更し構成が変更となる場合,そのアドオンプログラム,および,同居する統合エージェント制御基盤のサービスを起動する。

  3. すべての統合エージェントホストで手順1〜2に該当するサービスを起動したら,サービス起動後1分経過するのを待つ。

    注※ Prometheus設定ファイル(jpc_prometheus_server.yml)のscrape_intervalの値を変更している場合,その値の時間だけ待ちます。

  4. 統合マネージャーホストで行う手順を実施する。

    手順については,「1.19.3(1)(c)IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」の手順2〜5を参照してください。

(17) セキュリティ製品の除外設定(Windowsの場合)(オプション)

アンチウィルスソフトやセキュリティ製品を導入している場合は,次のディレクトリを除外するように設定してください。

(18) 定義ファイル更新時の注意事項(Windowsの場合)

定義ファイルの更新内容を反映するために,JP1/IM - Agentのサービスを再起動した場合,サービスの再起動中は監視が停止します。