14.3. Network Observability CLI (oc netobserv) リファレンス
				Network Observability CLI (oc netobserv) は、Network Observability Operator で使用できるほとんどの機能とフィルタリングオプションを備えています。コマンドライン引数を渡すことで、機能やフィルタリングオプションを有効にできます。
			
14.3.1. Network Observability CLI の使用
					Network Observability CLI (oc netobserv) を使用して、コマンドライン引数を渡してさらに分析するためのフローデータ、パケットデータ、メトリクスをキャプチャーしたり、Network Observability Operator がサポートする機能を有効にしたりできます。
				
14.3.1.1. 構文
						oc netobserv コマンドの基本構文:
					
oc netobserv の構文
oc netobserv [<command>] [<feature_option>] [<command_options>]
$ oc netobserv [<command>] [<feature_option>] [<command_options>] - 1
- 機能オプションは、oc netobserv flowsコマンドでのみ使用できます。oc netobserv packetsコマンドでは使用できません。
14.3.1.2. 基本コマンド
| コマンド | 説明 | 
|---|---|
| flows | フロー情報をキャプチャーします。サブコマンドは、「フローキャプチャーのオプション」表を参照してください。 | 
| packets | パケットデータをキャプチャーします。サブコマンドは、「パケットキャプチャーのオプション」表を参照してください。 | 
| metrics | メトリクスデータをキャプチャーします。サブコマンドは、「メトリクスキャプチャーのオプション」の表を参照してください。 | 
| follow | バックグラウンドで実行しているときはコレクターログに従います。 | 
| stop | エージェントデーモンセットを削除して収集を停止します。 | 
| copy | コレクターが生成したファイルをローカルにコピーします。 | 
| cleanup | Network Observability CLI コンポーネントを削除します。 | 
| version | ソフトウェアのバージョンを出力します。 | 
| help | ヘルプを表示します。 | 
14.3.1.3. フローキャプチャーのオプション
フローキャプチャーには、必須コマンドのほか、パケットドロップ、DNS 遅延、ラウンドトリップタイム、フィルタリングに関する追加機能の有効化などの追加オプションがあります。
oc netobserv flows の構文
oc netobserv flows [<feature_option>] [<command_options>]
$ oc netobserv flows [<feature_option>] [<command_options>]| オプション | 説明 | デフォルト | 
|---|---|---|
| --enable_all | すべての eBPF 機能の有効化 | false | 
| --enable_dns | DNS 追跡の有効化 | false | 
| --enable_ipsec | IPsec トラッキングの有効化 | false | 
| --enable_network_events | ネットワークイベントモニタリングの有効化 | false | 
| --enable_pkt_translation | パケット変換の有効化 | false | 
| --enable_pkt_drop | パケットドロップの有効化 | false | 
| --enable_rtt | RTT 追跡の有効化 | false | 
| --enable_udn_mapping | ユーザー定義ネットワークマッピングの有効化 | false | 
| --get-subnets | サブネット情報の取得 | false | 
| --sampling | サンプリングするパケットの比率を決定する値 | 1 | 
| --background | バックグラウンドでの実行 | false | 
| --copy | 出力ファイルをローカルにコピー | prompt | 
| --log-level | コンポーネントログ | info | 
| --max-time | 最大キャプチャー時間 | 5m | 
| --max-bytes | 最大キャプチャーバイト数 | 50000000 = 50 MB | 
| --action | アクションのフィルタリング | Accept | 
| --cidr | CIDR のフィルタリング | 0.0.0.0/0 | 
| --direction | 方向のフィルタリング | – | 
| --dport | 送信先ポートのフィルタリング | – | 
| --dport_range | 送信先ポート範囲のフィルタリング | – | 
| --dports | 2 つの送信先ポートのどちらかでフィルタリング | – | 
| --drops | ドロップされたパケットのみでフローをフィルタリング | false | 
| --icmp_code | ICMP コードのフィルタリング | – | 
| --icmp_type | ICMP タイプのフィルタリング | – | 
| --node-selector | 特定のノードでのキャプチャー | – | 
| --peer_ip | ピア IP のフィルタリング | – | 
| --peer_cidr | ピア CIDR のフィルタリング | – | 
| --port_range | ポート範囲のフィルタリング | – | 
| --port | ポートのフィルタリング | – | 
| --ports | 2 つのポートのどちらかでフィルタリング | – | 
| --protocol | プロトコルのフィルタリング | – | 
| --query | カスタムクエリーを使用したフローのフィルタリング | – | 
| --sport_range | 送信元ポート範囲のフィルタリング | – | 
| --sport | 送信元ポートのフィルタリング | – | 
| --sports | 2 つの送信元ポートのどちらかでフィルタリング | – | 
| --tcp_flags | TCP フラグのフィルタリング | – | 
| --interfaces | 監視するインターフェイスのリスト (コンマ区切り) | – | 
| --exclude_interfaces | 除外するインターフェイスのリスト (コンマ区切り) | lo | 
PacketDrop および RTT 機能を有効にして TCP プロトコルとポート 49051 でフローキャプチャーを実行する例:
oc netobserv flows --enable_pkt_drop --enable_rtt --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051
$ oc netobserv flows --enable_pkt_drop  --enable_rtt --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=4905114.3.1.4. パケットキャプチャーのオプション
フィルターを使用すると、フローのキャプチャーと同じようにパケットのキャプチャーデータをフィルタリングできます。パケットドロップ、DNS、RTT、ネットワークイベントなどの特定の機能は、フローおよびメトリクスのキャプチャーでのみ使用できます。
oc netobserv packets の構文
oc netobserv packets [<option>]
$ oc netobserv packets [<option>]| オプション | 説明 | デフォルト | 
|---|---|---|
| --background | バックグラウンドでの実行 | false | 
| --copy | 出力ファイルをローカルにコピー | prompt | 
| --log-level | コンポーネントログ | info | 
| --max-time | 最大キャプチャー時間 | 5m | 
| --max-bytes | 最大キャプチャーバイト数 | 50000000 = 50 MB | 
| --action | アクションのフィルタリング | Accept | 
| --cidr | CIDR のフィルタリング | 0.0.0.0/0 | 
| --direction | 方向のフィルタリング | – | 
| --dport | 送信先ポートのフィルタリング | – | 
| --dport_range | 送信先ポート範囲のフィルタリング | – | 
| --dports | 2 つの送信先ポートのどちらかでフィルタリング | – | 
| --drops | ドロップされたパケットのみでフローをフィルタリング | false | 
| --icmp_code | ICMP コードのフィルタリング | – | 
| --icmp_type | ICMP タイプのフィルタリング | – | 
| --node-selector | 特定のノードでのキャプチャー | – | 
| --peer_ip | ピア IP のフィルタリング | – | 
| --peer_cidr | ピア CIDR のフィルタリング | – | 
| --port_range | ポート範囲のフィルタリング | – | 
| --port | ポートのフィルタリング | – | 
| --ports | 2 つのポートのどちらかでフィルタリング | – | 
| --protocol | プロトコルのフィルタリング | – | 
| --query | カスタムクエリーを使用したフローのフィルタリング | – | 
| --sport_range | 送信元ポート範囲のフィルタリング | – | 
| --sport | 送信元ポートのフィルタリング | – | 
| --sports | 2 つの送信元ポートのどちらかでフィルタリング | – | 
| --tcp_flags | TCP フラグのフィルタリング | – | 
TCP プロトコルとポート 49051 でパケットキャプチャーを実行する例:
oc netobserv packets --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051
$ oc netobserv packets --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=4905114.3.1.5. メトリクスキャプチャーのオプション
フローキャプチャーと同じように、メトリクスキャプチャーでも機能を有効にしてフィルターを使用できます。生成されたグラフはダッシュボードに適宜表示されます。
oc netobserv metrics 構文
oc netobserv metrics [<option>]
$ oc netobserv metrics [<option>]| オプション | 説明 | デフォルト | 
|---|---|---|
| --enable_all | すべての eBPF 機能の有効化 | false | 
| --enable_dns | DNS 追跡の有効化 | false | 
| --enable_ipsec | IPsec トラッキングの有効化 | false | 
| --enable_network_events | ネットワークイベントモニタリングの有効化 | false | 
| --enable_pkt_translation | パケット変換の有効化 | false | 
| --enable_pkt_drop | パケットドロップの有効化 | false | 
| --enable_rtt | RTT 追跡の有効化 | false | 
| --enable_udn_mapping | ユーザー定義ネットワークマッピングの有効化 | false | 
| --get-subnets | サブネット情報の取得 | false | 
| --sampling | サンプリングするパケットの比率を定義する値 | 1 | 
| --action | アクションのフィルタリング | Accept | 
| --cidr | CIDR のフィルタリング | 0.0.0.0/0 | 
| --direction | 方向のフィルタリング | – | 
| --dport | 送信先ポートのフィルタリング | – | 
| --dport_range | 送信先ポート範囲のフィルタリング | – | 
| --dports | 2 つの送信先ポートのどちらかでフィルタリング | – | 
| --drops | ドロップされたパケットのみでフローをフィルタリング | false | 
| --icmp_code | ICMP コードのフィルタリング | – | 
| --icmp_type | ICMP タイプのフィルタリング | – | 
| --node-selector | 特定のノードでのキャプチャー | – | 
| --peer_ip | ピア IP のフィルタリング | – | 
| --peer_cidr | ピア CIDR のフィルタリング | – | 
| --port_range | ポート範囲のフィルタリング | – | 
| --port | ポートのフィルタリング | – | 
| --ports | 2 つのポートのどちらかでフィルタリング | – | 
| --protocol | プロトコルのフィルタリング | – | 
| --query | カスタムクエリーを使用したフローのフィルタリング | – | 
| --sport_range | 送信元ポート範囲のフィルタリング | – | 
| --sport | 送信元ポートのフィルタリング | – | 
| --sports | 2 つの送信元ポートのどちらかでフィルタリング | – | 
| --tcp_flags | TCP フラグのフィルタリング | – | 
| --include_list | 生成するメトリクス名のリスト (コンマ区切り) | namespace_flows_total,node_ingress_bytes_total,node_egress_bytes_total,workload_ingress_bytes_total | 
| --interfaces | 監視するインターフェイスのリスト (コンマ区切り) | – | 
| --exclude_interfaces | 除外するインターフェイスのリスト (コンマ区切り) | lo | 
TCP ドロップのメトリクスキャプチャーの実行例
oc netobserv metrics --enable_pkt_drop --protocol=TCP
$ oc netobserv metrics --enable_pkt_drop --protocol=TCP生成するメトリクス名のリストに対するメトリクスキャプチャーの実行例
oc netobserv metrics --include_list=node,workload
$ oc netobserv metrics --include_list=node,workloadoc netobserv metrics --include_list=node_egress_bytes_total,workload_egress_packets_total
$ oc netobserv metrics --include_list=node_egress_bytes_total,workload_egress_packets_totaloc netobserv metrics --enable_all --include_list=node,namespace,workload
$ oc netobserv metrics --enable_all --include_list=node,namespace,workloadメトリクス名のリストの出力例