本文へスキップ

Kubernetesエージェントオプション設定

  • WhaTap Kubernetesエージェントの配布時、コンテナのenvフィールドを通して設定できます。

  • コンテナ内のwhatap.confファイルを修正して設定できます。

  • whatap.confファイル内のオプションがコンテナenvフィールドに設定されたオプションよりも高い優先順位を持ちます。

  • whatap.confまたはコンテナenvに設定された値がない場合は、既定値が使用されます。

ノート

コンテナ内のアプリケーションエージェントのオプション設定

コンテナ内のJava、Python、Node.jsなどのアプリケーションをモニタリングするために必要な設定をwhatap.confファイルに作成します。 whatap.confファイルを使用して設定できるオプションの詳細については、次のリンクを参照してください。

コンテナ別のオプション設定

whatap-node-helper


  • collect_volume_detail_enabled bool

    既定値 true

    ノードエージェントですべてのコンテナに対するexec dfコマンドを使用して、コンテナのボリューム情報の照会を活性化します。 ノードに実行中のすべてのコンテナのストレージ使用量およびボリューム情報を収集する機能を活性化します。

  • inject_container_id_to_apm_agent_enabled bool

    既定値 true

    WhaTap APMコンテナにexecを利用したcontainer IDの注入を活性化します。 WhaTap APMで識別されるコンテナのIDを自動的に抽出します。 これをAPMツールに注入し、性能モニタリングデータとコンテナを接続できます。

  • debug bool

    既定値false

    デバッグモードの活性化有無を設定します。 デバッグモードの活性化時のログレベルはDEBUGに、そうでない場合はINFOに設定します。

  • kube_config_path string

    既定値~/.kube/config

    Kubernetes設定ファイルのパスを指定します。 未設定時は、_~/.kube/config_を使います。

  • log_sys_out bool

    既定値 true

    ログシステムの出力を設定します。 オプション値をtrueに設定する時、標準出力(stdOut)とファイルに同時にログを残します。 変更時、ロギングシステムにすぐに反映されます。

  • collect_kube_node_process_metric_enabled bool

    既定値 true

    ノードでKubernetes関連プロセスのモニタリングを有効または無効にするフラグです。 trueに設定すると、モニタリングが有効になり、falseに設定すると、モニタリングが無効になります。

  • collect_kube_node_process_metric_target_list list

    デフォルト値"kubelet,containerd-shim,containerd,docker,dockerd,crio,metrics-server, coredns,aws-k8s-agent,kube-proxy"

    基本的にKubernetes関連プロセスをモニタリングします。 ユーザーが特定のプロセス一覧を修正し、任意にモニタリングするプロセスを設定できます。

    ノート

    WhaTapでデフォルト設定されたモニタリング対象プロセスのリスト

    • kubelet

      各ノードで実行されるコントローラで、コンテナの状態を継続的にモニタリングし、Kubernetesマスターと通信してワークロードが正しくスケジューリングされ、実行されるようにします。 コンテナのステータスチェックとノードリソースの管理を担当します。

    • containerd

      コンテナ実行のための高性能コンテナランタイムです。 イメージ管理、コンテナの作成と実行、ネットワーキングなどを処理します。

    • dockerd

      Dockerコンテナの生成を管理する主要なプロセスです。 このプロセスには、コンテナ画像のビルド、展開、実行、ネットワーク、およびデータ管理が含まれます。

    • crio

      Kubernetesために設計された軽量化されたコンテナランタイムで、CRI(Container Runtime Interface)を実装して、コンテナワークロードを効率的に管理します。

    • coredns

      Kubernetesクラスター内部でDNSサービスを提供するプロセスで、クラスター内サービスのネームリゾリューションを処理します。 また、サービスディスカバリーおよびロードバランシング機能を実行し、クラスター内のサービス間の通信を円滑にサポートします。

    • aws-k8s-agent

      AWS環境でKubernetesネットワークインターフェース(VPC CNI)を管理するエージェントです。 このプロセスは、Pod間通信のためにAWSネットワークリソース(ENI)を割り当てて解除する役割をします。 問題が発生すると、ネットワーク接続障害やリソース割り当てエラーが発生する可能性があります。

    • kube-proxy

      Kubernetesクラスター内でネットワークトラフィックをルーティングするプロセスです。 このプロセスは各ノードで実行され、サービスとPod間の通信を可能にします。 また、iptablesあるいはIPVSなどのLinuxネットワーキング技術を使用し、クラスター内の要求を正しいPodに伝えます。 これを通じて、Kubernetesクラスター内のサービス ディスカバリーとロードバランシングをサポートします。

    • kube-apiserver

      Kubernetes APIサーバーで、クラスター内のすべてのリクエストを処理し、リソースの状態を管理する中央コンポーネントです。 認証、権限付与、アドミッションコントロールなど、クラスターの全般的な要求処理を担当します。

    • etcd

      Kubernetesクラスター状態情報を保存する分散キー-値データベースです。 クラスターの状態保存と復旧に重要な役割を果たします。

    • kube-controller

      複数のコントローラーを管理および実行するプロセスで、クラスターリソースの状態を維持し、自動化作業を実行します。 ノードとPodの状態管理、レプリケーションの維持など、様々な役割を果たします。

    • kube-scheduler

      クラスターでは、Podを適切なノードに配置する役割を果たします。 Podの要件と各ノードの状態を考慮し、最適なノードを選択します。

