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 flow命令一起使用。它们不能与oc netobserv packets命令一起使用。
14.3.1.2. 基本命令
| 命令 | 描述 | 
|---|---|
| flows | 捕获流信息。有关子命令,请参阅"Flows 捕获选项"表。 | 
| packets | 捕获数据包数据.有关子命令,请参阅"捕获选项"表。 | 
| metrics | 捕获指标数据。有关子命令,请参阅"Metrics 捕获选项"表。 | 
| follow | 在后台运行时遵循收集器日志。 | 
| stop | 通过删除代理 daemonset 停止收集。 | 
| 复制 | 在本地复制收集器生成的文件。 | 
| cleanup | 删除 Network Observability CLI 组件。 | 
| version | 打印软件版本。 | 
| 帮助 | 显示帮助。 | 
14.3.1.3. 流捕获选项
流捕获有强制命令以及附加选项,如启用有关数据包丢弃、DNS 延迟、往返时间和过滤的额外功能。
oc netobserv flows 语法
oc netobserv flows [<feature_option>] [<command_options>]
$ oc netobserv flows [<feature_option>] [<command_options>]| 选项 | 描述 | default | 
|---|---|---|
| --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 = 50MB | 
| --action | 过滤操作 | Accept | 
| --cidr | 过滤 CIDR | 0.0.0.0/0 | 
| --direction | 过滤方向 | – | 
| --dport | 过滤目标端口 | – | 
| --dport_range | 过滤目标端口范围 | – | 
| --dports | 过滤两个目标端口之一 | – | 
| --drops | 仅过滤带有丢弃的数据包的流 | false | 
| --icmp_code | 过滤 ICMP 代码 | – | 
| --icmp_type | 过滤 ICMP 类型 | – | 
| --node-selector | 在特定节点上捕获 | – | 
| --peer_ip | 过滤对等 IP | – | 
| --peer_cidr | 过滤对等 CIDR | – | 
| --port_range | 过滤端口范围 | – | 
| --port | 过滤端口 | – | 
| --ports | 过滤两个端口之一 | – | 
| --protocol | 过滤协议 | – | 
| --query | 使用自定义查询过滤流 | – | 
| --sport_range | 过滤源端口范围 | – | 
| --sport | 过滤源端口 | – | 
| --sports | 过滤两个源端口之一 | – | 
| --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>]| 选项 | 描述 | default | 
|---|---|---|
| --background | 在后台运行 | false | 
| --copy | 在本地复制输出文件 | prompt | 
| --log-level | 组件日志 | info | 
| --max-time | 最大捕获时间 | 5m | 
| --max-bytes | 最大捕获字节数 | 50000000 = 50MB | 
| --action | 过滤操作 | Accept | 
| --cidr | 过滤 CIDR | 0.0.0.0/0 | 
| --direction | 过滤方向 | – | 
| --dport | 过滤目标端口 | – | 
| --dport_range | 过滤目标端口范围 | – | 
| --dports | 过滤两个目标端口之一 | – | 
| --drops | 仅过滤带有丢弃的数据包的流 | false | 
| --icmp_code | 过滤 ICMP 代码 | – | 
| --icmp_type | 过滤 ICMP 类型 | – | 
| --node-selector | 在特定节点上捕获 | – | 
| --peer_ip | 过滤对等 IP | – | 
| --peer_cidr | 过滤对等 CIDR | – | 
| --port_range | 过滤端口范围 | – | 
| --port | 过滤端口 | – | 
| --ports | 过滤两个端口之一 | – | 
| --protocol | 过滤协议 | – | 
| --query | 使用自定义查询过滤流 | – | 
| --sport_range | 过滤源端口范围 | – | 
| --sport | 过滤源端口 | – | 
| --sports | 过滤两个源端口之一 | – | 
| --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 指标语法
oc netobserv metrics [<option>]
$ oc netobserv metrics [<option>]| 选项 | 描述 | default | 
|---|---|---|
| --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 | 过滤两个目标端口之一 | – | 
| --drops | 仅过滤带有丢弃的数据包的流 | false | 
| --icmp_code | 过滤 ICMP 代码 | – | 
| --icmp_type | 过滤 ICMP 类型 | – | 
| --node-selector | 在特定节点上捕获 | – | 
| --peer_ip | 过滤对等 IP | – | 
| --peer_cidr | 过滤对等 CIDR | – | 
| --port_range | 过滤端口范围 | – | 
| --port | 过滤端口 | – | 
| --ports | 过滤两个端口之一 | – | 
| --protocol | 过滤协议 | – | 
| --query | 使用自定义查询过滤流 | – | 
| --sport_range | 过滤源端口范围 | – | 
| --sport | 过滤源端口 | – | 
| --sports | 过滤两个源端口之一 | – | 
| --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指标名称列表的输出示例