18.2. 네트워크 Observability CLI 사용
Network Observability CLI는 터미널 내에서 직접 네트워크 흐름 및 패킷 Telemetry를 필터링하고 시각화합니다. 이 툴은 캡처된 데이터를 타사 분석 유틸리티와 원활하게 통합하기 위해 JSON, 데이터베이스 파일 또는 PCAP( Packet Capture) 파일로 내보냅니다.
18.2.1. 흐름 캡처 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 흐름을 캡처하고 CLI에서 직접 리소스 또는 영역을 기반으로 필터를 적용합니다. 이를 통해 서로 다른 두 영역 간의 RTT(Round-Trip Time) 시각화와 같은 복잡한 사용 사례를 해결할 수 있습니다.
CLI의 테이블 시각화는 보기 및 흐름 검색 기능을 제공합니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
네트워크 Observability CLI(
oc netobserv) 플러그인을 설치합니다.
프로세스
다음 명령을 실행하여 활성화된 필터를 사용하여 흐름을 캡처합니다.
$ oc netobserv flows --enable_filter=true --action=Accept --cidr=0.0.0.0/0 --protocol=TCP --port=49051터미널의
라이브 테이블 필터 프롬프트에 필터를 추가하여 들어오는 흐름을 추가로 조정합니다. 예를 들면 다음과 같습니다.live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once- PageUp 및 PageDown 키를 사용하여 없음,리소스,영역,호스트,소유자 및 위의 모든 항목을 전환합니다.
-
캡처를 중지하려면 Ctrl+C 누릅니다. 캡처된 데이터는 CLI를 설치하는 데 사용되는 것과 동일한 경로에 있는
./output디렉터리에 있는 두 개의 개별 파일에 기록됩니다. 캡처된 데이터의 JSON 배열이 포함된
./output/flow/<capture_date_time>.jsonJSON 파일에서 캡처된 데이터를 확인합니다.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>.dbSQLite
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