whatap-node-agent


  • shutdown bool

    既定値false

    収集サーバーとの接続を強制的に停止します。 通信の停止を意味します。

  • license string

    プロジェクトに発行されたライセンスを使用してエージェントを識別します。

  • whatap.server.host string

    既定値13.124.11.223あるいは13.209.172.35

    収集サーバーのIPを設定します。 delimiterの場合、/:を使います。

  • whatap.server.port number

    既定値6600

    収集サーバーのデータ受信ポートを設定します。

  • ONODE_NAME string

    既定値NODE_NAME or NODE_IP環境変数値

    エージェントノード識別のための名前を設定します。

  • tcp_connection_timeout number

    既定値 3000

    whatap-master-agentと収集サーバーのソケット接続時のタイムアウト時間を設定します。

  • tcp_so_timeout number

    既定値60000

    ソケット接続後のデータの送信・受信タイムアウト時間を設定します。

  • debug bool

    既定値false

    デバッグモードの活性化有無を設定します。

  • gpuEnabled bool

    既定値false

    GPUモニタリングの活性化有無を設定します。

  • count_interval number

    既定値5000

    メトリクス(kube_podcontainer)を収集サーバーに送信するサイクルを設定します。 既定値の単位はmsです。

    ノート

    このオプションは、画面上のデータ更新サイクルに影響を与える可能性があります。 詳細については、以下の[メトリクス別の影響を受ける画面コンポーネント]](#k8s-affected-comp-by-metrics)を参考にしてください。

  • collect_interval number

    既定値5000

    エージェントがapiserverにリクエストしてメトリクス(kube_podcontainer)を収集するサイクルを設定します。

    ノート

    このオプションは、画面上のデータ更新サイクルに影響を与える可能性があります。 詳細については、以下の[メトリクス別の影響を受ける画面コンポーネント]](#k8s-affected-comp-by-metrics)を参考にしてください。

  • collect_apiserver_metric_by_leader bool

    既定値false

    このオプションが活性化されている場合、ノードエージェントはメトリクスの収集をマスターエージェントに委任します。 whatap-master-agentのcollect_apiserver_metric_by_leaderオプションの有効化の先行が必要です。 メトリクス収集の委任により、既存のwhatap-node-agentが発生させたapiserverの負荷を低くすることができます。

whatap-control-plane-helper


  • port string

    既定値9496

    whatap-control-plane-helperのウェブサーバーポートを設定します。

  • cycle number

    既定値5

    control-plane-helperが指標をスクレイピングするサイクルを設定します。 既定値の単位はsです。

  • collect_control_plane_monitoring_enabled bool

    既定値false

    control-plane-monitoring機能の活性化有無を設定します。

  • kube_config_path string

    既定値~.kube/config

    Kubernetes設定ファイルのパスを指定します。 未設定時_~/.kube/config_を使います。

  • kube_master_url string

    既定値~/.kube/config

    スクラッピングのためにリクエストするcontrol-planeのurlを設定します。 未設定時_~/.kube/config_を使います。

  • debug bool

    既定値false

    whatap-control-plane-helperのデバッグ(ロギング)の活性化有無を設定します。

  • kube_client_tls_verify bool

    既定値 true

    オプション値をfalseに設定すると、TLS認証を強制することなく、認証手順を省略できます。

whatap-master-agent


  • shutdown bool

    既定値false

    収集サーバーとの接続を強制的に停止します。 通信の停止を意味します。

  • license string

    プロジェクトに発行されたライセンスを使用してエージェントを識別します。

  • whatap.server.host string

    既定値13.124.11.223あるいは13.209.172.35

    収集サーバーのIPを設定します。 delimiterの場合、/:を使います。

  • whatap.server.port number

    既定値6600

    収集サーバーのデータ受信ポートを設定します。

  • tcp_connection_timeout number

    既定値 3000

    whatap-master-agentと収集サーバーのソケット接続時のタイムアウト時間を設定します。

  • tcp_so_timeout number

    既定値60000

    whatap-master-agentと収集サーバーのソケット通信時のタイムアウト時間を設定します。

  • debug bool

    既定値false

    whatap-master-agentでDEBUGレベルのロギングの活性化有無を設定します。

  • collect_apiserver_metric_by_leader bool

    既定値false

    whatap-master-agentのスクラッパーのリーダーとしての動作有無を設定します。 活性化時、whatap-master-agent単独でapiserverにメトリクスをリクエストします。

  • collect_control_plane_monitoring_enabled bool

    既定値false

    コントロールプレーンモニタリング機能の活性化有無を設定します。

  • master_to_control_plane_connection_timeout number

    既定値5000

    whatap-master-agentがwhatap-control-plane-helperとの通信時、connection timeoutが発生するまでの時間を設定します。 既定値の単位はmsです。

  • master_to_control_plane_read_timeout number

    既定値20000

    whatap-master-agentがwhatap-control-plane-helperとの通信時、read connection timeoutが発生するまでの時間を設定します。 既定値の単位はmsです。

  • control_plane_debug bool

    既定値false

    コントロールプレーンモニタリングに対するwhatap-master-agentでのすべてのデバッグログ機能の活性化有無を設定します。

  • store_k8s_object_manifest_enabled bool

    既定値 true

    オブジェクトマニフェスト収集機能の活性化有無を設定します。 活性化時、1日に1回クラスターオブジェクトのマニフェスト情報を収集します。

  • store_k8s_object_manifest_timezone string

    既定値UTC

    オブジェクトマニフェスト収集のためのタイムゾーンを設定します。 別途設定がない場合、既定値のUTCを基準にして、午前0時に収集を開始します。

    例、日本時間基準で午前0時に実行したい場合GMT+9あるいはAsia/Tokyoのようにタイムゾーン設定

  • store_k8s_object_manifest_max_fetch_limit number

    既定値50

    一度に収集するオブジェクトの照会数を設定します。 別途設定がない場合、既定値の50を基準にして1回のリクエストにつき50個ずつリクエストします。

    例、全体のPod数が90個のクラスタで該当オプションを30に設定すると、Pod情報を30個ずつ3回リクエスト

メトリクス別の影響を受ける画面コンポーネント

kube_pod

  • ダッシュボード > コンテナマップ

    次の例の画像のPodビュー基準データは、kube_podメトリクスの収集サイクルと収集サーバーの転送サイクルに影響を受けます。

    コンテナマップPodビュー

  • ワークロード > Podリスト

    次の例のデータは、kube_podメトリクスの収集サイクルと収集サーバーの転送サイクルに影響を受けます。

    Podリスト

  • ダッシュボード > 性能サマリー

    kube_podメトリクスを利用するエージェントが実行されているPodの数チャートの更新サイクルに影響を受けます。

container

  • ダッシュボード > コンテナマップ

    次の例のコンテナビュー基準画面データの更新サイクルは、containerメトリクスの影響を受けます。

    コンテナマップコンテナビュー

  • コンテナー > コンテナイメージ

    次の例のデータは、containerメトリクスの影響を受けます。

    コンテナイメージ

  • ダッシュボード > 性能サマリー

    containerメトリクスを利用する次のチャートの更新サイクルに影響を受けます。

    • エージェントが実行されているコンテナの数

    • エージェントがインストールされているノードの数

    • Total Container CPU Request

    • Total Container CPU Usage

    • Node CPU

    • Node Memory

    • Container CPU Usage by Request

    • Container CPU Usage by Node

    • Container Memory Working Set by Request

    • Container Memory Failure Count

    • Container CPU Throttling Time

    • Container Network Receive Byte

    • Container Network Transmit Byte

  • クラスター > ノード詳細

    次の例のノード詳細画面でコンテナ一覧の更新サイクルは、containerメトリクスの影響を受けます。

    ノード詳細情報