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
orNODE_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_pod
、container
)を収集サーバーに送信するサイクルを設定します。 既定値の単位はmsです。ノートこのオプションは、画面上のデータ更新サイクルに影響を与える可能性があります。 詳細については、以下の[メトリクス別の影響を受ける画面コンポーネント]](#k8s-affected-comp-by-metrics)を参考にしてください。
-
collect_interval number
既定値
5000
エージェントがapiserverにリクエストしてメトリクス(
kube_pod
、container
)を収集するサイクルを設定します。ノートこのオプションは、画面上のデータ更新サイクルに影響を与える可能性があります。 詳細については、以下の[メトリクス別の影響を受ける画面コンポーネント]](#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リスト
次の例のデータは、
kube_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
メトリクスの影響を受けます。