Hitachi

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


8.3.6 統合エージェントホストでのJP1/IM - Agentの新規インストール(UNIXの場合)

実行系サーバ,待機系サーバそれそれのローカルディスク上にJP1/IM - Agentをインストールしてください。

  1. JP1/IM - Agentを新規インストールする。

    インストール方法については,「2.3.1(2)JP1/IM - Agentのインストールの手順」参照してください。

    インストール時のインストールモードは「通常インストールモード」を選択します。

    実行系サーバと待機系サーバの両方で実施します。

    物理ホストのJP1/IM - Agentのサービスは起動しないでください。起動している場合はすべて停止してください。

  2. 論理ホスト用のディレクトリを共有ディスクに作成する。

    共有ディスクに作成する論理ホスト用のディレクトリを「共有ディレクトリ」と呼びます。次に規則に従って作成してください。

    • 共有ディスクのパスの長さは63バイト以内です。

    • 共有ディスクのパスに使用できる文字は,半角英数字,半角ハイフン,半角アンダースコア,半角ピリオド,および半角のパスの区切り文字です。

    • 論理ホストを複数作成する場合は,ほかの論理ホストの共有ディレクトリと重複しないようにします。

  3. 共有ディレクトリの中身を作成する。

    ■物理ホストでまだ運用を開始していない場合の手順

    1. 物理ホストの下記ディレクトリを共有ディレクトリにコピーする。

      コピーする際には,オーナー,オーナーグループ,パーミッションを引き継いでコピーします。

      コピー元

      コピー先

      /opt/jp1ima/conf

      共有ディレクトリ/jp1ima/

      /opt/jp1ima/bin

      /opt/jp1ima/data

      /opt/jp1ima/logs

      /opt/jp1ima/tmp

    2. binディレクトリの中身を空にする。

      共有ディレクトリ/jp1ima/binディレクトリ下に存在するファイルをすべて削除してください。

      binディレクトリは残す必要があります。

    3. 物理ホスト用の定義ファイルを削除する。

      共有ディレクトリ/jp1ima/confに存在するファイルのうち,拡張子が「.model」および「.update」以外のファイルは,物理ホスト用の定義ファイルであるため削除します。

    ■物理ホストですでに運用を開始済みの場合の手順

    1. 共有ディレクトリに下記のディレクトリを作成します。

      • コマンドプロンプトで共有ディレクトリに移動してから,次のコマンドを実行します。

      mkdir -m 700 jp1ima/
      mkdir -m 777 jp1ima/conf/
      mkdir -m 700 jp1ima/conf/secret/
      mkdir -m 700 jp1ima/conf/user/
      mkdir -m 700 jp1ima/conf/user/cert/
      mkdir -m 700 jp1ima/conf/user/secret/
      mkdir -m 700 jp1ima/conf/jpc_file_sd_config_off/
      mkdir -m 700 jp1ima/bin/
      mkdir -m 700 jp1ima/data/
      mkdir -m 700 jp1ima/data/alertmanager/
      mkdir -m 700 jp1ima/data/prometheus_server/
      mkdir -m 700 jp1ima/data/fluentd/
      mkdir -m 700 jp1ima/logs/
      mkdir -m 700 jp1ima/logs/imagent/
      mkdir -m 700 jp1ima/logs/imagentproxy/
      mkdir -m 700 jp1ima/logs/imagentaction/
      mkdir -m 700 jp1ima/logs/alertmanager/
      mkdir -m 700 jp1ima/logs/prometheus_server/
      mkdir -m 700 jp1ima/logs/node_exporter/
      mkdir -m 700 jp1ima/logs/blackbox_exporter/
      mkdir -m 700 jp1ima/logs/ya_cloudwatch_exporter/
      mkdir -m 700 jp1ima/logs/process_exporter/
      mkdir -m 700 jp1ima/logs/promitor_scraper/
      mkdir -m 700 jp1ima/logs/promitor_resource_discovery/
      mkdir -m 700 jp1ima/logs/script_exporter/
      mkdir -m 700 jp1ima/logs/fluentd/
      mkdir -m 700 jp1ima/logs/tools/
      mkdir -m 700 jp1ima/tmp/
      mkdir -m 700 jp1ima/tmp/upload
      mkdir -m 700 jp1ima/tmp/download
      mkdir -m 700 jp1ima/tmp/lockfiles
      chown -R root:root jp1ima
    2. 定義ファイルを共有ディレクトリにコピーする。

      実行系サーバの/opt/jp1ima/confに存在する拡張子が「.model」と「.update」のファイルを,共有ディレクトリ/jp1ima/confにコピーします。

      コピーする際には,オーナー,オーナーグループ,パーミッションを引き継いでコピーしてください。

    3. 初期シークレットを登録する。

      初期シークレットを,シークレット管理コマンドで登録します。コマンドラインを次に示します。

      jimasecret -add -key immgr.initial_secret -s "初期シークレット" -l 共有ディレクトリ

    4. 統合エージェント制御基盤のプロキシのパスワードを設定する。

      エージェントホストからマネージャーホストに接続する際に認証が必要なプロキシを経由する場合,プロキシの認証IDをパスワードを設定する必要があります。

      プロキシの認証IDの設定については,「2.19.2(2)(e)プロキシ認証の認証IDとパスワードを設定する(Linuxの場合)(オプション)」を参照してください。定義ファイルが共有ディレクトリ下のファイルである点に注意してください。

      プロキシのパスワードは,シークレット管理コマンドで設定します。コマンドラインを次に示します。

      jimasecret -add -key immgr.proxy_user.認証ID -s "プロキシのパスワード" -l 共有ディレクトリ

  4. 定義ファイルのファイル名から「.model」または「.update」を除去する。

    共有ディレクトリ/jp1ima/confにコピーしたすべての定義ファイルに対して,ファイル名の末尾に付与されている「.model」または「.update」を除去します。

  5. TLSの設定を行う。

    TLSを有効にして運用する場合は,共有ディレクトリ/jp1ima/conf/user/certにCA証明書ファイルを配置してください。

    また,共有ディレクトリ/jp1ima/conf/jpc_imagentcommon.jsonimmgr.tls_config.ca_fileにCA証明書のフルパスを記入してください。

  6. 定義ファイル内に記載されている変数を書き換える。

    共有ディレクトリ/jp1ima/confにコピーした定義ファイルには,下記の表に示す変数名が記載されています。各変数名で検索して,該当する個所をすべて下記の表のとおりに書き換えます。

    変数名

    書き換える値

    @@immgr.host@@

    接続先マネージャーホストのホスト名に置換します。

    @@immgr.imbase_port@@

    接続先のimbaseプロセスのポート番号に置換します。

    @@immgr.imbaseproxy_port@@

    接続先のimbaseproxyプロセスのポート番号に置換します。

    @@immgr.proxy_url@@

    統合マネージャーホストに接続する際にプロキシを経由する場合,プロキシのURLに置換します。

    プロキシ経由ではない場合は空文字列に置換します。

    @@immgr.proxy_user@@

    プロキシが認証が必要な場合にプロキシのユーザー名に置換します。

    プロキシ経由ではない場合,または,認証しない場合は空文字列に置換します。

    @@hostname@@

    論理ホスト名に置換します。

    @@installdir1@@

    /opt」に置換します。

    @@installdir2@@

    共有ディレクトリのパスに置換します。

  7. IPバインド方式に変更する。

    物理ホストと論理ホストの両方で設定する必要があります。

    物理ホストについては,両ノードで設定が必要です。物理ホストについては設定変更後にサービスの再起動が必要となります。

    物理ホストでは,下記の定義ファイルの変更個所に,物理ホスト名を設定します。

    サービス

    対象ファイル

    変更個所

    prometheus_server

    /usr/lib/systemd/system/jpc_prometheus_server.service

    --web.listen-addressに物理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    alertmanager

    /usr/lib/systemd/system/jpc_alertmanager.service

    --web.listen-addressに物理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    node_exporter

    /usr/lib/systemd/system/jpc_node_exporter.service

    --web.listen-addressに物理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    blackbox_exporter

    /usr/lib/systemd/system/jpc_blackbox_exporter.service

    --web.listen-addressに物理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    ya_cloudwatch_exporter

    /usr/lib/systemd/system/jpc_ya_cloudwatch_exporter.service

    -listen-addressに物理ホスト名を指定する。

    -listen-address="ホスト名:ポート"

    fluentd

    なし

    該当なし

    jpc_ya_cloudwatch_exporter

    /usr/lib/systemd/systemのユニット定義ファイル

    -listen-addressに物理ホストのIPアドレスを指定する。

    jpc_process_exporter

    /usr/lib/systemd/systemのユニット定義ファイル

    --web.listen-addressに物理ホストのIPアドレスを指定する。

    jpc_promitor_scraper

    /opt/jp1ima/conf/promitor/scraper/のruntime設定ファイル

    resourceDiscovery.hostに物理ホストのIPアドレスを指定する。

    jpc_promitor_resource_discovery

    なし

    該当なし

    jpc_script_exporter

    /usr/lib/systemd/systemのユニット定義ファイル

    --web.listen-addressに物理ホストのIPアドレスを指定する。

    jpc_fluentd(ログメトリクス機能)

    /opt/jp1ima/conf/userのログメトリクス定義ファイル

    bindに物理ホストのIPアドレスを指定する。

    また,下記の定義ファイルの変更個所に"IP"を設定します。

    サービス

    対象ファイル

    変更個所

    • imagent

    • imagentproxy

    /opt/jp1ima/conf/jpc_imagentcommon.json

    JP1_BIND_ADDRに"IP"を指定する。

    論理ホストでは,下記の定義ファイルの変更個所に論理ホスト名を設定します。

    サービス

    対象ファイル

    変更個所

    imagent

    共有ディレクトリ/jp1ima/conf/jpc_imagent.service

    次のようにコマンドラインオプション-hostnameをコマンドラインに追記する。

    ExecStart = "/opt/jp1ima/bin/imagent" -hostname 論理ホスト名

    imagentproxy

    共有ディレクトリ/jp1ima/conf/jpc_imagentproxy.service

    次のようにコマンドラインオプション-hostnameをコマンドラインに追記する。

    ExecStart = "/opt/jp1ima/bin/imagentproxy" -hostname 論理ホスト名

    imagentaction

    共有ディレクトリ/jp1ima/conf/jpc_imagentaction.service

    次のようにコマンドラインオプション-hostnameをコマンドラインに追記する。

    ExecStart = "/opt/jp1ima/bin/imagentaction" -hostname 論理ホスト名

    prometheus_server

    共有ディレクトリ/jp1ima/conf/jpc_prometheus_server.service

    --web.listen-addressに論理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    alertmanager

    共有ディレクトリ/jp1ima/conf/jpc_alertmanager.service

    --web.listen-addressに論理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    node_exporter

    共有ディレクトリ/jp1ima/conf/jpc_node_exporter.service

    --web.listen-addressに論理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    blackbox_exporter

    共有ディレクトリ/jp1ima/conf/jpc_blackbox_exporter.service

    --web.listen-addressに論理ホスト名を指定する。

    --web.listen-address="ホスト名:ポート"

    ya_cloudwatch_exporter

    共有ディレクトリ/jp1ima/conf/jpc_ya_cloudwatch_exporter.service

    -listen-addressに論理ホスト名を指定する。

    -listen-address="ホスト名:ポート"

    fluentd

    なし

    -

    jpc_ya_cloudwatch_exporter

    /usr/lib/systemd/systemのユニット定義ファイル(論理ホスト用)

    -listen-addressに論理ホストのIPアドレスを指定する。

    jpc_process_exporter

    /usr/lib/systemd/systemのユニット定義ファイル(論理ホスト用)

    --web.listen-addressに論理ホストのIPアドレスを指定する。

    jpc_promitor_scraper

    共有ディレクトリ/jp1ima/conf/promitor/scraper/のruntime設定ファイル

    resourceDiscovery.hostに論理ホストのIPアドレスを指定する。

    jpc_promitor_resource_discovery

    なし

    該当なし

    jpc_script_exporter

    /usr/lib/systemd/systemのユニット定義ファイル(論理ホスト用)

    --web.listen-addressに論理ホストのIPアドレスを指定する。

    jpc_fluentd(ログメトリクス機能)

    共有ディレクトリ/jp1ima/conf/userのログメトリクス定義ファイル

    bindに論理ホストのIPアドレスを指定する。

    また,下記の定義ファイルの変更個所に"IP"を設定します。

    サービス

    対象ファイル

    変更個所

    • imagent

    • imagentproxy

    共有ディレクトリ/jp1ima/conf/jpc_imagentcommon.json

    JP1_BIND_ADDRに"IP"を指定する。

    promitor_scraper,promitor_resource_discoveryについては,論理ホスト用に新しくポートを用意します。

    次に示す定義ファイルの個所に,用意したポート番号を設定します。

    サービス

    対象ファイル

    変更個所

    設定する値

    promitor_scraper

    共有ディレクトリ/jp1ima/conf/promitor/scraperのPromitor Scraper runtime設定ファイル

    server.httpPort

    promitor_scraperのポート番号

    resourceDiscovery.port

    promitor_resource_discoveryのポート番号

    共有ディレクトリ/jp1ima/confのPromitorディスカバリ設定ファイル

    targets

    promitor_scraperのポート番号

    promitor_resource_discovery

    共有ディレクトリ/jp1ima/conf/promitor/resource-discoveryのPromitor Resource Discovery runtime設定ファイル

    server.httpPort

    promitor_resource_discoveryのポート番号

  8. ユニット定義ファイルのDescriptionに論理ホスト名を付与する。

    共有ディレクトリ/jp1ima/conf下にあるすべてのユニット定義ファイルに対して,ファイル内に記載されているDescriptionに論理ホスト名を付与します。

    ユニット定義ファイルのファイル名:jpc_サービス名.service

    使用しないサービスに対しても実施してください。

    jpc_alertmanager.serviceの場合の編集例を以下に示します。

    変更前

    変更後

    Description = JPC Alertmanager

    Description = JPC Alertmanager 論理ホスト名

  9. ユニット定義ファイルのファイル名に論理ホスト名を付与する。

    共有ディレクトリ/jp1ima/conf下にあるユニット定義ファイルのファイル名に論理ホスト名を付与します。

    変更前のファイル名:jpc_サービス名.service

    変更後のファイル名:jpc_サービス名_論理ホスト名.service

    使用しないサービスに対しても実施してください。

    jpc_alertmanager.serviceの場合の例を以下に示します。

    変更前のファイル名

    変更後のファイル名

    jpc_alertmanager.service

    jpc_alertmanager_論理ホスト名.service

  10. ユニット定義ファイルを/usr/lib/systemd/systemにコピーする。

    共有ディレクトリ/jp1ima/conf下にあるユニット定義ファイル(手順9でファイル名を変更したファイル)を,実行系サーバと待機系サーバの両方の/usr/lib/systemd/systemにコピーします。

    必ず/usr/lib/systemd/systemにコピーしてください。ファイルの移動にしてしまうとSELinuxの場合に適切なコンテキストがユニット定義ファイルに設定されず,systemdが認識できないことがあります。

    コピーしたユニット定義ファイルはパーミッション644,オーナーroot:rootを設定してください。

    /usr/lib/systemd/systemに配置したあとでユニット定義ファイルの内容を修正した場合は,下記のコマンドを実行してsystemdをリロードしてください。

    # systemctl daemon-reload
  11. 共有ディレクトリにあるユニット定義ファイルを削除する。

    共有ディレクトリ/jp1ima/conf下にあるユニット定義ファイル(手順9のコピー元ファイル)は不要であるため,削除します。

  12. 使用しない論理ホスト用のサービスを無効にする。

    論理ホストで使用するサービスについて,実行系サーバと待機系サーバの両方で,使用しない論理ホスト用のサービスを無効にしてください。

    論理ホストのサービスを無効にするには,次のコマンドを使用します。

    /opt/jp1ima/tools/jpc_service -off サービスキー -h 論理ホスト名

    Alertmanagerのサービスを無効にする場合の例を次に示します。

    /opt/jp1ima/tools/jpc_service -off jpc_alertmanager -h 論理ホスト名

    また,論理ホストで使用しないサービスについて,次に示すディスカバリ設定ファイルを,共有ディレクトリ/jp1ima/confディレクトリから共有ディレクトリ/jp1ima/conf/jpc_file_sd_config_offディレクトリに移動します。

    サービス

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

    prometheus_server

    なし

    alertmanager

    なし

    node_exporter

    jpc_file_sd_config_node.yml

    blackbox_exporter

    • jpc_file_sd_config_blackbox_http.yml

    • jpc_file_sd_config_blackbox_icmp.yml

    ya_cloudwatch_exporter

    jpc_file_sd_config_cloudwatch.yml

    fluentd

    なし

    process_exporter

    jpc_file_sd_config_process.yml

    promitor

    jpc_file_sd_config_promitor.yml

    script_exporter

    なし

  13. systemdにサービスが登録されたことを確認する。

    実行系サーバと待機系サーバの両方で,systemdのサービス一覧を表示して,論理ホスト用のサービスが登録されたことを確認します。

    論理ホスト用のサービスの名称は,ユニット定義ファイルのファイル名となります。

  14. 必要な設定を行う。

    8.3.7 統合エージェントホストでのJP1/IM - Agentの新規インストール時のセットアップ(UNIXの場合)」,「2.19.2 JP1/IM - Agentの設定」を参照して必要な設定変更を行います。

  15. クラスタソフトに論理ホスト用のサービスを登録する。

    JP1/IM - Agentのサービスのクラスタソフトへの登録については,「8.5 新規インストール・セットアップでのクラスタソフトへの登録(UNIXの場合)」を参照してください。

    また,次に示すサービスについて,使用するサービスだけをクラスタソフトに登録します。

    • jpc_ya_cloudwatch_exporter

    • jpc_process_exporter

    • jpc_promitor_scraper

    • jpc_promitor_resource_discovery

    • jpc_script_exporter

    • jpc_fluentd

  16. クラスタの設定でJP1/IM - Agentのサービスが停止したと判定する期間を1分に設定する。

    統合オペレーション・ビューアーに定義ファイルをアップロードすると,定義ファイルを配置した後にサービスの再起動が行われることがあります。

    また,アップロードした定義ファイルの内容が不正でサービスの起動に失敗した場合,定義ファイルを元に戻してサービスを起動します。

    上記のように,一時的にサービスが停止することがあるため,クラスタが一時的なサービス停止を検知しないように設定する必要があります。

  17. 動作に問題がないか確認する。

    • クラスタソフトからサービスを起動します。

    • フェールオーバーさせます。