$ oc netobserv flows --enable_filter=true --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051
您可以直接在终端中可视化和过滤流和数据包数据,以查看特定用法,例如识别谁正在使用特定端口。网络可观察性 CLI 将流收集为 JSON 和数据库文件,或将数据包收集为 PCAP 文件,您可以将其与第三方工具一起使用。
您可以捕获流并过滤数据中的任何资源或区域,以解决用例,例如显示两个区域之间的往返时间 (RTT)。CLI 中的表格可视化提供了查看和流搜索功能。
安装 OpenShift CLI(oc
)。
安装网络可观察性 CLI(oc netobserv
)插件。
通过运行以下命令捕获启用过滤器的流
$ oc netobserv flows --enable_filter=true --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051
在终端中的 live table filter
提示符中添加过滤器以进一步细化传入的流。例如
live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once
使用 PageUp 和 PageDown 键在 无、资源、区域、主机、所有者和 以上所有 之间切换。
要停止捕获,请按Ctrl+C。捕获的数据将写入安装 CLI 所用相同路径下的./output
目录中的两个单独文件中。
在./output/flow/<capture_date_time>.json
JSON 文件中查看捕获的数据,该文件包含捕获数据的 JSON 数组。
{
"AgentIP": "10.0.1.76",
"Bytes": 561,
"DnsErrno": 0,
"Dscp": 20,
"DstAddr": "f904:ece9:ba63:6ac7:8018:1e5:7130:0",
"DstMac": "0A:58:0A:80:00:37",
"DstPort": 9999,
"Duplicate": false,
"Etype": 2048,
"Flags": 16,
"FlowDirection": 0,
"IfDirection": 0,
"Interface": "ens5",
"K8S_FlowLayer": "infra",
"Packets": 1,
"Proto": 6,
"SrcAddr": "3e06:6c10:6440:2:a80:37:b756:270f",
"SrcMac": "0A:58:0A:80:00:01",
"SrcPort": 46934,
"TimeFlowEndMs": 1709741962111,
"TimeFlowRttNs": 121000,
"TimeFlowStartMs": 1709741962111,
"TimeReceived": 1709741964
}
您可以使用 SQLite 检查./output/flow/<capture_date_time>.db
数据库文件。例如
运行以下命令打开文件:
$ sqlite3 ./output/flow/<capture_date_time>.db
运行 SQLite SELECT
语句查询数据,例如:
sqlite> SELECT DnsLatencyMs, DnsFlagsResponseCode, DnsId, DstAddr, DstPort, Interface, Proto, SrcAddr, SrcPort, Bytes, Packets FROM flow WHERE DnsLatencyMs >10 LIMIT 10;
12|NoError|58747|10.128.0.63|57856||17|172.30.0.10|53|284|1
11|NoError|20486|10.128.0.52|56575||17|169.254.169.254|53|225|1
11|NoError|59544|10.128.0.103|51089||17|172.30.0.10|53|307|1
13|NoError|32519|10.128.0.52|55241||17|169.254.169.254|53|254|1
12|NoError|32519|10.0.0.3|55241||17|169.254.169.254|53|254|1
15|NoError|57673|10.128.0.19|59051||17|172.30.0.10|53|313|1
13|NoError|35652|10.0.0.3|46532||17|169.254.169.254|53|183|1
32|NoError|37326|10.0.0.3|52718||17|169.254.169.254|53|169|1
14|NoError|14530|10.0.0.3|58203||17|169.254.169.254|53|246|1
15|NoError|40548|10.0.0.3|45933||17|169.254.169.254|53|174|1
您可以使用网络可观测性 CLI 捕获数据包。
安装 OpenShift CLI(oc
)。
安装网络可观察性 CLI(oc netobserv
)插件。
运行启用过滤器的包捕获:
$ oc netobserv packets --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051
在终端的live table filter
提示符中添加过滤器以细化传入的数据包。示例过滤器如下:
live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once
使用 PageUp 和 PageDown 键在 无、资源、区域、主机、所有者和 以上所有 之间切换。
要停止捕获,请按Ctrl+C。
查看捕获的数据,这些数据将写入安装 CLI 所用相同路径下的./output/pcap
目录中的单个文件中。
可以使用 Wireshark 打开./output/pcap/<capture_date_time>.pcap
文件。