4.3. コンテナ監視(Docker/Kubernetes/Podman/OpenShift)監視設定手順

Docker/Kubernetes/Podman/OpenShift監視設定を行う際には、以下の設定が必要になります。

  • ライセンスの購入とライセンスキーの入手
    • Docker監視

    • Kubernetes監視

    • Podman監視

    • OpenShift監視

注釈

監視対象コンテナ/Pod数に応じて内容が異なります。

  • Senju DevOperation Conductor Extension Packの入手と適用
    運用管理サーバーおよび、コンテナ監視を行う管理対象ノードに、同一バージョンの Senju DevOperation Conductor Extension Pack の適用が必要です。
    • 運用管理サーバー(千手マネージャ)への適用(監視項目の更新)

    • 管理対象ノード(千手エージェント(プローブノード))への適用(情報取得コマンドの更新)

警告

適用可能な Senju DevOperation Conductor のバージョンやパッチ状況に制限がある場合があります。詳しくは、Senju DevOperation Conductor Extension Pack の README をご参照下さい。

参考

Senju DevOperation Conductor Extension Packの適用手順につきましては、Senju DevOperation Conductor Extension Pack の README をご参照ください。

注釈

Senju DevOperation Conductor Extension Packの適用に際しては、千手システムの停止は不要ですが、関連する監視タスクの停止が必要です。

4.3.1. Kubernetes監視の設定ファイル

4.3.1.1. Kubernetesユーザー設定ファイルの作成

Kubernetesユーザー設定ファイルは、監視項目のパラメータ「設定ファイル」に指定するファイルです。

Kubernetesユーザー設定ファイル(xxx.json)のパスおよびファイル名は任意に指定することが可能です。

dat/opt/sj_k8s_user.json.sample をコピーしてKubernetesユーザー設定ファイル(xxx.json)を作成し、以下の項目を設定して下さい。

表 4.1 Kubernetesユーザー設定ファイルの記述内容

項目

省略

デフォルト

暗号化対象

説明

CMD_PATH

kubectl

×

監視で利用するkubectlコマンドの絶対パスを指定します。

OUTPUT_FORMAT

LTSV

×

取得ログの出力フォーマットです。LTSVまたはJSONが指定可能です。以下の監視項目で有効となります。
  • Kubernetes:イベント監視

  • Kubernetes:コンテナログ監視

  • Kubernetesユーザー設定ファイル(xxx.json)とKubernetesの監視タスクのパラメータの両方で指定可能な項目については、Kubernetesの監視タスクのパラメータで指定した値が有効になります。

4.3.1.2. Kubernetesシステム設定ファイル(sj_k8s_sys.json)の作成

Kubernetesシステム設定ファイル(sj_k8s_sys.json)は、Kubernetesの全監視項目で共通の設定ファイルです。

dat/opt/sj_k8s_sys.json.sample をコピーしてKubernetesシステム設定ファイル(dat/opt/sj_k8s_sys.json)を作成し、以下の項目を設定して下さい。

表 4.2 Kubernetesシステム設定ファイル(sj_k8s_sys.json)の記述内容

項目

省略

デフォルト

暗号化対象

説明

MON_CACHE_INTERVAL

60

×

キャッシュ有効期間(秒)

ROTATE_COUNT

7

×

出力するログファイルの世代数。以下の監視項目で有効となります。
  • Kubernetes:イベント監視

  • Kubernetes:コンテナログ監視

ROTATE_SIZE

10485760

×

出力するログファイルの最大サイズ(Byte)。以下の監視項目で有効となります。
  • Kubernetes:イベント監視

  • Kubernetes:コンテナログ監視

CMD_RETRY_INTERVAL

1

×

情報取得コマンド実行のリトライ間隔(秒)。以下の監視項目で有効となります。
  • Kubernetes:コンテナログ監視

CMD_RETRY_LIMIT

5

×

情報取得コマンド実行のリトライ回数。以下の監視項目で有効となります。
  • Kubernetes:コンテナログ監視

CMD_PATH

kubectl

×

監視で利用するkubectlコマンドの絶対パスを指定します。

LOG_BUFFER_TIME

5

×

前回取得した最後のログより遡る時間(分)。以下の監視項目で有効となります。
  • Kubernetes:イベント監視

  • Kubernetes:コンテナログ監視

OUTPUT_FORMAT

LTSV

×

取得ログの出力フォーマットです。LTSVまたはJSONが指定可能です。以下の監視項目で有効となります。
  • Kubernetes:イベント監視

  • Kubernetes:コンテナログ監視

RESOURCE_METRICS_PREFIX

container

×

Podのリソース状況取得メトリクスのプレフィックス({container|pod})。以下の監視項目で有効となります。
  • Kubernetes:Pod別CPU使用率(%)

  • Kubernetes:Pod別CPUミリコア使用量(millicores)

  • Kubernetes:Pod別メモリ使用量(KB)

  • Kubernetes:Pod別メモリ使用量(MB)

  • Kubernetes:デプロイメント別CPU使用率(%)

  • Kubernetes:レプリカセット別CPU使用率(%)

  • Kubernetes:デーモンセット別CPU使用率(%)

  • Kubernetesシステム設定ファイル(sj_k8s_sys.json)とKubernetesの監視タスクのパラメータの両方で指定可能な項目については、Kubernetesの監視タスクのパラメータで指定した値が有効になります。

  • Kubernetesシステム設定ファイル(sj_k8s_sys.json)とKubernetesユーザー設定ファイルの両方で指定可能な項目については、ユーザー設定ファイルで指定した値が有効になります。

  • 一回以上ログを取得している状態でLOG_BUFFER_TIMEを現在よりも大きい値に変更した場合、変更後の1回目の実行で過去に取得したログを重複して取得する場合があります。ご注意ください。

  • Kubernetesシステム設定ファイル(sj_k8s_sys.json) の記載例
    {
            "MON_CACHE_INTERVAL": "60",
            "ROTATE_COUNT": "7",
            "ROTATE_SIZE": "10485760",
            "CMD_RETRY_INTERVAL": "1",
            "CMD_RETRY_LIMIT": "5",
            "LOG_BUFFER_TIME": "5",
            "OUTPUT_FORMAT": "LTSV",
            "RESOURCE_METRICS_PREFIX": "container",
            "CMD_PATH": "kubectl"
    }
    

注釈

デフォルトの設定値を変更する必要がない場合は、Kubernetesシステム設定ファイル(sj_k8s_sys.json)を作成する必要はありません。

4.3.2. OpenShift監視の認証設定

4.3.2.1. oc loginコマンドの初回実行

千手環境でOpenShift監視コマンドを実行するためには~/.kube/configファイルが必要です。~/.kube/configファイルを作成するには、oc loginコマンドを実行してください。マネージドサービスを利用している場合は、その仕様に従ってAPIキー等を指定して下さい。

  • 実行コマンド
    % oc login -u ユーザ -p パスワード --server サーバー
    
表 4.3 oc loginコマンドオプションの設定内容

オプション

説明

ユーザ

ocログイン用のユーザを指定します。

パスワード

ocログイン用のパスワードを指定します。

サーバー

OpenShift Container Platform サーバー URLを指定します。

  • oc loginコマンドの記載例
    oc login -u apikey -p I7XXIqavfFXQ28yV3DEF19KPeJv6WWE6qWrBL4DWEUjb --server https://c100-e.jp-tok.containers.cloud.ibm.com:xxxxx
    

4.3.3. OpenShift監視の設定ファイル

4.3.3.1. OpenShiftユーザー設定ファイルの作成

OpenShiftユーザー設定ファイルは、監視項目のパラメータ「設定ファイル」に指定するファイルです。

OpenShiftユーザー設定ファイル(xxx.json)のパスおよびファイル名は任意に指定することが可能です。

後述のOpenShift情報設定ファイル更新コマンド( sj_setup_ops - OpenShift情報設定ファイル更新 - )を利用してOpenShiftユーザー設定ファイルを作成し、以下の項目を設定して下さい。

表 4.4 OpenShiftユーザー設定ファイルの記述内容

項目

省略

デフォルト

暗号化対象

説明

OC_USER

-

×

ocログイン用のユーザを指定します。

OC_PASSWORD

-

ocログイン用のパスワードを指定します。

CMD_PATH

oc

×

監視で利用するocコマンドの絶対パスを指定します。

OUTPUT_FORMAT

LTSV

×

取得ログの出力フォーマットです。LTSVまたはJSONが指定可能です。以下の監視項目で有効となります。
  • OpenShift:イベント監視

  • OpenShift:コンテナログ監視

  • OpenShiftユーザー設定ファイルとOpenShiftの監視タスクのパラメータの両方で指定可能な項目については、OpenShiftの監視タスクのパラメータで指定した値が有効になります。

4.3.3.2. OpenShiftシステム設定ファイル(sj_ops_sys.json)の作成

OpenShiftシステム設定ファイル(sj_ops_sys.json)は、OpenShiftの全監視項目で共通の設定ファイルです。

後述のOpenShift情報設定ファイル更新コマンド( sj_setup_ops - OpenShift情報設定ファイル更新 - )を利用してOpenShiftシステム設定ファイル(dat/opt/sj_ops_sys.json)を作成し、以下の項目を設定して下さい。

表 4.5 OpenShiftシステム設定ファイル(sj_ops_sys.json)の記述内容

項目

省略

デフォルト

暗号化対象

説明

OC_USER

-

×

ocログイン用のユーザーを指定します。

OC_PASSWORD

-

ocログイン用のパスワードを指定します。

CMD_PATH

oc

×

監視で利用するocコマンドの絶対パスを指定します。

OUTPUT_FORMAT

LTSV

×

取得ログの出力フォーマットです。LTSVまたはJSONが指定可能です。以下の監視項目で有効となります。
  • OpenShift:イベント監視

  • OpenShift:コンテナログ監視

MON_CACHE_INTERVAL

60

×

キャッシュ有効期間(秒)

ROTATE_COUNT

7

×

出力するログファイルの世代数。以下の監視項目で有効となります。
  • OpenShift:イベント監視

  • OpenShift:コンテナログ監視

ROTATE_SIZE

10485760

×

出力するログファイルの最大サイズ(Byte)。以下の監視項目で有効となります。
  • OpenShift:イベント監視

  • OpenShift:コンテナログ監視

CMD_RETRY_INTERVAL

1

×

情報取得コマンド実行のリトライ間隔(秒)。以下の監視項目で有効となります。
  • OpenShift:コンテナログ監視

CMD_RETRY_LIMIT

5

×

情報取得コマンド実行のリトライ回数。以下の監視項目で有効となります。
  • OpenShift:コンテナログ監視

LOG_BUFFER_TIME

5

×

前回取得した最後のログより遡る時間(分)。以下の監視項目で有効となります。
  • OpenShift:イベント監視

  • OpenShift:コンテナログ監視

RESOURCE_METRICS_PREFIX

container

×

Podのリソース状況取得メトリクスのプレフィックス({container|pod})。以下の監視項目で有効となります。
  • OpenShift:Pod別CPU使用率(%)

  • OpenShift:Pod別CPUミリコア使用量(millicores)

  • OpenShift:Pod別メモリ使用量(KB)

  • OpenShift:Pod別メモリ使用量(MB)

  • OpenShift:デプロイメント別CPU使用率(%)

  • OpenShift:レプリカセット別CPU使用率(%)

  • OpenShift:デーモンセット別CPU使用率(%)

  • OpenShiftシステム設定ファイル(sj_ops_sys.json)とOpenShiftの監視タスクのパラメータの両方で指定可能な項目については、OpenShiftの監視タスクのパラメータで指定した値が有効になります。

  • OpenShiftシステム設定ファイル(sj_ops_sys.json)とOpenShiftユーザー設定ファイルの両方で指定可能な項目については、OpenShiftユーザー設定ファイルで指定した値が有効になります。

  • 一回以上ログを取得している状態でLOG_BUFFER_TIMEを現在よりも大きい値に変更した場合、変更後の1回目の実行で過去に取得したログを重複して取得する場合があります。ご注意ください。

  • OpenShiftシステム設定ファイル(sj_ops_sys.json) の記載例
    {
            "CMD_PATH": "oc",
            "CMD_RETRY_INTERVAL": "",
            "CMD_RETRY_LIMIT": "",
            "LOG_BUFFER_TIME": "",
            "MON_CACHE_INTERVAL": "100",
            "OC_PASSWORD": "=Ad28Ls5cRv45dSNWSTz45GFzdYxqKdFNo8A5dWzu3HdXzjvd5Ljj+W9waYdNj93dwA==",
            "OC_USER": "apikey",
            "OUTPUT_FORMAT": "json",
            "RESOURCE_METRICS_PREFIX": "",
            "ROTATE_COUNT": "",
            "ROTATE_SIZE": ""
    }
    

注釈

OC_USER・OC_PASSWORDは、必ずOpenShiftシステム設定ファイル(sj_ops_sys.json)またはOpenShiftユーザー設定ファイルのいずれかで指定する必要があります。

4.3.3.3. sj_setup_ops - OpenShift情報設定ファイル更新 -

  • 指定形式
    • [参照]
      sj_setup_ops
    • [作成&更新]
      sj_setup_ops
      [-ci[Cache expiration interval]]
      [-mlc[Maximum count of output OpenShift log]]
      [-mls[Maximum size(B) of output OpenShift log]]
      [-ri[Retry interval(seconds) for executing command]]
      [-rc[Retry count for executing command]]
      [-lbt[BufferTime of log file output by log monitoring]]
      [-lf[Format of log file output by log monitoring]]
      [-mp[Metrics prefix for getting resource information]]
      [-cp[OpenShift command(oc) path]]
      [-ocuser[oc login user]]
      [-ocpswd[oc login password]]
      [-cf[Configuration file]]
  • 目的

    OpenShiftユーザー設定ファイル・OpenShiftシステム設定ファイルの現在値の参照、作成と更新を行います。

  • オプション
    • -cf
      現在値の参照、作成と更新を行う任意のOpenShiftユーザー設定ファイルを絶対パスで指定して下さい。
      値を省略した場合はOpenShiftシステム設定ファイルの参照、作成と更新を行います。
    • -ci
      キャッシュの有効期間(MON_CACHE_INTERVAL)に設定する値を指定して下さい。単位は秒です。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -mlc
      ログ監視によって出力されるログファイルのローテーション最大個数(ROTATE_COUNT)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -mls
      ログ監視によって出力されるログファイルの最大サイズ(ROTATE_SIZE)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -ri
      情報取得コマンド実行のリトライ間隔(CMD_RETRY_INTERVAL)に設定する値を指定して下さい。単位は秒です。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -rc
      情報取得コマンド実行のリトライ回数(CMD_RETRY_LIMIT)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -lbt
      最後に取得したログより遡る時間(LOG_BUFFER_TIME)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -lf
      ログ監視によって出力されるログフォーマット(OUTPUT_FORMAT)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム/ユーザー設定ファイルに設定されている値を削除します。
    • -mp
      Podのリソース状況取得メトリクスのプレフィックス(RESOURCE_METRICS_PREFIX)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム設定ファイルに設定されている値を削除します。
      OpenShiftシステム設定ファイルの操作時のみ有効です。
    • -cp
      ocコマンドの格納パス(CMD_PATH)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム/ユーザー設定ファイルに設定されている値を削除します。
    • -ocuser
      ocログイン用のユーザー(OC_USER)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム/ユーザー設定ファイルに設定されている値を削除します。
    • -ocpswd
      ocログイン用のパスワード(OC_PASSWORD)に設定する値を指定して下さい。
      値を省略するとOpenShiftシステム/ユーザー設定ファイルに設定されている値を削除します。
  • 実行結果
    • (例1.1)現在の設定値参照(OpenShiftシステム設定ファイル)
      % sj_setup_ops
      {
              "CMD_PATH": "",
              "CMD_RETRY_INTERVAL": "100",
              "CMD_RETRY_LIMIT": "",
              "LOG_BUFFER_TIME": "",
              "MON_CACHE_INTERVAL": "",
              "OC_PASSWORD": "**********",
              "OC_USER": "apikey",
              "OUTPUT_FORMAT": "json",
              "RESOURCE_METRICS_PREFIX": "",
              "ROTATE_COUNT": "",
              "ROTATE_SIZE": ""
      }
      
    • (例1.2)現在の設定値参照(OpenShiftユーザー設定ファイル)
      % sj_setup_ops -cf/home/senju/dat/opt/sj_ops_user.json
      {
              "CMD_PATH": "/usr/local/bin/oc",
              "OC_PASSWORD": "**********",
              "OC_USER": "apikey",
              "OUTPUT_FORMAT": ""
      }
      
    • (例2)OC_USERとOC_PASSWORDを設定
      % sj_setup_ops -ocuserXXXX-XXXX -ocpswd
      Please enter the value.
              "OC_PASSWORD":
      
      The value of OC_USER has changed from (ABCD) to (XXXX-XXXX).
      The value of OC_PASSWORD has changed from (**********) to (**********).
      The update is complete.
      % sj_setup_ops
      {
              "CMD_PATH": "",
              "CMD_RETRY_INTERVAL": "",
              "CMD_RETRY_LIMIT": "",
              "LOG_BUFFER_TIME": "",
              "MON_CACHE_INTERVAL": "",
              "OC_PASSWORD": "**********",
              "OC_USER": "XXXX-XXXX",
              "OUTPUT_FORMAT": "",
              "RESOURCE_METRICS_PREFIX": "",
              "ROTATE_COUNT": "",
              "ROTATE_SIZE": ""
      }
      
    • (例3)設定を削除
      % sj_setup_ops -ocuser -ocpswd
      Please enter the value.
              "OC_PASSWORD":
      
      The value of OC_USER has changed from (XXXX-XXXX) to ().
      The value of OC_PASSWORD has changed from (**********) to (**********).
      The update is complete.
      % sj_setup_ops
      {
              "CMD_PATH": "",
              "CMD_RETRY_INTERVAL": "",
              "CMD_RETRY_LIMIT": "",
              "LOG_BUFFER_TIME": "",
              "MON_CACHE_INTERVAL": "",
              "OC_PASSWORD": "**********",
              "OC_USER": "",
              "OUTPUT_FORMAT": "",
              "RESOURCE_METRICS_PREFIX": "",
              "ROTATE_COUNT": "",
              "ROTATE_SIZE": ""
      }
      

    注釈

    • 暗号化対象項目の標準出力への表示は全てアスタリスクでマスクされます。

    • 暗号化対象項目の値の設定は、キーボードからの入力が一切表示されません。コピー&ペーストで入力することをお勧めします。

    • 暗号化対象項目の値を削除する場合、何も入力せずにリターンキーを押下して下さい。

  • 標準エラー出力
    • Failed to acquire Senju home directory

    • The openshift configuration file does not exist.

    • Invalid data have been set in this file.

    • Failed to update the openshift configuration file.

    • File update failed.

  • 終了ステータス
    • 0 : 正常終了

    • 1 : 異常終了

