7.2. 트래픽 흐름 보기에서 네트워크 트래픽 관찰
트래픽 흐름 보기에는 네트워크 흐름의 데이터와 테이블의 트래픽 양이 표시됩니다. 관리자는 트래픽 흐름 테이블을 사용하여 애플리케이션 간 트래픽 양을 모니터링할 수 있습니다.
7.2.1. 트래픽 흐름 보기 작업
관리자는 트래픽 흐름 테이블로 이동하여 네트워크 흐름 정보를 볼 수 있습니다.
프로세스
-
모니터링
네트워크 트래픽 으로 이동합니다. - 네트워크 트래픽 페이지에서 트래픽 흐름 탭을 클릭합니다.
각 행을 클릭하면 해당 흐름 정보를 얻을 수 있습니다.
7.2.2. 트래픽 흐름 보기에 대한 고급 옵션 구성
고급 옵션 표시를 사용하여 보기를 사용자 지정하고 내보낼 수 있습니다. 표시 옵션 드롭다운 메뉴를 사용하여 행 크기를 설정할 수 있습니다. 기본값은 Normal 입니다.
7.2.2.1. 열 관리
표시할 필수 열을 선택하고 순서를 다시 정렬할 수 있습니다. 열을 관리하려면 열 관리를 클릭합니다.
7.2.2.2. 트래픽 흐름 데이터 내보내기
트래픽 흐름 보기에서 데이터를 내보낼 수 있습니다.
프로세스
- 데이터 내보내기 를 클릭합니다.
- 팝업 창에서 모든 데이터를 내보내려면 모든 데이터 내보내기 확인란을 선택하고 확인란의 선택을 해제하여 내보낼 필수 필드를 선택할 수 있습니다.
- 내보내기 를 클릭합니다.
7.2.3. 대화 추적 작업
관리자는 동일한 대화의 일부인 네트워크 흐름을 그룹화할 수 있습니다. 대화는 IP 주소, 포트 및 프로토콜로 식별되는 피어 그룹화로 정의되므로 고유한 대화 ID가 생성됩니다. 웹 콘솔에서 대화 이벤트를 쿼리할 수 있습니다. 이러한 이벤트는 웹 콘솔에서 다음과 같이 표시됩니다.
- 대화 시작: 이 이벤트는 연결이 시작되거나 TCP 플래그가 인터셉트될 때 발생합니다.
-
대화 눈금: 이 이벤트는 연결이 활성화된 동안
FlowCollector
spec.processor.conversationHeartbeatInterval
매개변수에 정의된 각 지정된 간격으로 수행됩니다. -
대화 종료: 이 이벤트는
FlowCollector
spec.processor.conversationEndTimeout
매개변수에 도달하거나 TCP 플래그를 가로챌 때 발생합니다. - flow: 지정된 간격 내에 발생하는 네트워크 트래픽 흐름입니다.
프로세스
-
웹 콘솔에서 Operators
설치된 Operators 로 이동합니다. - NetObserv Operator 의 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
spec.processor.logTypes
,conversationEndTimeout
및conversationHeartbeatInterval
매개변수가 관찰 요구 사항에 따라 설정되도록FlowCollector
사용자 지정 리소스를 구성합니다. 샘플 구성은 다음과 같습니다.대화 추적을 위한
FlowCollector
구성apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: processor: logTypes: Flows 1 advanced: conversationEndTimeout: 10s 2 conversationHeartbeatInterval: 30s 3
- 1
logTypes
를 Flow로
설정하면 Flow 이벤트만 내보냅니다. 값을All
으로 설정하면 대화 및 흐름 이벤트가 모두 내보내 네트워크 트래픽 페이지에 표시됩니다. 대화 이벤트에만 집중하기 위해 대화 시작, 대화틱 및 대화 끝 이벤트 또는 대화 끝점 이벤트만 내보내는Conversations
EndedConversations
의 경우 스토리지 요구 사항이All
및 lowest에서 가장 높습니다.- 2
- Conversation end 이벤트는
conversationEndTimeout
에 도달하거나 TCP 플래그가 가로채는 시점을 나타냅니다. - 3
- Conversation tick 이벤트는 네트워크 연결이 활성화된 동안
FlowCollector
conversationHeartbeatInterval
매개변수에 정의된 각 지정된 간격을 나타냅니다.
참고logType
옵션을 업데이트하면 이전 선택의 흐름이 콘솔 플러그인에서 명확하지 않습니다. 예를 들어, 처음에logType
을 오전 10시까지 시간 범위에 대한Conversations
로 설정한 다음EndedConversations
로 이동하는 경우 콘솔 플러그인은 오전 10시 이전의 모든 대화 이벤트를 표시하고 10 AM 이후의 대화만 종료합니다.-
트래픽 흐름 탭에서 네트워크 트래픽 페이지를 새로 고칩니다. 두 개의 새 열인 Event/Type 및 Conversation Id 가 있습니다. 모든 이벤트/유형 필드는
Flow
가 선택한 쿼리 옵션인 경우 Flow 입니다. - 쿼리 옵션을 선택하고 로그 유형,대화 유형을 선택합니다. 이제 이벤트/유형 이 원하는 대화 이벤트를 모두 표시합니다.
- 다음으로 특정 대화 ID를 필터링하거나 측면 패널에서 대화 및 흐름 로그 유형 옵션을 전환할 수 있습니다.
7.2.4. 패킷 드롭 작업
패킷 손실은 하나 이상의 네트워크 흐름 데이터가 대상에 도달하지 못하는 경우 발생합니다. 다음 YAML 예제의 사양에 대해 FlowCollector
를 편집하여 이러한 드롭을 추적할 수 있습니다.
이 기능이 활성화되면 CPU 및 메모리 사용량이 증가합니다.
프로세스
-
웹 콘솔에서 Operators
설치된 Operators 로 이동합니다. - NetObserv Operator 의 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
패킷 드롭에 대한
FlowCollector
사용자 정의 리소스를 구성합니다. 예를 들면 다음과 같습니다.FlowCollector
구성 예apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: namespace: netobserv agent: type: eBPF ebpf: features: - PacketDrop 1 privileged: true 2
검증
네트워크 트래픽 페이지를 새로 고칠 때 개요,트래픽 흐름 및 토폴로지 보기에 패킷 삭제에 대한 새 정보가 표시됩니다.
- 패널 관리에서 새 선택 항목을 선택하여 개요 에 표시할 패킷의 그래픽 시각화를 선택합니다.
열 관리에서 새 선택 항목을 선택하여 트래픽 흐름 테이블에 표시할 패킷 드롭 정보를 선택합니다.
-
트래픽 흐름 보기에서 측면 패널을 확장하여 패킷 드롭에 대한 자세한 정보를 볼 수도 있습니다. 호스트 삭제에는
SKB_DROP
접두사가 붙고 OVS 드롭이OVS_DROP
접두사가 붙습니다.
-
트래픽 흐름 보기에서 측면 패널을 확장하여 패킷 드롭에 대한 자세한 정보를 볼 수도 있습니다. 호스트 삭제에는
- 토폴로지 보기에서 드롭이 있는 빨간색 행이 표시됩니다.
7.2.5. DNS 추적 작업
DNS 추적을 사용하면 네트워크를 모니터링하고 보안 분석을 수행하고 DNS 문제를 해결할 수 있습니다. 다음 YAML 예제의 사양으로 FlowCollector
를 편집하여 DNS를 추적할 수 있습니다.
이 기능이 활성화되면 CPU 및 메모리 사용량 증가가 eBPF 에이전트에서 관찰됩니다.
프로세스
-
웹 콘솔에서 Operators
설치된 Operators 로 이동합니다. - 네트워크 Observa bility 에 대해 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
FlowCollector
사용자 지정 리소스를 구성합니다. 샘플 구성은 다음과 같습니다.DNS 추적을 위한
FlowCollector
구성apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: namespace: netobserv agent: type: eBPF ebpf: features: - DNSTracking 1 sampling: 1 2
네트워크 트래픽 페이지를 새로 고칠 때 개요 및 트래픽 흐름 보기 및 적용할 수 있는 새 필터에서 볼 수 있는 새로운 DNS 표현이 있습니다.
- 패널 관리에서 새 DNS 선택 사항을 선택하여 개요 에 그래픽 시각화 및 DNS 지표를 표시합니다.
- 열 관리에서 새 선택 항목을 선택하여 트래픽 흐름 보기에 DNS 열을 추가합니다.
- DNS Id,DNS Error DNS Latency 및 DNS Response Code 와 같은 특정 DNS 메트릭을 필터링하고 사이드 패널에서 자세한 정보를 확인합니다. DNS 대기 시간 및 DNS 응답 코드 열이 기본적으로 표시됩니다.
TCP 핸드셰이크 패킷에는 DNS 헤더가 없습니다. DNS 헤더가 없는 TCP 프로토콜은 "n/a"의 DNS 대기 시간,ID 및 응답 코드 값을 사용하여 트래픽 흐름 데이터에 표시됩니다. 흐름 데이터를 필터링하여 "0"과 같은 Common filter "DNSError"를 사용하여 DNS 헤더가 있는 흐름만 볼 수 있습니다.
7.2.6. RTT 추적 작업
다음 YAML 예제의 사양으로 FlowCollector
를 편집하여 RTT를 추적할 수 있습니다.
프로세스
-
웹 콘솔에서 Operators
설치된 Operators 로 이동합니다. - NetObserv Operator 의 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
RTT 추적을 위한
FlowCollector
사용자 정의 리소스를 구성합니다. 예를 들면 다음과 같습니다.FlowCollector
구성 예apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: namespace: netobserv agent: type: eBPF ebpf: features: - FlowRTT 1
- 1
spec.agent.ebpf.features
사양 목록에FlowRTT
매개변수를 나열하여 RTT 네트워크 흐름 추적을 시작할 수 있습니다.
검증
네트워크 트래픽 페이지를 새로 고칠 때 개요,트래픽 흐름 및 토폴로지 보기에 RTT에 대한 새 정보가 표시됩니다.
- 개요 에서 패널 관리에서 새 선택 사항을 선택하여 표시할 RTT의 그래픽 시각화를 선택합니다.
- 트래픽 흐름 테이블에서는 흐름 RTT 열을 볼 수 있으며 열 관리에서 디스플레이를 관리할 수 있습니다.
트래픽 흐름 보기에서 측면 패널을 확장하여 RTT에 대한 자세한 정보를 볼 수도 있습니다.
필터링 예
-
공통 필터
프로토콜 을 클릭합니다. - TCP,Ingress 방향을 기반으로 네트워크 흐름 데이터를 필터링하고 10,000,000 나노초(10ms)보다 큰 FlowRTT 값을 찾습니다.
- 프로토콜 필터를 제거합니다.
- Common Filter에서 0보다 큰 Flow RTT 값을 필터링합니다.
-
공통 필터
- 토폴로지 보기에서 표시 옵션 드롭다운을 클릭합니다. 그런 다음 에지 레이블 드롭다운 목록에서 RTT 를 클릭합니다.
7.2.6.1. 히스토그램 사용
히스토그램 표시를 클릭하여 흐름 기록을 가로 막대형 차트로 시각화하기 위한 도구 모음 보기를 표시할 수 있습니다. 히스토그램은 시간에 따른 로그 수를 보여줍니다. 히스토그램의 일부를 선택하여 도구 모음을 따르는 테이블에서 네트워크 흐름 데이터를 필터링할 수 있습니다.
7.2.7. 가용성 영역 작업
클러스터 가용성 영역에 대한 정보를 수집하도록 FlowCollector
를 구성할 수 있습니다. 이를 통해 노드에 적용된 topology.kubernetes.io/zone
레이블 값을 사용하여 네트워크 흐름 데이터를 강화할 수 있습니다.
프로세스
-
웹 콘솔에서 Operator
설치된 Operator 로 이동합니다. - NetObserv Operator 의 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
spec.processor.addZone
매개변수가true
로 설정되도록FlowCollector
사용자 지정 리소스를 구성합니다. 샘플 구성은 다음과 같습니다.가용성 영역 컬렉션에 대한
FlowCollector
구성apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: # ... processor: addZone: true # ...
검증
네트워크 트래픽 페이지를 새로 고칠 때 개요,트래픽 흐름 및 토폴로지 보기에 가용성 영역에 대한 새 정보가 표시됩니다.
- 개요 탭에서 영역을 사용 가능한 범위로 볼 수 있습니다.
-
네트워크 트래픽
트래픽 흐름에서 영역은 SrcK8S_Zone 및 DstK8S_Zone 필드에서 볼 수 있습니다. - 토폴로지 보기에서 영역을 범위 또는 그룹으로 설정할 수 있습니다.
7.2.8. 글로벌 규칙을 사용하여 eBPF 흐름 데이터 필터링
eBPF 흐름 테이블에 캐시된 패킷의 흐름을 제어하기 위해 글로벌 규칙을 사용하여 eBPF 흐름을 필터링하도록 FlowCollector
를 구성할 수 있습니다.
프로세스
-
웹 콘솔에서 Operators
설치된 Operators 로 이동합니다. - 네트워크 Observa bility 에 대해 제공된 API 제목에서 흐름 수집기 를 선택합니다.
- 클러스터를 선택한 다음 YAML 탭을 선택합니다.
다음 샘플 구성과 유사하게
FlowCollector
사용자 지정 리소스를 구성합니다.예 7.1. Kubernetes 서비스 트래픽을 특정 Pod IP 끝점으로 필터링
apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: namespace: netobserv deploymentModel: Direct agent: type: eBPF ebpf: flowFilter: action: Accept 1 cidr: 172.210.150.1/24 2 protocol: SCTP direction: Ingress destPortRange: 80-100 peerIP: 10.10.10.10 enable: true 3
예 7.2. 클러스터 외부의 모든 주소로의 흐름 참조
apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: namespace: netobserv deploymentModel: Direct agent: type: eBPF ebpf: flowFilter: action: Accept 1 cidr: 0.0.0.0/0 2 protocol: TCP direction: Egress sourcePort: 100 peerIP: 192.168.127.12 3 enable: true 4