12.2. 使用 Network Observability CLI
您可以在终端中直接视觉化和过滤流和数据包数据,以查看特定使用情况,例如识别谁正在使用特定端口。Network Observability CLI 将流作为 JSON 和数据库文件或数据包作为 PCAP 文件来收集,该文件可用于第三方工具。
12.2.1. 捕获流
您可以捕获数据中的任何资源或区域的流程和过滤,以解决两个区域之间的 Round-Trip Time (RTT)。CLI 中的表视觉化提供了查看和流搜索功能。
先决条件
- 
							安装 OpenShift CLI (oc) 。
- 
							安装 Network Observability CLI (oc netobserv) 插件。
流程
- 运行以下命令,通过过滤捕获流: - oc netobserv flows --enable_filter=true --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051 - $ oc netobserv flows --enable_filter=true --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在终端的 - live table filter提示下添加过滤以进一步优化传入的流。例如:- live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once - live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用 PageUp 和 PageDown 键在 None、Resource、Zone、Host、Owner 和 all 之间切换。
- 
							要停止捕获,按 Ctrl+C。捕获的数据被写入两个单独的文件,位于用于安装 CLI 的同一路径中的 ./output目录中。
- 在 - ./output/flow/<capture_date_time>.jsonJSON 文件中查看捕获的数据,其中包含了捕获数据的 JSON 阵列。- JSON 文件示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 您可以使用 SQLite 检查 - ./output/flow/<capture_date_time>.db数据库文件。例如:- 运行以下命令打开该文件: - sqlite3 ./output/flow/<capture_date_time>.db - $ sqlite3 ./output/flow/<capture_date_time>.db- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行 SQLite - SELECT语句来查询数据,例如:- sqlite> SELECT DnsLatencyMs, DnsFlagsResponseCode, DnsId, DstAddr, DstPort, Interface, Proto, SrcAddr, SrcPort, Bytes, Packets FROM flow WHERE DnsLatencyMs >10 LIMIT 10; - sqlite> SELECT DnsLatencyMs, DnsFlagsResponseCode, DnsId, DstAddr, DstPort, Interface, Proto, SrcAddr, SrcPort, Bytes, Packets FROM flow WHERE DnsLatencyMs >10 LIMIT 10;- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
12.2.2. 捕获数据包
您可以使用 Network Observability CLI 捕获数据包。
先决条件
- 
							安装 OpenShift CLI (oc) 。
- 
							安装 Network Observability CLI (oc netobserv) 插件。
流程
- 在启用了过滤的情况下运行数据包捕获: - 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=49051- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在终端的 - live table filter提示下添加过滤以进一步优化传入的数据包。过滤示例如下:- live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once - live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用 PageUp 和 PageDown 键在 None、Resource、Zone、Host、Owner 和 all 之间切换。
- 要停止捕获,按 Ctrl+C。
- 查看捕获的数据,这些数据被写入一个文件中,该文件位于用于安装 CLI 的同一路径中的 - ./output/pcap目录中:- 
									./output/pcap/<capture_date_time>.pcap文件可以使用 wireshark 打开。
 
- 
									
12.2.3. 清理 Network Observability CLI
					您可以通过运行 oc netobserv cleanup 来手动清理 CLI 工作负载。此命令从集群中删除所有 CLI 组件。
				
当您结束捕获时,此命令由客户端自动运行。如果您遇到连接问题,可能需要手动运行它。
流程
- 运行以下命令: - oc netobserv cleanup - $ oc netobserv cleanup- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow