11.2. 네트워크 Observability CLI 사용
터미널에서 직접 흐름 및 패킷 데이터를 시각화하고 필터링하여 특정 포트를 사용하는 사람 식별과 같은 특정 사용량을 확인할 수 있습니다. Network Observability CLI는 타사 툴과 함께 사용할 수 있는 PCAP 파일로 JSON 및 데이터베이스 파일 또는 패킷을 수집합니다.
11.2.1. 흐름 캡처 링크 복사링크가 클립보드에 복사되었습니다!
흐름을 캡처하고 데이터의 모든 리소스 또는 영역을 필터링하여 두 영역 간에 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-
캡처를 중지하려면 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
11.2.2. 패킷 캡처 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 Observability CLI를 사용하여 패킷을 캡처할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)를 설치합니다. -
네트워크 Observability CLI(
oc netobserv) 플러그인을 설치합니다.
프로세스
필터가 활성화된 상태에서 패킷 캡처를 실행합니다.
$ oc netobserv packets tcp,80터미널의
라이브 테이블 필터 프롬프트에 필터를 추가하여 들어오는 패킷을 구체화합니다. 예제 필터는 다음과 같습니다.live table filter: [SrcK8S_Zone:us-west-1b] press enter to match multiple regular expressions at once- 캡처를 중지하려면 Ctrl+C 누릅니다.
CLI를 설치하는 데 사용된 것과 동일한 경로에 있는
./output/pcap디렉터리에 있는 단일 파일에 기록된 캡처된 데이터를 확인합니다.-
./output/pcap/<capture_date_time>.pcap파일은 Wireshark로 열 수 있습니다.
-
11.2.3. 네트워크 Observability CLI 정리 링크 복사링크가 클립보드에 복사되었습니다!
oc netobserv cleanup 을 실행하여 CLI 워크로드를 수동으로 정리할 수 있습니다. 이 명령은 클러스터에서 모든 CLI 구성 요소를 제거합니다.
캡처를 종료하면 클라이언트에서 이 명령이 자동으로 실행됩니다. 연결 문제가 발생하면 수동으로 실행해야 할 수 있습니다.
프로세스
다음 명령을 실행합니다.
$ oc netobserv cleanup
추가 리소스