1.21.2 JP1/IM - Agentの設定
- 〈この項の構成〉
-
(1) 共通の設定方法
(a) 設定ファイルを編集する(Windowsの場合)
設定ファイルは,confディレクトリに格納されています。設定ファイルの内容を変更する方法には,次の2つの方法があります。
-
統合オペレーション・ビューアーを使用する方法
-
ホストにログインして設定する方法
統合オペレーション・ビューアーを使用する場合に,編集できる設定ファイルについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「定義ファイル一覧」(2. 定義ファイル)で,JP1/IM - Agent(統合エージェント制御基盤)に関する定義ファイルの注記を参照してください。ホストにログインして設定する方法の場合は,すべての設定ファイルを編集できます。
■ 統合オペレーション・ビューアーを使用する方法
-
統合オペレーション・ビューアーから設定ファイルをダウンロードする。
統合オペレーション・ビューアーから編集したい定義ファイルを選択してダウンロードします。
ユーザーが任意で作成できる定義ファイルを追加する場合は,次の手順を実施します。
1. ユーザー作成定義ファイルリスト定義ファイルをダウンロードします。
2. ユーザー作成定義ファイルリスト定義ファイルに追加したい定義ファイルの情報を記載します。
3. ユーザー作成定義ファイルリスト定義ファイルをアップロードします。
4. 追加したい定義ファイルをアップロードします。
-
ダウンロードしたファイルを編集する。
- メモ
-
Prometheus serverの定義ファイルは,promtoolコマンドで書式チェックができるため,この時点でチェックすることを推奨します。
promtoolコマンドは,Prometheus serverに付属しています。Prometheus serverは,GitHubのサイトからダウンロードできます。JP1/IM - Agentに同梱されているPrometheus serverと同じバージョンを使用してください。
JP1/IM - Agentのアドオンプログラムのバージョンは,統合オペレーション・ビューアーの[統合エージェント一覧]画面のアドオン機能一覧,または,Agentパス\addon_management\アドオン名\フォルダに格納されているaddon_info.txtファイルで確認できます。
-
統合オペレーション・ビューアーを使用して,編集したファイルをアップロードする。
アップロードすると自動的に設定が反映されます。
■ ホストにログインして設定する方法
-
統合エージェントホストにログインする。
-
JP1/IM - Agentのサービスを停止する。
-
設定ファイルを編集する。
- メモ
-
Prometheus serverの定義ファイルは,promtoolコマンドで書式チェックができるため,この時点でチェックすることを推奨します。
-
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コマンドを使用)ことを意味しています。
-
サービス定義ファイルを変更する手順を,次に示します。
-
統合エージェントホストにログインする。
-
JP1/IM - Agentのサービスを停止する。
-
サービス定義ファイルを編集する。
-
JP1/IM - Agentのサービスを起動する。
(c) コマンドラインオプションを変更する(Windowsの場合)
サービス定義ファイルの<arguments>タグで,コマンドラインオプションを変更します。
編集方法については,「1.21.2(1)(b)サービス定義ファイルを変更する(Windowsの場合)」を参照してください。
(2) 統合エージェント制御基盤の設定
(a) 接続先の統合マネージャーを変更する(Windowsの場合)(オプション)
-
JP1/IM - Agentのサービスを停止する。
-
接続先の統合マネージャーを変更する。
imagent共通設定ファイル(jpc_imagentcommon.json)に定義されている接続先の統合マネージャーを,新しい接続先に変更します。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
複数マネージャーホストへのデータ配信機能で,セカンダリーの統合エージェント制御基盤からの接続先の統合マネージャーを変更する場合,immgrではなくimmgr_add.secondary配下の定義を変更します。
-
統合エージェントホストを削除する。
統合オペレーション・ビューアーの[統合エージェント一覧]画面で接続先を変更する統合エージェントホストにチェックをつけて,[削除]ボタンを選択します。
詳細については,マニュアル「JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.1 [統合エージェント一覧]画面」を参照してください。
-
初期シークレットを確認する。
統合マネージャーホストの統合オペレーション・ビューアーで初期シークレット(初回接続用のシークレット)を確認します。
詳細については,マニュアル「JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.3 [初期シークレット表示]画面」を参照してください。
-
初期シークレットを難読化して登録する。
シークレット管理コマンドで,初期シークレットを難読化して登録します。※
jimasecret -add -key immgr.initial_secret -s "初期シークレット"
-
個別シークレットを削除する。
シークレット管理コマンドで,個別シークレットを削除します。※
jimasecret -rm -key immgr.client_secret
-
証明書を変更する。
CA証明書の変更方法については,「1.21.2(2)(c) CA証明書を配置する(Windowsの場合)(オプション)」を参照してください。
変更前の接続先の統合マネージャーと新しい接続先のimbaseのサーバー証明書を発行した認証局が同じである場合は,この手順は不要です。
-
JP1/IM - Agentを起動する。
- 注※
-
複数マネージャーホストへのデータ配信機能で,セカンダリーの統合エージェント制御基盤からの接続先の統合マネージャーを変更する場合,-keyオプションに指定する文字列については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(e) 初期シークレット,クライアントシークレット,およびHTTPプロキシパスワードのキー」を参照してください。
(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が使用するポート番号」を参照してください。
- 重要
-
-
イベント転送中継機能の待ち受けポートを変更した場合は,「1.21.2(2)(g)イベント転送中継機能を設定する(Windowsの場合)(オプション)」を参照して,イベント転送中継元のJP1/Baseのイベント転送設定を見直してください。
-
imagentproxyプロセスのポートを変更した場合は,Prometheusのリモートライト先,Alertmanagerのアラート通知先,およびFluentdのアラート通知先を変更する必要があります。それぞれの変更の詳細については,下記を参照してください。
・Prometheusのリモートライト先:1.21.2(3)(e) リモートライト先を変更する(Windowsの場合)(オプション)
・Alertmanagerのアラート通知先:1.21.2(4)(b) アラート通知先を変更する(Windowsの場合)(オプション)
・Fluentdのアラート通知先:1.21.2(9)(a) ログ監視の共通定義の設定を変更する(Windowsの場合)(オプション)
-
複数マネージャーホストへのデータ配信機能で,統合エージェント制御基盤のセカンダリーの設定を行う場合,imagent設定ファイル(jpc_imagent.json)とimagentproxy設定ファイル(jpc_imagent_proxy.json)の最上位のportやjp1base_forward_receive.portではなく,listen_add.secondary配下の同名のメンバーを設定します。
-
- 重要
-
ポート番号を変更した場合は,ファイアウォールの設定についても見直す必要があります。詳細については,「1.21.2(17) ファイアウォールの設定(Windowsの場合)(必須)」を参照してください。
(c) CA証明書を配置する(Windowsの場合)(オプション)
統合エージェント管理基盤と統合エージェント制御基盤の間の通信を暗号化する場合,imagent共通設定ファイル(jpc_imagentcommon.json)のtls_configを指定した上で,下記の設定が必要となります。複数マネージャーホストへのデータ配信機能で,統合エージェント制御基盤のセカンダリーの設定を行うときは,最上位のtls_configではなく,immgr_add.secondary.tls_configを設定します。
暗号化を行わない場合は,下記の設定は不要です。
CA証明書を配置する手順については,「9.4.5 JP1/IM - Agent(統合エージェント制御基盤)の設定」を参照してください。
■ 統合エージェント管理基盤のサーバー証明書を検証する場合
-
CA証明書を配置する。
接続先のimbaseのサーバー証明書を発行した認証局のCA証明書を,次のディレクトリに配置します。
-
Windowsの場合
Agentパス\conf\user\cert\
-
Linuxの場合
/opt/jp1ima/conf/user/cert/
-
-
imagent共通設定ファイル(jpc_imagentcommon.json)にCA証明書のパスを記載する。
-
imagentとimagentproxyを再起動する。
■ 統合エージェント管理基盤のサーバー証明書を検証しない場合
-
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) アクションの実行ユーザーを変更する(Windowsの場合)(必須)
imagent設定ファイル(jpc_imagent.json)のaction.username,action.domainnameを変更します。設定方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。また,指定したユーザーのパスワードをjimasecretコマンドで登録する必要があります。
(g) イベント転送中継機能を設定する(Windowsの場合)(オプション)
イベント転送中継機能を使用する場合,JP1/IM - Agentを13-01以降にする必要があります。
イベント転送中継機能の設定は,JP1/IM - Agentの設定を行う前に,JP1/IM - Managerの設定を実施してください。JP1/IM - Managerの設定が完了したあと,JP1/IM - Agentの設定を行い,次にJP1/Baseの設定を行います。最後にJP1/IM - Managerでツリーの更新を実施してください。
JP1/IM - Managerの設定については,「1.19.3(1)(b)統合エージェント管理基盤の設定変更(Windowsの場合)」の「イベント転送中継機能を設定する(オプション)」を参照してください。
JP1/IM - AgentとJP1/Baseの設定手順を,次に示します。
■ JP1/IM - Agentの設定
-
JP1/IM - Agentのサービスを停止する。
クラスタ構成の場合は,クラスタソフトからサービスを停止します。
-
imagent設定ファイル(jpc_imagent.json)を開き,jp1base_forward_recieveの項目を設定する。
-
JP1/IM - Agent 13-10以降を新規インストールした場合
imagent設定ファイルにjp1base_forward_recieveの項目が記載されていますが,「//jp1base_forward_recieve」のようにコメント化されているため,先頭の「//」を削除します。
-
JP1/IM - Agent 13-10より前のバージョンからバージョンアップした場合
imagent設定ファイルにjp1base_forward_recieveの項目が記載されていないため,imagent設定ファイルのモデルファイルを参考にして,imagent設定ファイルに記載します。記載する際,先頭の「//」を削除します。
-
-
imagent設定ファイルのjp1base_forward_recieveの項目の下にあるportを設定する。
-
JP1/IM - Agentのサービスを起動する。
クラスタ構成の場合は,クラスタソフトからサービスを起動します。
■ JP1/IM - Baseの設定
-
JP1/Baseを停止する。
クラスタ構成の場合は,クラスタソフトから停止します。
-
イベントサーバ設定ファイル(conf)のremote-serverにimagentを登録する。
次のように設定します。
remote-server イベントサーバ名 通信タイプ アドレス ポート指定
- イベントサーバ名
-
固定値「imagent」を指定します。
- 通信タイプ
-
固定値「keep-alive」を指定します。
- アドレス
-
自ホストのホスト名(物理ホスト名または論理ホスト名)またはIPアドレスを指定します。
ホスト名がjp1hostsやjp1hosts2で名前解決できない場合は,IPアドレスを指定してください。
- ポート指定
-
「JP1/IM - Agentの設定」で設定したポート番号を指定します。
-
転送設定ファイル(forward)を設定する。
次のように設定します。
to imagent イベントフィルター end-to
-
JP1/Baseを起動する。
クラスタ構成の場合は,クラスタソフトから起動します。
■ ツリーの更新
-
JP1/IM - Managerでインテリジェント統合管理基盤のツリーの更新を実行する。
ツリーの更新を実行してもイベント転送中継元のIM管理ノードが表示されない場合は,イベント中継元のimagentのjima_message.logにエラーが出力されていないか確認してください。
(h) イベント転送中継機能を解除する(Windowsの場合)
JP1/Baseの設定を行い,次にJP1/IM - Agentの設定を行います。最後にJP1/IM - Managerでツリーの更新を実施してください。
■ JP1/IM - Baseの設定
-
JP1/Baseを停止する。
クラスタ構成の場合は,クラスタソフトから停止します。
-
転送設定ファイル(forward)を編集し,imagentへのイベント転送を解除する。
-
JP1/Baseを起動する。
クラスタ構成の場合は,クラスタソフトから起動します。
■ JP1/IM - Agentの設定
-
JP1/IM - Agentのサービスを停止する。
クラスタ構成の場合は,クラスタソフトからサービスを停止します。
-
imagent設定ファイル(jpc_imagent.json)を開き,jp1base_forward_recieveの項目をコメント化または削除する。
-
JP1/IM - Agentのサービスを起動する。
クラスタ構成の場合は,クラスタソフトからサービスを起動します。
■ ツリーの更新
-
JP1/IM - Managerでインテリジェント統合管理基盤のツリーの更新を実行する。
ツリーの更新を実行してもイベント転送中継元のIM管理ノードが表示されない場合は,イベント中継元のimagentのjima_message.logにエラーが出力されていないか確認してください。
(i) 複数マネージャーホストへのデータ配信機能を設定する(Windowsの場合)(オプション)
■ 新規設定
-
JP1/IM - Agentのサービスを停止する。
停止するサービスのサービスキーを次に示します。
-
jpc_imagent
-
jpc_imagentaction
-
jpc_imagentproxy
-
jpc_alertmanager
-
jpc_prometheus_server
-
jpc_fluentd
-
-
統合エージェント管理基盤のセカンダリー用のフォルダを作成する。
統合エージェント管理基盤のセカンダリー用のフォルダとして,次のフォルダを作成します。
-
Agentパス\tmp\download-imagentグループ識別子
-
Agentパス\tmp\upload-imagentグループ識別子
-
Agentパス\tmp\jbsfwd-imagentグループ識別子
-
Agentパス\logs\imagent-imagentグループ識別子
-
Agentパス\logs\imagentproxy-imagentグループ識別子
-
Agentパス\logs\imagentaction-imagentグループ識別子
上記のフォルダの作成には,次のコマンドを使用します。
mkdir フォルダ
-
-
統合エージェント管理基盤のセカンダリー用のファイルを作成する。
Agentパス\bin下にあるコピー元のファイルをコピーし,コピー先のファイル名にリネームします。
コピー元のファイル名
コピー先のファイル名
jpc_imagent_service.exe
jpc_imagent-imagentグループ識別子_service.exe
jpc_imagent_service.xml
jpc_imagent-imagentグループ識別子_service.xml
jpc_imagentproxy_service.exe
jpc_imagentproxy-imagentグループ識別子_service.exe
jpc_imagentproxy_service.xml
jpc_imagentproxy-imagentグループ識別子_service.xml
jpc_imagentaction_service.exe
jpc_imagentaction-imagentグループ識別子_service.exe
jpc_imagentaction_service.xml
jpc_imagentaction-imagentグループ識別子_service.xml
-
統合エージェント制御基盤のセカンダリー用の設定を行う。
マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(d) 統合エージェント制御基盤の設定ファイル」を参照してください。
-
統合エージェント制御基盤のセカンダリー用のシークレットを登録する。
セカンダリーの統合エージェント制御基盤が接続するJP1/IM - Managerの初期シークレットを取得して登録します。
パスワードによるHTTP認証(Basic認証)が必要なHTTPプロキシサーバを介してJP1/IM - Managerに接続する場合は,HTTPプロキシパスワードをシークレットとして登録してください。
登録する初期シークレットのキー,およびHTTPプロキシパスワードのキーについては,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(e) 初期シークレット,クライアントシークレット,およびHTTPプロキシパスワードのキー」を参照してください。
-
統合エージェント制御基盤以外の設定を行う。
マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(f) 統合エージェント制御基盤以外の各プログラムの送信設定」を参照してください。
-
サービスの起動設定を行う。
マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(c) セカンダリーのサービス起動の設定」を参照してください。
-
次のコマンドを実行して,サービスを有効化する。
Agemtパス\tools\jpc_service -on サービスキー
サービスキーについては,マニュアル「JP1/Integrated Management 3 - Manager 運用ガイド」の「10.1 JP1/IM - Agentのサービス」に記載しているWindows環境でのJP1/IM - Agentのサービスキーのうち,「-imagentグループ識別子」が付いているものを使用します。
-
JP1/IM - Agentのサービスを起動する。
起動するサービスのサービスキーを次に示します。
-
jpc_imagent
-
jpc_imagentaction
-
jpc_imagentproxy
-
jpc_imagent-imagentグループ識別子
-
jpc_imagentaction-imagentグループ識別子
-
jpc_imagentproxy-imagentグループ識別子
-
jpc_alertmanager
-
jpc_prometheus_server
-
jpc_fluentd
-
-
OS起動時の自動起動設定を行う。
自動起動の有効化の設定については,「1.21.1(2)(a) 自動起動の有効化」を参照してください。
■ バージョンアップ時の設定
複数マネージャーホストへのデータ配信機能を有効にしているバージョンからのバージョンアップの場合は,下記の手順を実施してください。
下記の手順は,バージョンアップインストール時の「1.3.1(3)(b) インストール手順」の手順5のあと(手順6の前)に実施します。
-
統合エージェント管理基盤のセカンダリー用のファイルを作成する。
Agentパス\bin下にあるコピー元のファイルをコピーし,コピー先のファイル名にリネームします。
コピー元のファイル名
コピー先のファイル名
jpc_imagent_service.exe
jpc_imagent-imagentグループ識別子_service.exe
jpc_imagentproxy_service.exe
jpc_imagentproxy-imagentグループ識別子_service.exe
jpc_imagentaction_service.exe
jpc_imagentaction-imagentグループ識別子_service.exe
(j) 複数マネージャーホストへのデータ配信機能を解除する(Windowsの場合)(オプション)
複数マネージャーホストへのデータ配信機能を使用しなくなった場合の設定手順を次に示します。
ご使用の運用環境に合わせて,次のどちらかを実施します。
-
JP1/IM - Agentのアンインストールを行わずに,複数マネージャーホストへのデータ配信機能だけを削除する
-
JP1/IM - Agent自体のアンインストールを行う
■ JP1/IM - Agentのアンインストールを行わずに,複数マネージャーホストへのデータ配信機能だけを削除する場合
-
JP1/IM - Agentのすべてのサービスを停止する。
サービスが起動中の場合は,次のコマンドを実行して停止する。
Agentパス\tools\jpc_service_stop -s all
-
セカンダリーのサービスを無効化する。
次のコマンドを実行して,統合エージェント制御基盤のセカンダリーのサービスを無効化します。
Agentパス\tools\jpc_service -off サービスキー
サービスを無効化する方法については,「1.21.1(1)(b)アドオンプログラムの無効化」の手順2と手順4を参照してください。
サービスキーについては,マニュアル「JP1/Integrated Management 3 - Manager 運用ガイド」の「10.1 JP1/IM - Agentのサービス」に記載しているWindows環境でのJP1/IM - Agentのサービスキーのうち,「-imagentグループ識別子」が付いているものが該当します。
-
複数マネージャーホストへのデータ配信機能を使用するために作成したシークレットを削除する。
「1.21.2(2)(i) 複数マネージャーホストへのデータ配信機能を設定する(Windowsの場合)(オプション)」の手順5で登録した統合エージェント制御基盤のセカンダリー用のシークレットを削除します。
削除するシークレットのキーについては,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.7(5)(e) 初期シークレット,クライアントシークレット,およびHTTPプロキシパスワードのキー」を参照してください。
すでに消えているシークレットについては,この手順は不要です。
-
複数マネージャーホストへのデータ配信機能を使用するために設定した内容を元に戻す。
「1.21.2(2)(i) 複数マネージャーホストへのデータ配信機能を設定する(Windowsの場合)(オプション)」の手順4で設定した統合エージェント制御基盤のセカンダリー用の設定を元に戻します。
-
複数マネージャーホストへのデータ配信機能を使用するためにコピーしたファイルを削除する。
「1.21.2(2)(i) 複数マネージャーホストへのデータ配信機能を設定する(Windowsの場合)(オプション)」の手順3でコピーした統合エージェント管理基盤のセカンダリー用のファイルを削除します。
-
複数マネージャーホストへのデータ配信機能を使用するために作成したフォルダを削除する。
ログなどの必要なファイルを退避したあと,「1.21.2(2)(i) 複数マネージャーホストへのデータ配信機能を設定する(Windowsの場合)(オプション)」の手順2で作成した統合エージェント管理基盤のセカンダリー用のフォルダを削除します。
-
無効化したセカンダリーのサービスが接続しているJP1/IM - Manager側で登録している統合エージェント情報を削除する。
統合エージェント情報の削除手順については,マニュアル「JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.1 [統合エージェント一覧]画面」を参照してください。
■ JP1/IM - Agent自体のアンインストールを行う場合
「1.25.1(5) JP1/IM - Agentのアンインストールの手順」の手順1と手順2の間に,上記の「JP1/IM - Agentのアンインストールを行わずに,複数マネージャーホストへのデータ配信機能だけを削除する場合」の手順3から手順6を実施します。
実施後に,上記の「JP1/IM - Agentのアンインストールを行わずに,複数マネージャーホストへのデータ配信機能だけを削除する場合」の手順7を実施します。
(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. 定義ファイル)を参照してください。
- メモ
-
アラート定義を作成するときのポイントを次に示します。
-
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の場合)(オプション)」を参照してください。
モジュールを追加したあとに,次の手順を実施して,新しく作成したモジュールをスクレイプするスクレイプジョブを設定します。
-
Blackbox exporterのディスカバリ設定ファイルを作成する。
次に示すコピー元のモデルファイルをコピーし,コピー先の定義ファイル名にリネームすることで,Blackbox exporterのディスカバリ設定ファイルを作成します。
■HTTP/HTTPS監視を行う場合
-
Windowsの場合
コピー元:Agentパス\conf\jpc_file_sd_config_blackbox_http.yml.model
コピー先:Agentパス\conf\file_sd_config_blackbox_httpで始まるモジュール名.yml
-
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の場合)(オプション)」で追加したモジュールを示します。
-
-
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. 定義ファイル)を参照してください。
-
-
統合オペレーション・ビューアーを使用して定義ファイルを追加する。
定義ファイルを追加する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
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の場合)」を参照してください。
-
ユーザー独自のディスカバリ設定ファイルを追加する。
スクレイプしたいユーザー独自のExporterを,ユーザー独自のディスカバリ設定ファイルに指定します。
記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユーザー独自のディスカバリ設定ファイル(user_file_sd_config_任意の名前.yml)」(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管理ノードが作成されません。
-
メトリック定義ファイルを追加する。
ユーザー独自の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の場合)(オプション)
次の手順を実施します。
-
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 -
(i) Web exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)
-
Prometheus設定ファイルにデフォルトのスクレイプジョブを追加する。
JP1/IM - Agent 13-10以降を新規にインストールした場合は,実施不要です。
JP1/IM - Agentを13-10より前のバージョンから13-10以降にバージョンアップした場合,JP1/IM - Agentのインストール先\jp1ima\confフォルダに格納されているPrometheus設定ファイルのモデルファイルが更新されます。Prometheus設定ファイルのモデルファイル(jpc_prometheus_server.yml.model)の次の内容をPrometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configs配下に追記します。
論理ホスト運用の場合は,共有フォルダ\jp1ima\conf\jpc_prometheus_server.ymlを更新します。
<追記する内容>
scrape_configs: - job_name: 'jpc_web_probe' scrape_interval: 6m scrape_timeout: 5m metrics_path: /probe file_sd_configs: - files: - 'jpc_file_sd_config_web.yml' relabel_configs: (省略) metric_relabel_configs: (省略) -
Web exporterのディスカバリ設定ファイルを追加する(オプション)。
Webシナリオ監視を行う場合,新しいスクレイプジョブを追加するときは,新しくディスカバリ設定ファイルを作成します。
次に示すWeb exporterのディスカバリ設定ファイルのモデルファイルをひな形としてコピーし,コピー先の定義ファイル名にリネームしてディスカバリ設定ファイルを作成します。
コピー元:Agentパス\conf\jpc_file_sd_config_web.yml.model
コピー先:Agentパス\conf\user\file_sd_config_web_任意の名前.yml
Web exporterのディスカバリ設定ファイルの形式については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Web exporterのディスカバリ設定ファイル(jpc_file_sd_config_web.yml)」(2. 定義ファイル)を参照してください。
Web exporterのディスカバリ設定ファイルを編集する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
Prometheus設定ファイルに新しいスクレイプジョブを追加する(オプション)。
Webシナリオ監視を行う場合,新しいスクレイプジョブを追加するときは,Prometheus設定ファイル(jpc_prometheus_server.yml)で,値が「jpc_web_probe」であるスクレイプジョブの定義をコピーして,新しいスクレイプジョブを追加します。
<設定例>
scrape_configs: - job_name: 任意のスクレイプジョブ名 scrape_interval: スクレイプ要求の間隔 scrape_timeout: スクレイプ要求のタイムアウト時間 metrics_path: /probe file_sd_configs: - files: - 'user/ディスカバリ設定ファイル名' relabel_configs: (省略) metric_relabel_configs: (省略)- 任意のスクレイプジョブ名
-
ほかのスクレイプジョブ名と重複しない任意の名前を,1〜255文字の範囲で,制御文字以外の文字で指定します。
Prometheus設定ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)の<scrape_config>を参照してください。
Prometheus設定ファイルを編集する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
(j) VMware exporterのスクレイプジョブを追加する(Windowsの場合だけ)(オプション)
-
Prometheus設定ファイルにデフォルトのスクレイプジョブを追加する。
JP1/IM - Agent 13-10以降を新規にインストールした場合は,実施不要です。
JP1/IM - Agentを13-10より前のバージョンから13-10以降にバージョンアップした場合,JP1/IM - Agentのインストール先\jp1ima\confフォルダに格納されているPrometheus設定ファイルのモデルファイルが更新されます。Prometheus設定ファイルのモデルファイル(jpc_prometheus_server.yml.model)の次の内容をPrometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configs配下に追記します。
論理ホスト運用の場合は,共有フォルダ\jp1ima\conf\jpc_prometheus_server.ymlを更新します。
<追記する内容>
scrape_configs: - job_name: 'jpc_vmware' params: section: ['section'] file_sd_configs: - files: - 'jpc_file_sd_config_vmware.yml' relabel_configs: (省略) metric_relabel_configs: - source_labels: [vm_name] regex: '(.*)' target_label: instance action: replace - source_labels: ['ds_name'] regex: '(.*)' target_label: instance replacement: ${1} - source_labels: ['ds_name'] regex: '(.*)_(.*)' target_label: instance replacement: ${1} - source_labels: ['vm_name','__name__'] regex: '(.*);vmware_vm_.*' target_label: instance replacement: ${1} action: replace - source_labels: ['host_name','__name__'] regex: '(.*);vmware_host_.*' target_label: instance replacement: ${1} action: replace - source_labels: ['__name__'] regex: 'vmware_host_.*|vmware_datastore_.*' target_label: jp1_pc_trendname replacement: vmware_exporter_host - source_labels: ['__name__'] regex: 'vmware_vm_.*' target_label: jp1_pc_trendname replacement: vmware_exporter_vm (省略) -
Prometheus設定ファイルにスクレイプジョブを追加する。
VMware exporterのスクレイプジョブを追加する前に,VMware exporterの設定ファイルにセクションを追加する必要があります。詳細については,「1.21.2(14)(b) セクションを追加・変更・削除する(Windowsの場合)(必須)」を参照してください。
セクションを追加したあと,次の手順を実施して,新しく作成したセクションをスクレイプするスクレイプジョブを設定します。
VMware ESXiの監視を行う場合,Prometheus設定ファイル(jpc_prometheus_server.yml)で,ジョブ名が「jpc_vmware」であるスクレイプジョブの定義をコピーして,新しいスクレイプジョブを追加します。
また,新しいセクションを追加で監視を行う場合も,Prometheus設定ファイル(jpc_prometheus_server.yml)で,ジョブ名が「jpc_vmware」であるスクレイプジョブの定義をコピーして,新しいスクレイプジョブを追加します。この場合,paramsのセクション名には,VMware exporter設定ファイル(jpc_vmware_exporter.yml)で設定したセクション名を記載します。
<設定例>
scrape_configs: - job_name: 任意のスクレイプジョブ名 params: section: ['セクション名'] file_sd_configs: - files: - 'jpc_file_sd_config_vmware.yml' relabel_configs: (省略) metric_relabel_configs: - source_labels: [vm_name] regex: '(.*)' target_label: instance action: replace - source_labels: ['ds_name'] regex: '(.*)' target_label: instance replacement: ${1} - source_labels: ['ds_name'] regex: '(.*)_(.*)' target_label: instance replacement: ${1} - source_labels: ['vm_name','__name__'] regex: '(.*);vmware_vm_.*' target_label: instance replacement: ${1} action: replace - source_labels: ['host_name','__name__'] regex: '(.*);vmware_host_.*' target_label: instance replacement: ${1} action: replace - source_labels: ['__name__'] regex: 'vmware_host_.*|vmware_datastore_.*' target_label: jp1_pc_trendname replacement: vmware_exporter_host - source_labels: ['__name__'] regex: 'vmware_vm_.*' target_label: jp1_pc_trendname replacement: vmware_exporter_vm (省略)- 任意のスクレイプジョブ名
-
先頭の「jpc_vmware」は変更せずにアンダースコア(_)を付与し,その後ろにほかのスクレイプジョブ名と重複しない任意の名前を,1〜255文字の範囲で,制御文字以外の文字で指定します。
- セクション名
-
「1.21.2(14)(b) セクションを追加・変更・削除する(Windowsの場合)(必須)」で追加したセクション名を指定します。
セクション名は,シングルクォーテーション「'」またはダブルクォーテーション「"」で囲みます。
Prometheus設定ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)の<scrape_config>を参照してください。
Prometheus設定ファイルを編集する手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
(k) Windows exporter(Hyper-V監視)のスクレイプジョブを追加する(Windowsの場合だけ)(オプション)
-
Prometheus設定ファイルにデフォルトのスクレイプジョブを追加する。
JP1/IM - Agent 13-11以降を新規にインストールした場合は,実施不要です。
JP1/IM - Agentを13-11より前のバージョンから13-11以降にバージョンアップした場合,JP1/IM - Agentのインストール先¥jp1ima¥confフォルダに格納されているPrometheus設定ファイルのモデルファイルが更新されます。Prometheus設定ファイルのモデルファイル(jpc_prometheus_server.yml.model)の次の内容をPrometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configs配下に追記します。
論理ホストの場合は,共有フォルダ¥jp1ima¥conf¥jpc_prometheus_server.ymlを更新します。
<追記する内容>
scrape_configs: - job_name: 'jpc_hyperv' file_sd_configs: - files: - 'jpc_file_sd_config_windows_hyperv.yml' metric_relabel_configs: - source_labels: ['__name__'] regex: 'windows_hyperv_vm_cpu_total_run_time|windows_hyperv_vm_device_bytes_written|windows_hyperv_vm_device_bytes_read|windows_hyperv_host_cpu_total_run_time|windows_hyperv_vswitch_bytes_received_total|windows_hyperv_vswitch_bytes_sent_total|windows_cs_logical_processors|windows_hyperv_vm_cpu_hypervisor_run_time' action: 'keep' - source_labels: ['__name__'] regex: 'windows_hyperv_host_.*|windows_hyperv_vswitch_.*|windows_hyperv_vm_cpu_.*|windows_cs_.*' target_label: jp1_pc_nodelabel replacement: Hyperv metric collector(Hypervisor) - source_labels: ['__name__','instance'] regex: 'windows_hyperv_vm_device_.*;([^:]+):?.*' target_label: jp1_pc_nodelabel replacement: 'Hyperv metric collector(VM) Hypervisor:${1}' - source_labels: ['__name__','instance'] regex: 'windows_hyperv_vm_cpu_total_run_time;([^:]+):?.*' target_label: jp1_pc_nodelabel replacement: 'Hyperv metric collector(VM) Hypervisor:${1}' - source_labels: ['vm','__name__'] regex: '(.*);windows_hyperv_vm_cpu_total_run_time' target_label: instance replacement: ${1} action: replace - source_labels: ['vm_device'] regex: '^(.*-)([^-_]*)(?:_[^.]*)?\.[^.]*$' target_label: instance replacement: ${2} action: replace - source_labels: ['__name__'] regex: 'windows_hyperv_host_.*|windows_hyperv_vswitch_.*|windows_hyperv_vm_cpu_hypervisor_.*|windows_cs_.*' target_label: jp1_pc_trendname replacement: windows_exporter_hyperv_host - source_labels: ['__name__'] regex: 'windows_hyperv_host_.*|windows_hyperv_vswitch_.*|windows_hyperv_vm_cpu_hypervisor_.*|windows_cs_.*' target_label: jp1_pc_category replacement: VirtualMachine Host - source_labels: ['__name__'] regex: 'windows_hyperv_vm_device_.*|windows_hyperv_vm_cpu_total_run_time' target_label: jp1_pc_trendname replacement: windows_exporter_hyperv_vm - source_labels: ['__name__'] regex: 'windows_hyperv_vm_device_.*|windows_hyperv_vm_cpu_total_run_time' target_label: 'jp1_pc_remote_monitor_instance' replacement: 'JP1/IM - Agentのインストールホスト名:Hyperv metric collector(VM)' action: 'replace'
(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.22.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) 収集するメトリックを変更する(オプション)
-
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' -
必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。
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. 定義ファイル)を参照してください。
-
サービス監視の設定を行う。
■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)ごとに,プロトコル,認証情報などの監視方法を定義する必要があります。
初期設定で定義されているモジュールは,次のとおりです。
|
モジュール名 |
特徴 |
|---|---|
|
http |
|
|
icmp |
|
初期設定のモジュールで監視できる場合は,新たに定義する必要はありません。次に示すように,初期設定のモジュールでは監視できない要件がある場合は,モジュール定義を追加する必要があります。
-
認証が必要な場合
-
レスポンスの内容によって判定を変更したい場合
モジュールは,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(19) 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に接続する場合
-
AWSアカウント①に,IAMポリシー「yace_policy」を作成し,次に示すJSON形式の情報を設定する。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchExporterPolicy", "Effect": "Allow", "Action": [ "tag:GetResources", "cloudwatch:ListTagsForResource", "cloudwatch:GetMetricData", "cloudwatch:ListMetrics" ], "Resource": "*" } ] } -
AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」を割り当てる。
-
AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順2で作成したIAMグループ「yace_group」に所属させる。
-
監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順3で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。
■アクセス方式(その2)でCloudWatchに接続する場合
-
AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。
-
AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。
-
手順2で作成したIAMロール「cross_access_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。
-
AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。
-
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ロールの名称です。
-
AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」と手順5で作成したIAMポリシー「account2_yace_policy」を割り当てる。
-
AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順6で作成したIAMグループ「yace_group」に所属させる。
-
監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順7で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。
-
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に接続する場合
-
AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。
-
AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。
-
手順2で作成したIAMロール「yace_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。
-
AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順2〜3で作成したIAMロール「yace_role」を割り当てる。※
- 注※
-
AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。
■IAMロール方式(その2)でCloudWatchに接続する場合
-
AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。
-
AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。また,必要に応じて外部IDを指定する。
-
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ロールの名称です。
-
AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。
-
手順4で作成したIAMロール「yace_role」に,手順3で作成したIAMポリシー「account2_yace_policy」を割り当てる。
-
AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順4で作成したIAMロール「yace_role」を割り当てる。※
- 注※
-
AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。
-
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の場合
-
Yet another cloudwatch exporterを停止する。
-
[設定]-[システム]-[詳細情報]-[関連設定]-[システムの詳細設定]からシステムのプロパティダイアログを表示する。
-
[環境変数]ボタンをクリックし,環境変数ダイアログを表示する。
-
システム環境変数に,次のように設定する。
変数名
変数値
HTTPS_PROXY
http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号
-
Yet another cloudwatch exporterを起動する。
- 重要
-
-
環境変数HTTPS_PROXYをシステム環境変数に設定するため,そのホストで稼働するすべてのプロセスに反映されます。
-
システム環境変数は,ログイン可能なユーザーであれば内容を表示できてしまう点に注意が必要です。環境変数HTTPS_PROXYにパスワードを指定して運用する場合は,ログインできるユーザーを限定するなどの対策が必要です。
-
■ Linuxの場合
-
Yet another cloudwatch exporterを停止する。
-
任意のファイルを作成して,次のように記載する。
HTTPS_PROXY=http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号
記載する内容の詳細については,man systemd.execを実行して,「EnvironmentFile=」に設定されている値を確認してください。
-
ユニット定義ファイルにEnvironmentFileを追加し,手順2で作成したファイルのパスを記載する。
: [Service] EnvironmentFile = "手順2で作成したファイルのパス" WorkingDirectory = .... ExecStart = .... :
-
systemdを更新する。
次のコマンドを実行します。
systemctl daemon-reload
-
Yet another cloudwatch exporterを起動する。
(d) 監視するAWSサービスを追加する(オプション)
デフォルトで監視対象となっているAWSサービスは,次の通りです。それ以外のAWSサービスを監視する場合,ここでの手順を実施してください。
-
AWS/EC2
-
AWS/Lambda
-
AWS/S3
-
AWS/DynamoDB
-
AWS/States
-
AWS/SQS
-
AWS/EBS
-
AWS/ECS
-
AWS/EFS
-
AWS/FSx
-
AWS/RDS
-
AWS/SNS
-
ECS/ContainerInsights
-
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: -
-
収集するメトリックを追加する。
「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など,別のサービスであれば同一の文字列でも設定できます。
-
Yet another cloudwatch exporterの監視先が異なるアカウントは異なる文字列にしてください。異なるリージョンであっても,同一のサービスであれば異なる文字列としてください。
-
文字列が重複した場合,IM管理ノードが1つしか作成されません。
-
jp1_pc_nodelabelタグに設定した値は,Yet another cloudwatch exporterが収集するサンプルの,jp1_pc_nodelabelラベルの値として追加されます。
(f) 収集するメトリックを変更する(オプション)
-
CloudWatchで収集されているメトリックを確認する。
収集したいメトリックがCloudWatchで収集されていることを確認します。
また,以降の手順での設定に備えて,CloudWatchメトリック名,CloudWatch統計タイプの設定を確認しておく必要があります。
CloudWatchメトリック名およびCloudWatch統計タイプについては,AWSのドキュメントの「Amazon CloudWatch User Guide」を参照してください。
-
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
-
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' -
必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。
記述内容については,マニュアル「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を実施します。
-
アプリケーションを作成し,クライアントシークレットを発行する。
-
アプリケーションの[概要]からアプリケーション(クライアント)IDを取得する。
-
監視対象のリソースグループ(またはサブスクリプション)を選択し,[アクセス制御(IAM)]−[ロールの割り当ての追加]を実行し、「監視閲覧者」を指定する。
-
手順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(2)シークレットの追加・変更・削除」の説明を参照してください。
- 重要
-
コンテナ環境で構築する場合,コンテナイメージの作成前にこの手順を実施できません。コンテナの作成後に実施してください。
-
Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeにServicePrincipalを指定します。
-
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を実施します。
-
[Virtual Machines]で,PromitorがインストールされているAzure VirtualMachineを選択する。
-
[ID]−[システム割り当て済み]で[状態]を「オン」に変更する。
-
[ID]−[システム割り当て済み]の[アクセス許可]で「Azureロールの割り当て」を選択し,「監視閲覧者」を指定する。
-
Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeにSystemAssignedManagedIdentityを指定する。
-
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を実施します。
-
サービス検索で,[マネージドID]−[マネージドIDの作成]を選択する。
-
リソースグループ,名前などを指定して,マネージドIDを作成する。
-
[Azureロールの割り当て]で「監視閲覧者」を割り当てる。
-
[Virtual Machines]で,PromitorがインストールされているAzure VirtualMachineを選択する。
-
[ID]−[ユーザー割り当て済み]−[追加]を選択し,手順2で作成したマネージドIDを追加する。
-
Promitor Scraper runtime設定ファイル(runtime.yaml)とPromitor Resource Discovery runtime設定ファイル(runtime.yaml)で,authentication.modeにUserAssignedManagedIdentityを指定します。
-
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)に指定します。
-
- ■監視メトリクスの変更(オプション)
-
取得するメトリクスや表示するメトリクスを変更する場合は,次の設定を行います。
-
Azure Monitorで収集されていることを確認する。
収集したいメトリックがAzure Monitorで収集されていることを確認します。
次の手順での設定に備えて,メトリック名,統計タイプを確認しておきます。
メトリック名については,Azure Monitor DocumentationのReference - Supported metrics - Resource metricsのMetricを参照してください。統計タイプについては,Azure Monitor DocumentationのReference - Supported metrics - Resource metricsのAggregation Typeを参照してください。
-
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)」を参照してください。
-
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)を編集して,次の設定項目を指定します。ここに記載のない設定項目については,任意の値を指定します。
|
設定項目 |
設定値 |
|---|---|
|
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サービスに対して,システム管理ノードを設定する場合の,システムノード定義ファイルの設定例を,次に示します。
|
設定項目 |
||
|---|---|---|
|
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の場合)(必須)
テキスト形式のログファイルを新たに監視する場合,次の手順を実施します。
-
テキスト形式のログファイルの監視定義ファイルを作成する。
次に示すコピー元のテンプレートをコピーし,コピー先の定義ファイルにリネームすることで,テキスト形式のログファイルの監視定義ファイルを作成します。
コピー元: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の場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。
- メモ
-
監視定義ファイルのログ監視名を変更した場合などで,テキスト形式のログファイルの監視設定を変更するときは,上記の手順2と3を実施してください。
(c) テキスト形式のログファイルの監視設定を変更する(Windowsの場合)(オプション)
テキスト形式のログファイルの監視設定を変更する場合,次の手順を実施します。
-
テキスト形式のログファイルの監視定義ファイルを変更する。
作成済みの監視定義ファイル(fluentd_ログ監視名_tail.conf)を変更します。
テキスト形式のログファイルの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」(2. 定義ファイル)を参照してください。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
次の場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
-
監視定義ファイルのログ監視名を変更した場合
-
一時的に一部の監視定義ファイルのログ監視を止める運用を行うユーザーの場合
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
-
統合オペレーション・ビューアーのツリーに反映します。
[Metric Settings]セクションの値を変更した場合,変更内容を統合オペレーション・ビューアーのツリーに反映します。反映方法については,「1.21.2(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。
(d) テキスト形式のログファイルの監視設定を削除する(Windowsの場合)(オプション)
テキスト形式のログファイルの監視設定を削除する場合,次の手順を実施します。
-
テキスト形式のログファイルの監視定義ファイルを削除する。
作成済みの監視定義ファイル(fluentd_ログ監視名_tail.conf)を削除します。
設定ファイルの削除方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行う場合,ログ監視対象定義ファイルに定義されている監視定義ファイルのファイル名を削除します。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。
(e) Windowsイベントログを監視する(必須)
Windowsイベントログを新たに監視する場合,次の手順を実施します。
-
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の場合)」を参照してください。
-
Windowsイベントログの監視定義ファイルを編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,Windowsイベントログの監視定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。
- メモ
-
監視定義ファイルのログ監視名を変更した場合などで,テキスト形式のログファイルの監視設定を変更するときは,上記の手順2と3を実施してください。
(f) Windowsイベントログの監視設定を変更する(オプション)
Windowsイベントログの監視設定を変更する場合,次の手順を実施します。
-
Windowsイベントログの監視定義ファイルを変更する。
作成済みの監視定義ファイル(fluentd_ログ監視名_wevt.conf)を変更します。
Windowsイベントログの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windowsイベントログの監視定義ファイル(fluentd_@@trapname@@_wevt.conf.template)」(2. 定義ファイル)を参照してください。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
次の場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
-
監視定義ファイルのログ監視名を変更した場合
-
一時的に一部の監視定義ファイルのログ監視を止める運用を行うユーザーの場合
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
-
統合オペレーション・ビューアーのツリーに反映する。
[Metric Settings]セクションの値を変更した場合,変更内容を統合オペレーション・ビューアーのツリーに反映します。反映方法については,「1.21.2(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。
(g) Windowsイベントログの監視設定を削除する(オプション)
Windowsイベントログの監視設定を削除する場合,次の手順を実施します。
-
Windowsイベントログの監視定義ファイルを削除する。
作成済みの監視定義ファイル(fluentd_ログ監視名_wevt.conf)を削除します。
Windowsイベントログの監視定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windowsイベントログの監視定義ファイル(fluentd_@@trapname@@_wevt.conf.template)」(2. 定義ファイル)を参照してください。
設定ファイルの削除方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行う場合,ログ監視対象定義ファイルに定義されている監視定義ファイルのファイル名を削除します。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19) 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の設定手順を併せて実施します。
-
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の場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19)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アラート情報を新たに監視する場合,次の手順を実施します。
-
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の場合)」を参照してください。
-
ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)を編集する。
一時的に一部の監視定義ファイルのログ監視を止める運用を行いたい場合,ログ監視対象定義ファイルに,監視定義ファイルのファイル名を列挙して定義します。
ログ監視対象定義ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ログ監視対象定義ファイル(jpc_fluentd_common_list.conf)」(2. 定義ファイル)を参照してください。ログ監視対象定義ファイルを編集する運用を行っていない場合は編集不要です。
設定ファイルの変更方法については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
-
統合オペレーション・ビューアーのツリーに反映する。
反映方法については,「1.21.2(19)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) スクレイプ定義の設定
アドオンプログラムが提供する機能をスクレイプ対象に設定する場合は,次に示すスクレイプ定義を追加します。
|
アドオンプログラムの提供機能 |
対応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_script
- 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_script
- 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の設定」の説明を参照してください。 |
■ユーザー独自のPrometheusでの認証方式の設定(必須)
-
次に示す参照先および手順の内容を参照し,シークレットを取得します。
-
参照先
マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.7.2 IMクライアントシークレット」の「ユーザー独自のOSSで使用するIMクライアントシークレットを登録,取得する場合」
-
手順
[統合オペレーション・ビューアー]画面の[オプション]メニューから[IMクライアント追加/削除]をクリックして[IMクライアント一覧]画面を表示し,[追加]ボタンをクリックすると表示する[IMクライアント追加]ダイアログからIMクライアントIDを入力してシークレットを取得します。
-
-
次に示すように,取得したシークレットがリモートライトのAuthorizationヘッダーに設定されるよう,Red Hat OpenShiftなどでシークレットの作成を行います。リモートライト自体の設定については,「1.21.2(11)(b) 接続のための設定(必須)」の「■remote_write セクション」を参照してください。
<リモートライトのAuthorizationヘッダーへの設定内容>
-
認証方式に"Basic"を指定する場合
"Basic " + クライアントID:クライアントシークレットをBase64エンコードしたASCII文字列
-
認証方式に"basic_auth"を指定する場合
"basic_auth " + クライアントID:クライアントシークレットをBase64エンコードしたASCII文字列
下記にRed Hat OpenShiftで作成するシークレットの定義例を示します。作成方法については,利用するRed Hat OpenShiftのマニュアルなどを確認してください。
<シークレットの定義例>
手順1で取得したシークレットのクライアントIDがopenshift_prometheus,シークレットがsecretだった場合の定義例を,次に示します。
注 Red Hat OpenShiftの仕様によっては,クライアントIDとシークレットにBase64エンコードしないASCII文字列を設定する場合もあります。
kind: Secret apiVersion: v1 metadata: name: jp1-basic-auth namespace: openshift-monitoring data: username: b3BlbnNoaWZ0X3Byb21ldGhldXM= password: c2VjcmV0 type: kubernetes.io/basic-auth -
(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))」を参照してください。
Red Hat OpenShiftの仕様に合わせる場合,設定内容をキャメルケースの表記で記載する必要があるため,次に示す「■global.external_labelsセクション」と「■remote_writeセクション」の設定内容で記載しているスネークケースの表記をキャメルケースの表記に変更する必要があります。
<表記の変更例>
|
スネークケースの表記 |
キャメルケースの表記 |
|---|---|
|
source_labels |
sourceLabels |
|
target_label |
targetLabel |
- ■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_.*|container_.*' target_label: instance replacement: クラスタ内で一意となる任意の値※
注※ ここで指定した値は,Kubernetes metric collectorが稼働するホストとしてツリーに表示されます。
1. 基本の設定
- source_labels: ['__name__'] regex: 'kube_job_status_failed_addlabel|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_read_time_seconds_total|node_disk_reads_completed_total|node_disk_write_time_seconds_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__'] target_label: __name__ regex: "kube_job_status_failed_addlabel" replacement: "kube_job_status_failed" action: replace - source_labels: ['__name__', 'name'] regex: '(container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes);' action: drop - source_labels: ['__name__', 'pod'] regex: '(container_fs_reads_bytes_total|container_fs_writes_bytes_total);' action: drop - 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_status_failed|kube_job_owner);CronJob;(.*)' target_label: jp1_pc_nodelabel replacement: $2 - 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_status_failed|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 Exporter - 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 Kube Exporter - source_labels: ['__name__'] regex: 'kube_.*' target_label: job replacement: jpc_kube_exporter - source_labels: ['__name__'] regex: 'node_.*' target_label: job replacement: jpc_kube_node - source_labels: ['__name__'] regex: 'container_.*' target_label: job replacement: jpc_kube_exporter - source_labels: ['__name__'] regex: 'node_.*' target_label: jp1_pc_category replacement: platform - source_labels: ['job','instance'] regex: 'jpc_kube_exporter;([^:]+):?(.*)' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - source_labels: ['job','jp1_pc_prome_hostname','jp1_pc_remote_monitor_instance'] regex: 'jpc_kube_exporter;(.*);' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - 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|mode|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: ['__name__', 'name'] regex: '(container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes);' action: drop - source_labels: ['__name__', 'pod'] regex: '(container_fs_reads_bytes_total|container_fs_writes_bytes_total);' action: drop - 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 Exporter - target_label: job replacement: jpc_kube_exporter - source_labels: ['instance'] regex: '([^:]+):?(.*)' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - source_labels: [jp1_pc_prome_hostname,jp1_pc_remote_monitor_instance] regex: '(.*);' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - 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|mode|failure_type|scope' action: labelkeep3. クラスタのノードを作成するための設定
- 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: ['__name__', 'name'] regex: '(container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes);' action: drop - source_labels: ['__name__', 'pod'] regex: '(container_fs_reads_bytes_total|container_fs_writes_bytes_total);' action: drop - 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 Kube Exporter - target_label: job replacement: jpc_kube_exporter - source_labels: ['instance'] regex: '([^:]+):?(.*)' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - source_labels: [jp1_pc_prome_hostname,jp1_pc_remote_monitor_instance] regex: '(.*);' target_label: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - 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|mode|failure_type|scope' action: labelkeep -
- ■PrometheusRuleの設定
-
PrometheusRuleに,次に示す内容の設定を登録してください。PrometheusRuleにこの設定を登録すると,新しくkube_job_status_failed_addlabelという名前のメトリックが保存されます。コンテナ監視のメトリックをJP1/IM以外でも参照している場合は,このメトリックがJP1/IM以外のシステムにリモートライトされないように設定してください。
spec: groups: - name: 任意の名前 rules: - expr: kube_job_status_failed * on(job_name, namespace) group_left(owner_kind,owner_name) kube_job_owner record: kube_job_status_failed_addlabel
(c) Prometheusの設定変更(Red Hat OpenShift)
■前提条件
-
cluster-adminロールを持つユーザーとしてクラスタにアクセスできる
-
OpentShift CLI(oc)がインストールされている
■手順
-
ConfigMapオブジェクトが作成されているか確認する。
$ oc -n openshift-monitoring get configmap cluster-monitoring-config
-
ConfigMapオブジェクトが作成されていない場合,新規にファイルを作成する。
$ vi cluster-monitoring-config.yaml
-
ConfigMapオブジェクトが作成されている場合,openshift-monitoringプロジェクトでcluster-monitoring-configオブジェクトを編集する。
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
-
data/config.yaml/prometheusK8sに設定内容をキャメルケースで記載する。
「■ユーザー独自のPrometheusでの認証方式の設定(必須)」で取得したシークレットを「url:」以降に定義してください。「■ユーザー独自のPrometheusでの認証方式の設定(必須)」の「シークレットの定義例(取得したシークレットのクライアントIDがopenshift_prometheus,シークレットがsecretだった場合の定義例)」での記載例を,次に示します。
(記載例)
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_system/v1/trendData/write" basicAuth: username: name: jp1-basic-auth key: username password: name: jp1-basic-auth key: password writeRelabelConfigs: - sourceLabels: ['__name__'] regex: 'kube_.*|container_.*' targetLabel: instance replacement: クラスタ内で一意となる任意の値 - sourceLabels: ['__name__'] regex: 'kube_job_status_failed_addlabel|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_read_time_seconds_total|node_disk_reads_completed_total|node_disk_write_time_seconds_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' - sourceLabels: ['__name__'] targetLabel: __name__ regex: "kube_job_status_failed_addlabel" replacement: "kube_job_status_failed" action: replace - sourceLabels: ['__name__', 'name'] regex: '(container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_spec_memory_limit_bytes);' action: drop - sourceLabels: ['__name__', 'pod'] regex: '(container_fs_reads_bytes_total|container_fs_writes_bytes_total);' action: drop - sourceLabels: ['__name__','namespace'] regex: '(kube_pod_|kube_job_|container_).*;(.*)' targetLabel: jp1_pc_nodelabel replacement: $2 - sourceLabels: ['__name__','node'] regex: 'kube_node_.*;(.*)' targetLabel: jp1_pc_nodelabel - sourceLabels: ['__name__','daemonset'] regex: 'kube_daemonset_.*;(.*)' targetLabel: jp1_pc_nodelabel - sourceLabels: ['__name__','deployment'] regex: 'kube_deployment_.*;(.*)' targetLabel: jp1_pc_nodelabel - sourceLabels: ['__name__','replicaset'] regex: 'kube_replicaset_.*;(.*)' targetLabel: jp1_pc_nodelabel - sourceLabels: ['__name__','statefulset'] regex: 'kube_statefulset_.*;(.*)' targetLabel: jp1_pc_nodelabel - sourceLabels: ['__name__','owner_kind','owner_name'] regex: '(kube_job_status_failed|kube_job_owner);CronJob;(.*)' targetLabel: jp1_pc_nodelabel replacement: $2 - sourceLabels: ['__name__'] regex: 'node_.*' targetLabel: jp1_pc_nodelabel replacement: Linux metric collector(Node exporter) - sourceLabels: ['__name__'] regex: '(kube_pod_|kube_job_|container_).*' targetLabel: jp1_pc_module replacement: kubernetes/Namespace - sourceLabels: ['__name__'] regex: 'kube_node_.*' targetLabel: jp1_pc_module replacement: kubernetes/Node - sourceLabels: ['__name__'] regex: 'kube_daemonset_.*' targetLabel: jp1_pc_module replacement: kubernetes/DaemonSet - sourceLabels: ['__name__'] regex: 'kube_deployment_.*' targetLabel: jp1_pc_module replacement: kubernetes/Deployment - sourceLabels: ['__name__'] regex: 'kube_replicaset_.*' targetLabel: jp1_pc_module replacement: kubernetes/ReplicaSet - sourceLabels: ['__name__'] regex: 'kube_statefulset_.*' targetLabel: jp1_pc_module replacement: kubernetes/StatefulSet - sourceLabels: ['__name__','owner_kind'] regex: '(kube_job_status_failed|kube_job_owner);CronJob' targetLabel: jp1_pc_module replacement: kubernetes/CronJob - sourceLabels: ['__name__'] regex: 'kube_.*|container_.*' targetLabel: jp1_pc_trendname replacement: kubernetes - sourceLabels: ['__name__'] regex: 'node_.*' targetLabel: jp1_pc_trendname replacement: node_exporter - sourceLabels: ['__name__'] regex: 'kube_.*' targetLabel: jp1_pc_exporter replacement: JPC Kube Exporter - sourceLabels: ['__name__'] regex: 'node_.*' targetLabel: jp1_pc_exporter replacement: JPC Node exporter - sourceLabels: ['__name__'] regex: 'container_.*' targetLabel: jp1_pc_exporter replacement: JPC Kube Exporter - sourceLabels: ['__name__'] regex: 'kube_.*' targetLabel: job replacement: jpc_kube_exporter - sourceLabels: ['__name__'] regex: 'node_.*' targetLabel: job replacement: jpc_kube_node - sourceLabels: ['__name__'] regex: 'container_.*' targetLabel: job replacement: jpc_kube_exporter - sourceLabels: ['__name__'] regex: 'node_.*' targetLabel: jp1_pc_category replacement: platform - sourceLabels: ['job','instance'] regex: 'jpc_kube_exporter;([^:]+):?(.*)' targetLabel: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - sourceLabels: ['job','jp1_pc_prome_hostname','jp1_pc_remote_monitor_instance'] regex: 'jpc_kube_exporter;(.*);' targetLabel: jp1_pc_remote_monitor_instance replacement: ${1}:Kubernetes metric collector - 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|mode|failure_type|scope' action: 'labelkeep' -
ファイルを保存して,変更内容をConfigMapオブジェクトに適用する。
$ oc apply -f cluster-monitoring-config.yaml
(d) Prometheusの設定変更(Amazon Elastic Kubernetes Service(EKS))
■手順
-
任意の名前の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 -
-
変更内容を適用する。
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)を編集して,次の設定項目を指定します。ここに記載のない設定項目については,任意の値を指定します。
|
設定項目 |
設定値 |
|---|---|
|
displayname |
Kubernetesコンポーネントの名前を指定します。 |
|
type |
次の文字列を大文字表記で指定します。 Kubernetes-Kubernetesコンポーネント名 「Kubernetesコンポーネント名」は,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.4(2)(b)Kubernetes」で,Kubernetesの監視対象のコンポーネント名について説明している個所の「コンポーネント名」が該当します。 |
|
name |
次の文字列を指定します。 [{".*":"regexp"}] |
コンテナ監視のメトリック定義ファイルの初期設定で監視するKubernetesコンポーネントに対して,システム管理ノードを設定する場合の,システムノード定義ファイルの設定例を,次に示します。
|
設定項目 |
||
|---|---|---|
|
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) Webシナリオ監視機能の設定
Webシナリオ監視機能を使用する場合のWeb exporterの設定手順について説明します。
(a) JP1/IM - Agentのセットアップ
JP1/IM - AgentがWebシナリオ監視機能を使用できるようにするためのセットアップを行います。
■ エージェントホスト上のブラウザーの設定
-
ブラウザーのインストール
PlaywrightによるWebシナリオファイルの実行,および,Webシナリオ作成機能で起動するブラウザーをインストールします。
ブラウザーが既にインストール済みの場合は,インストール不要です。
-
ブラウザーの言語の設定
ブラウザーを表示する場合に使用する言語を,ブラウザーで使用できるようにしておく必要があります。
使用するブラウザーの設定画面で,使用する言語が追加されているかを確認し,追加されていない場合は,Codegenの実行,および,Playwrightによる監視が正常に動作しないことがあるため,使用する言語を追加します。
■ 認証の設定
Playwrightが監視先のWebアプリケーションにアクセスする際に,クライアント認証またはHTTP認証(Basic認証)を行う場合,証明書やパスワードなどの設定が必要となります。
|
監視条件 |
必要なファイル |
必要な設定 |
|---|---|---|
|
クライアント認証する |
PKCS#12形式のクライアント証明書ファイルを,クライアントホストの任意のフォルダに配置します。 |
|
|
Basic認証する |
なし。 |
Webシナリオファイルに,ユーザー名とパスワードを定義します。 Webシナリオ作成機能で,URLを指定してログインするWebサイトに遷移する際に,ユーザー名とパスワードを次のように入力します。 http://ユーザー名:パスワード@ドメイン名:ポート/パス・・・ |
■ 環境変数の設定
JP1/IM - Agentのホストが,Web exporterからnpx playwright testコマンドを実行できるように,またWebシナリオ作成支援機能やトレースビューアー機能が使用できるように,環境変数を設定します。次の手順を実施します。
-
[設定]-[システム]-[詳細情報]-[関連設定]-[システムの詳細設定]からシステムのプロパティダイアログを表示する。
-
[環境変数]ボタンをクリックし,環境変数ダイアログを表示する。
-
システム環境変数に,次のように設定する。
変数名
変数値
Path
JP1/IM - Agentのインストール先\jp1ima\lib\nodejs
すでにnodejsを別途インストールしている場合,または今後nodejsをインストールした場合は,JP1/IM - Agentのnodejsが優先されるように設定してください。
■ Web exporterの設定
Web exporter設定ファイル(jpc_web_exporter.yml)に指定したWebシナリオを実行するユーザーに対して,パスワードを登録する必要があります。パスワードの登録については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)の引数を参照してください。
Web exporter設定ファイル(jpc_web_exporter.yml)およびシークレットキーは,Web exporterの起動時にだけ反映されます。Web exporterの起動後に変更したWeb exporter設定ファイル(jpc_web_exporter.yml)またはシークレットキーを反映するためには,Web exporterの再起動が必要です。
■ Webシナリオファイルの新規作成
Webシナリオファイルを新たに作成する場合は,次の手順を実施します。
-
Web exporterを停止する。
Web exporterがすでに起動している場合は,停止します。
-
Webシナリオファイルを作成する。
ユーザーは,Webシナリオ作成支援機能を使用して,Webシナリオファイルを作成します。Webシナリオ作成支援機能の詳細については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(m) Webシナリオ監視機能」の「Webシナリオ作成支援機能」を説明している個所を参照してください。
Webシナリオ作成支援機能で生成したコードをWebシナリオファイルに出力します。操作記録中に,誤って操作した結果が記録され,誤ったコードが生成された場合は,codegenを終了し,再度操作を記録します。
作成したWebシナリオファイルは,次のフォルダに配置します。
-
物理ホストの場合
JP1/IM - Agentのインストール先フォルダ\jp1ima\lib\playwright\tests\
-
論理ホストの場合
共有フォルダ\jp1ima\lib\playwright\tests\
Codegenの操作によって記録されるコードのうち,動作を確認したコードについては,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「3.15.1(1)(m)Webシナリオ監視機能」の「Webシナリオ作成機能(playwright codegen)」に記載している「Webシナリオとして記録し計測できるブラウザーの操作や動作」を参照してください。
Webシナリオファイルの形式については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Webシナリオファイル(任意の名前.spec.ts)」(2. 定義ファイル)を参照してください。
設定ファイルの編集方法については,「1.19.3(1)(a) 共通の設定方法」の「設定ファイルを編集する(Windowsの場合)」を参照してください。
-
■ Playwright設定ファイルの設定
作成したWebシナリオファイルを実行する定義を,Playwright設定ファイル(jpc_playwright.config.ts)に追加します。なお,インストール時に格納されているファイル以外をPlaywright設定ファイルとして使用する場合(モデルファイルやオリジナルの設定ファイルをコピーして作成した場合も含む),ファイルのアクセス権限をAdministratorsだけに設定してください。
Playwright設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Playwright設定ファイル(jpc_playwright.config.ts)」(2. 定義ファイル)を参照してください。
設定ファイルの編集方法については,「1.19.3(1)(a) 共通の設定方法」の「設定ファイルを編集する(Windowsの場合)」を参照してください。
■ Web exporterのディスカバリ設定ファイルの設定
-
Web exporterのディスカバリ設定ファイルを編集する。
Web exporterのディスカバリ設定ファイル(jpc_file_sd_config_web.yml)を編集し,実行するWebシナリオファイル名を定義します。
設定内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Web exporterのディスカバリ設定ファイル(jpc_file_sd_config_web.yml)」(2. 定義ファイル)を参照してください。
-
Web exporterのディスカバリ設定ファイルを新規作成する(オプション)。
異なるタイムアウトを設定して複数のWeb exporterのスクレイプを実行したい場合など,Prometheus設定ファイルにデフォルトで定義されているスクレイプジョブを追加で設定したいときは,新しくディスカバリ設定ファイルを作成します。
作成方法については,「1.21.2(3)(i) Web exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)」の手順「Web exporterのディスカバリ設定ファイルを追加する(オプション)」を参照してください。
■ Web exporterのスクレイプジョブの設定
「1.21.2(3)(i) Web exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)」を参照してください。
■ Web exporterの起動
Web exporterを起動します。
(14) VMware exporterの設定
(a) ポートを変更する(Windowsの場合)(オプション)
VMware exporterが使用するリッスンポートは,vmware_exporterコマンドの--portオプションに指定します。変更したポートは,VMware exporterのサービスを再起動したタイミングで反映されます。
vmware_exporterコマンドのオプションの変更方法については,「1.21.2(1)(c) コマンドラインオプションを変更する(Windowsの場合)」を参照してください。また,--portオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の「vmware_exporterコマンドのオプション」を参照してください。
なお,デフォルトのポートは「20732」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。
(b) セクションを追加・変更・削除する(Windowsの場合)(必須)
VMware exporterでは,監視対象(VMware ESXi)ごとに,接続情報をVMware exporter設定ファイル(jpc_vmware_exporter.yml)に定義する必要があります。この定義を「セクション」と呼びます。
初期設定で定義されているサンプル用のセクションは,次のとおりです。
|
セクション名 |
特徴 |
|---|---|
|
default |
|
監視対象を追加する場合,defaultセクションをコピーし,監視対象の台数分のセクション定義を設定する必要があります。
設定を変更した場合,VMware exporterおよびPrometheus serverのサービスの再起動が必要です。
セクションは,VMware exporter設定ファイル(jpc_vmware_exporter.yml)に定義します。VMware exporter設定ファイルの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「VMware exporter設定ファイル(jpc_vmware_exporter.yml)」(2. 定義ファイル)を参照してください。
新しいセクションのセクション名は,Prometheus設定ファイル(jpc_prometheus_server.yml)に設定するパラメーターのセクション名と同一の名称を設定してください。詳細については,「1.21.2(3)(j) VMware exporterのスクレイプジョブを追加する(Windowsの場合だけ)(オプション)」を参照してください。
新しいセクションを追加する際は,セクション別でVM名が重複しないように設定してから,セクションを追加してください。
VMware ESXiへの接続に使用するユーザーについては,「アクセスなし」または「非暗号化管理者」以外のロールを付与したものを使用します。
VMware ESXiへの接続に使用するパスワードの登録については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)の引数を参照してください。シークレット登録時のパスワードの長さについては,シークレット管理コマンド(jimasecret)に従います。VMware ESXi側でパスワードの長さの上限を変更している場合,1024文字以内でパスワードを設定します。
VMware exporter設定ファイルの更新,証明書ファイルの配置の手順については,「1.21.2(1)(a) 設定ファイルを編集する(Windowsの場合)」を参照してください。
セクション定義を追加した場合は,Prometheus serverから新しく作成したセクションを使用してスクレイプするためのスクレイプジョブの定義が必要になります。Prometheus server側の設定については,「1.21.2(3)(j) VMware exporterのスクレイプジョブを追加する(Windowsの場合だけ)(オプション)」を参照してください。
VMware exporter設定ファイル(jpc_vmware_exporter.yml)およびシークレットキーは,VMware exporterの起動時にだけ反映されます。VMware exporterの起動後に変更したVMware exporter設定ファイル(jpc_vmware_exporter.yml)またはシークレットキーを反映するためには,VMware exporterの再起動が必要です。
(c) シークレットの登録(必須)
監視対象(VMware ESXi)のdefaultセクションおよびユーザーが追加するセクションの接続に使用するシークレットの登録を行います。
また,任意のセクションを追加した場合,対応するシークレットの登録を行う必要があります。
監視対象のシークレットの登録方法については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)の引数を参照してください。
■ シークレットの登録時の注意事項
シークレット管理コマンド(jimasecret)でVMware ESXiのパスワードを難読化する場合の注意事項については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「jimasecret」(1. コマンド)の注意事項を参照してください。
(d) 証明書の設定(必須)
VMware exporterでSSL認証を行う場合,物理ホスト・論理ホストに関わらず,同じ手順でマシン上に証明書の設定が必要です。
次のどれかの証明書が必要です。
-
デフォルト証明書
VMwareの構築時に作成される証明書です。
-
vCenter Serverの証明書(証明局の証明書)
vCenter Serverから発行された証明書です。
-
独自の証明書(自己署名サーバ証明書)
使用者が自ら発行した証明書を指します。
証明書ごとの手順を,次に示します。
-
デフォルト証明書の場合
-
VMware exporter設定ファイル(jpc_vmware_exporter.yml)の項目「ignore_ssl」をTrueに設定する。
この設定を行っても運用上問題ないことを事前に確認してから,設定を行ってください。
-
-
vCenter Serverの証明書または独自の証明書※の場合
次の手順を実施して,証明書をインポートします。
注※ 「独自の証明書」で認証不備が発生した場合は,作成した証明書の見直しを行ってください。見直しをしても接続ができないときは,運用上問題ないことを事前に確認した上で,「デフォルトの証明書」の手順を参照してください。
■Windowsの場合
-
Windowsの[スタート]メニューから[ファイル名を指定して実行]を選択する。
-
[ファイル名を指定して実行]ダイアログで「mmc」と入力し,[OK]ボタンをクリックする。
-
[コンソール1]で[ファイル]−[スナップインの追加と削除]を選択する。
-
証明書を選択し,[追加]ボタンをクリックする。
-
[コンピューターアカウント]を選択し,[次へ]ボタンをクリックする。
-
[ローカルコンピューター]を選択し,[完了]ボタンをクリックする。
-
[選択されたスナップイン]に[証明書(ローカルコンピューター)]が追加されたことを確認し,[OK]ボタンをクリックする。
-
[証明書(ローカルコンピューター)]−[信頼されたルート証明機関]−[証明書]を右クリックし,表示された[すべてのタスク]−[インポート]メニューを選択する。
-
[次へ]ボタンをクリックする。
-
[ファイル名]テキストボックスに,証明書の保存ファイル名を入力し,[次へ]ボタンをクリックする。
-
[証明書をすべて次のストアに配置する]を選択し,[次へ]ボタンをクリックする。
-
[完了]ボタンをクリックし,[OK]ボタンをクリックする。
■Linuxの場合
-
Linux 7またはLinux 8の場合※
注※ ca-certificateパッケージがOSにインストールされていることが前提となります。
-
次のコマンドを実行し,証明書ファイルをコピーする。
# cp 証明書ファイルパス/etc/pki/ca-trust/source/anchors
-
トラストストアの設定を更新する。
<システム全体のトラストストアの設定を更新する場合の例>
# update-ca-trust
-
Linux 9の場合
-
証明書ファイルをサーバー上に配置し,次のコマンドを実行する。
# PKICertImport -d . -n 証明書ファイルパス -t "CT,C,C" -a -i ca_root.crt -u L
-
Oracle Linux 7,Oracle Linux 8,またはOracle Linux 9の場合
Linux 7の手順を参照してください。
-
SUSE Linux 12またはSUSE Linux 15の場合
-
SSL環境変数に証明書ファイルの場所を指定する。
export CA_CERT=証明書ファイルパス
export SERVER_KEY=キーファイルパス
export SERVER_CERT=サーバ証明書パス
-
SUSE Managerのセットアップコマンドを実行する。
# yast susemanager_setup
-
Amazon Linux 2023の場合
Linux 7の手順を参照してください。
-
(15) Windows exporter(Hyper-V監視機能)の設定
(a) ポートを変更する(オプション)
Windows exporter(Hyper-V監視)が使用するリッスンポートは,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コマンドのオプション(Hyper-V監視)」を参照してください。
なお,デフォルトのポートは「20734」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。
(16) リッスンポート番号とリッスンアドレスの設定(オプション)
デフォルトのポート番号から変更しない,かつ,リッスンするIPアドレスを限定しない場合は,この手順の実施は不要です。
リッスンするポート番号やIPアドレスを変更する場合の変更個所などについては,「1.21.2 JP1/IM - Agentの設定」(Windowsの場合)および「2.19.2 JP1/IM - Agentの設定」(Linuxの場合)で,JP1/IM - Agentのモジュールやアドオンプログラムのポートを変更する手順について説明している個所を参照してください。
(17) ファイアウォールの設定(Windowsの場合)(必須)
次に示すとおりファイアウォールを設定し,外部からのアクセスを制限する必要があります。
|
ポート |
ファイアウォールの設定 |
|---|---|
|
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のポート |
(18) 統合エージェントのプロセスの死活監視の設定(Windowsの場合)(オプション)
統合エージェントのプロセスは,次の種類の方法で監視します。
-
他ホストのBlackbox exporterによる外形監視
-
Windows exporterによるプロセスの死活監視
-
Prometheus serverのupメトリックによる監視
(a) 他ホストのBlackbox exporterによる外形監視
Prometheus serverサービスとAlertmanagerサービスは,他ホスト上で稼働している統合エージェントのBlackbox exporterから監視します。監視するURLは,次の表のとおりです。
Blackbox exporterのHTTP監視を追加する方法については,「1.21.2(6)(c) 監視対象を追加・変更・削除する(Windowsの場合)(必須)」を参照してください。アラート定義の設定方法については,「1.21. 2(3)(b) アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。
|
サービス |
監視する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によるプロセスの死活監視
Windowsサービス化プログラムは,Windows exporterのプロセス監視の稼動情報で監視します。監視するプロセスは次の表に記載されています。
アラート定義の設定方法については,「1.21.2(3)(b) アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。
|
サービス |
監視するプロセス |
監視対象名 |
|---|---|---|
|
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 |
|
|
jpc_script_exporter_service |
Agentパス\bin\jpc_script_exporter_service.exe |
|
|
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 exporterで監視するアラート定義の例を,次に示します。
groups:
- name: windows_exporter
rules:
- alert: jp1_pc_procmon_監視対象名1
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-25 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への通信に成功しました。"(19) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)
次に示す手順で,IM管理ノードのツリー情報の作成と反映を行います。
-
統合エージェントホストを新しく追加,または,統合エージェントホストのホスト名を変更した場合,そのホストの統合エージェント制御基盤のサービスを起動する。
-
アドオンプログラムを新しく追加,または,アドオンプログラムの設定を変更し構成が変更となる場合,そのアドオンプログラム,および,同居する統合エージェント制御基盤のサービスを起動する。
-
すべての統合エージェントホストで手順1〜2に該当するサービスを起動したら,サービス起動後1分※経過するのを待つ。
注※ Prometheus設定ファイル(jpc_prometheus_server.yml)のscrape_intervalの値を変更している場合,その値の時間だけ待ちます。
-
統合マネージャーホストで行う手順を実施する。
手順については,「1.19.3(1)(c)IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」の手順2〜5を参照してください。
(20) セキュリティ製品の除外設定(Windowsの場合)(オプション)
アンチウィルスソフトやセキュリティ製品を導入している場合は,次のディレクトリを除外するように設定してください。
-
Windowsの場合
Agentパス\
-
Linuxの場合
/opt/jp1ima/
(21) 定義ファイル更新時の注意事項(Windowsの場合)
定義ファイルの更新内容を反映するために,JP1/IM - Agentのサービスを再起動した場合,サービスの再起動中は監視が停止します。