4.3.3.4. OpenShift情報設定ファイル更新コマンドの登録

OpenShift情報設定ファイルの現在値の参照、作成と更新を行うため、OpenShift情報設定ファイル更新コマンドを千手ブラウザからユーザーコマンドに登録します。詳細な手順については、ユーザーズガイド 「2.3.2.1 ユーザーコマンド」 を参照して下さい。

  • ユーザーコマンドグループの作成

    OpenShift情報設定ファイル更新コマンドを登録するユーザーコマンドグループを千手ブラウザから登録して下さい。

  • OpenShift情報設定ファイル更新コマンドの登録(OpenShiftシステム設定ファイル)

    作成したユーザーコマンドグループに、以下に示す起動シーケンスを指定してコマンドを登録して下さい。

    • 現在値の参照

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops
    
    • 作成と更新

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops "-ci@@キャッシュ有効期間@@" "-mlc@@ログファイルのローテーション最大個数@@" "-mls@@ログファイルの最大サイズ@@" "-ri@@コマンドのリトライ間隔@@" "-rc@@コマンドのリトライ上限@@" "-lbt@@最後に取得したログより遡る時間@@" "-lf@@ログフォーマット@@" "-mp@@Podのリソース状況取得メトリクスのプレフィックス@@" "-cp@@ocコマンドパス@@" "-ocuser@@ocログイン用のユーザ@@" "-ocpswd@@ocログイン用のパスワード@@"
    

    注釈

    上記の起動シーケンスは項目を全て変更する仕様となっています。項目別に変更を行いたい場合は、起動シーケンスから任意の「-オプション@@パラメータ名@@」を指定したユーザーコマンドを別途登録して下さい。

    (例)sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops "-ocuser@@ocログイン用のユーザ@@"

  • OpenShift情報設定ファイル更新コマンドの登録(OpenShiftユーザー設定ファイル)

    作成したユーザーコマンドグループに、以下に示す起動シーケンスを指定してコマンドを登録して下さい。

    • 現在値の参照

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops "-cf@ユーザ設定ファイル@"
    
    • 作成と更新

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops "-cf@ユーザ設定ファイル@" "-lf@@ログフォーマット@@" "-cp@@ocコマンドパス@@" "-ocuser@@ocログイン用のユーザ@@" "-ocpswd@@ocログイン用のパスワード@@"
    

    注釈

    上記の起動シーケンスは変更可能な項目を全て変更する仕様となっています。項目別に変更を行いたい場合は、起動シーケンスから任意の「-オプション@@パラメータ名@@」を指定したユーザーコマンドを別途登録して下さい。

    (例)sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_ops "-cf@ユーザ設定ファイル@" "-ocuser@@ocログイン用のユーザ@@"