NetFlow 모니터링 (NetFlow Monitoring)
네트워크 트래픽 흐름을 수집하는 장치(라우터, 방화벽, 스위치 등)에서 내보낸 트래픽 흐름에 대한 가시성을 제공하는 NetFlow 뷰에 대해 알아봐요. 트래픽 볼륨을 분석하고, 주요 토커(top talkers)를 식별하며, 데이터가 네트워크를 통해 어떻게 이동하는지 이해할 수 있어요.
출처: 문서
본문
개요 (Overview)
Network Device Monitoring의 NetFlow 뷰는 흐름 데이터를 내보내는 장치(예: 라우터, 방화벽, 스위치)에서 수집한 네트워크 트래픽 흐름에 대한 가시성을 제공해요. 트래픽 볼륨을 분석하고, 주요 토커를 식별하고, 데이터가 네트워크를 통해 어떻게 이동하는지 이해할 수 있어요.
NetFlow 뷰는 장치와 인터페이스별로 집계된 트래픽 메트릭을 표시해요. 이를 사용해 가장 많은 대역폭을 소비하거나, 가장 많은 패킷을 생성하거나, 트래픽 급증에 기여하는 장치나 인터페이스를 식별해요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/netflow.3d3b5fd2b6a87f0e79d9eed3e03318f7.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/netflow.3d3b5fd2b6a87f0e79d9eed3e03318f7.png?auto=format&fit=max&w=850&dpr=2 2x" alt="The NetFlow Monitoring page containing a collapsible legend for traffic volume, device health, flows and more." /%}
사이드 내비게이션 (Side Navigation)
왼쪽 내비게이션을 사용해 추가 NetFlow 뷰를 탐색해요:
- Traffic Volume: 장치와 인터페이스별 전체 흐름 메트릭.
- Device Health: 모니터링되는 장치의 상태와 활용도.
- Flows: 상세한 개별 흐름 레코드.
- Conversations: 집계된 출발지–목적지 쌍.
- Autonomous Systems: 자율 시스템 번호(ASN)별로 그룹화된 흐름 데이터.
- Geo IP: 지리적 출발지/목적지별로 그룹화된 흐름 데이터.
- Source Ports / Destination Ports / Protocols / Flags: 패킷 메타데이터별 트래픽 분류.
설치 (Installation)
NetFlow Monitoring을 Network Device Monitoring과 함께 사용하려면 Agent 버전 7.45 이상을 사용해야 해요.
참고: NetFlow 데이터 전송에 Network Device Monitoring의 메트릭 컬렉션을 구성하는 것은 필수 요구 사항이 아니지만, 이 추가 데이터는 장치 이름, 모델, 공급업체, 인바운드/아웃바운드 인터페이스 이름 같은 정보로 흐름 레코드를 강화하는 데 사용할 수 있어 강력히 권장돼요.
구성 (Configuration)
장치가 NetFlow, jFlow, sFlow 또는 IPFIX 트래픽을 Agent NetFlow 서버로 보내도록 구성하려면, 장치가 Datadog Agent가 설치된 IP 주소, 특히 flow_type과 port로 트래픽을 보내도록 구성해야 해요.
- NetFlow를 활성화하려면
datadog.yamlAgent 구성 파일을 편집해요:
network_devices:
netflow:
enabled: true
listeners:
- flow_type: netflow9 # choices: netflow5, netflow9, ipfix, sflow5
port: 2055 # devices need to be configured to the same port number
- flow_type: netflow5
port: 2056
- flow_type: ipfix
port: 4739
- flow_type: sflow5
port: 6343
## Set to true to enable reverse DNS enrichment of private source and destination IP addresses in NetFlow records
reverse_dns_enrichment_enabled: false
변경 사항을 저장한 후 Agent를 재시작해요.
참고: 방화벽 규칙이 구성된 포트에서 인바운드 UDP 트래픽을 허용하도록 해요.
집계 (Aggregation)
Datadog Agent는 대부분의 정보를 유지하면서 플랫폼으로 전송되는 레코드 수를 제한하기 위해 NetFlow로 수신된 데이터를 자동으로 집계해요. 기본적으로 source, destination address, port, protocol 같은 동일한 식별자를 가진 흐름 레코드는 5분 간격으로 함께 집계돼요. 또한 Datadog Agent는 임시(ephemeral) 포트를 감지해 제거할 수 있어요. 결과적으로 port:*인 흐름이 보일 수 있어요.
강화 (Enrichment)
NetFlow 데이터는 Datadog 백엔드에서 처리되며 장치와 인터페이스의 사용 가능한 메타데이터로 강화돼요. 강화는 NetFlow 내보내기자 IP와 인터페이스 인덱스를 기반으로 해요. 재사용된 사설 IP 간의 잠재적 충돌을 구분하려면 각 Agent 구성 파일(network_devices.namespace 설정)에 서로 다른 namespace를 구성할 수 있어요.
NetFlow 내보내기자 IP가 장치 IP 중 하나지만 SNMP 통합에 구성된 IP가 아니라면, Datadog은 내보내기자 IP가 속한 장치를 찾으려 시도하고, 일치가 고유한 한 NetFlow 데이터를 해당 장치로 강화해요.
클라우드 제공자 IP 강화 (Cloud provider IP enrichment)
Datadog은 IPv4 주소에 대해 공용 클라우드 제공자 서비스와 리전으로 IP를 강화해, 특정 서비스와 리전의 흐름 레코드를 필터링할 수 있어요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/netflow_cloud_provider_enrichment_2.e54c9c0fc956100f38ce6be14cae62e4.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/netflow_cloud_provider_enrichment_2.e54c9c0fc956100f38ce6be14cae62e4.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Netflow Filter menu displaying cloud provider name, region, and service" /%}
포트 강화 (Port enrichment)
Datadog은 잘 알려진 포트 매핑(Postgres의 5432, HTTPS의 443 등)을 해석하기 위해 IANA(Internet Assigned Numbers Authority) 데이터로 NetFlow의 포트를 강화해요.
커스텀 포트 강화 (Custom port enrichment)
포트와 프로토콜을 특정 애플리케이션에 매핑하는 자체 커스텀 강화를 추가할 수도 있어요(예: 특정 포트에서 커스텀 서비스가 실행되는 경우). 이렇게 하면 네트워크 엔지니어와 팀이 사람이 읽을 수 있는 이름으로 NetFlow 데이터를 해석하고 쿼리하기 쉬워져요.
NetFlow의 Configuration 탭에서 + Add Enrichment를 클릭해 커스텀 강화가 포함된 CSV 파일을 업로드해요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/new_enrichment_2.30eee3d8e2a52f55a6ad632f05779999.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/new_enrichment_2.30eee3d8e2a52f55a6ad632f05779999.png?auto=format&fit=max&w=850&dpr=2 2x" alt="The New Enrichment Mapping modal in the Netflow configuration tab" /%}
커스텀 IP 강화 (Custom IP enrichment)
IP와 CIDR을 커스텀 태그에 매핑하는 자체 커스텀 강화를 추가할 수도 있어요(예: 특정 IP 주소에서 실행되는 서비스 분류). 이렇게 하면 네트워크 엔지니어와 팀이 사람이 읽을 수 있는 이름으로 NetFlow 데이터를 해석하고 쿼리하기 쉬워져요.
강화 설정 페이지 (Enrichment settings page)에서 + Add Enrichment를 클릭해 매핑을 수동으로 추가하거나 CSV 파일을 업로드해 일괄 추가해요.
역방향 DNS 사설 IP 강화 (Reverse DNS private IP enrichment)
역방향 DNS 사설 IP 강화를 활성화해 출발지 또는 목적지 IP 주소와 연결된 호스트 이름에 대한 DNS 조회를 수행해요. 활성화되면 Agent는 사설 주소 범위 내의 출발지·목적지 IP에 대한 역방향 DNS 조회를 수행해 NetFlow 레코드를 해당 호스트 이름으로 강화해요.
기본적으로 datadog.yaml 파일의 역방향 DNS IP 강화는 비활성화되어 있어요. 활성화하려면 이 페이지의 구성(Configuration) 섹션을 참고하세요.
- Filter 메뉴에서 DNS를 검색해 역방향 DNS IP 강화와 연결된 흐름을 찾아요:
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/dns_ip_enrichmen_2.26a5e4ca5c2d857b11979c0a9610757b.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/dns_ip_enrichmen_2.26a5e4ca5c2d857b11979c0a9610757b.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Filter menu enhanced to show the reverse DNS destination and source facets" /%}
참고: DNS 쿼리를 최소화하고 DNS 서버에 가해지는 부하를 줄이기 위해 역방향 DNS 항목은 캐시되고 속도 제한(rate limiting)이 적용돼요. 기본 캐싱과 속도 제한 수정을 포함한 더 많은 구성 옵션은 예시 Agent 구성 파일의 reverse_dns_enrichment 섹션을 참고해요.
IP 세부 정보 (IP details)
Conversations 뷰에서 목적지 IP의 공용 IP 주소를 볼 수 있어요. IP 위에 마우스를 올리면 IP에 대한 풍부한 메타데이터와 View Related Network Connections 링크가 표시되며, 여기서 연결을 더 자세히 검사할 수 있어요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/NetFlow_IP_pill.a9636ec81e266cf3f86c7c9999690cc4.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/NetFlow_IP_pill.a9636ec81e266cf3f86c7c9999690cc4.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Hover over an IP address to display the IP details and View Related Network Connections" /%}
흐름 다이어그램 (Flow diagram)
Flows 메뉴를 클릭하고 목록의 흐름 위에 마우스를 올려 관련 네트워크 연결에서 Source IP, Ingress Interface Name, Device name, Destination IP에 대한 추가 정보를 확인함으로써 NetFlow Monitoring의 흐름을 시각화할 수 있어요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/flows.ddecf2b9e54d4fae8e5ca9fd9f94129c.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/flows.ddecf2b9e54d4fae8e5ca9fd9f94129c.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Hover over a flow aggregated from a device emitting netflow to access related network connections" /%}
NetFlow용 네트워크 경로 (Network Path for NetFlow)
NetFlow용 동적 테스트(Dynamic Tests)는 NetFlow 트래픽을 수집하는 Agent에서 NetFlow 레코드에서 관찰된 목적지 IP로 네트워크 경로 테스트를 자동으로 실행할 수 있어요. NetFlow용 동적 테스트를 사용해 NetFlow 목적지에 홉 단위(hop-by-hop) 경로와 지연 시간 컨텍스트를 추가해요.
NetFlow용 동적 테스트는 실험적이며 Agent v7.81+가 필요해요. NetFlow용 동적 테스트 설정은 네트워크 경로 설정 (Network Path setup)을 참고해요.
NetFlow 모니터 (NetFlow monitor)
아무 뷰에서나 Create Monitor 아이콘을 클릭해 NetFlow 모니터를 만들어요. 모니터를 만들 때 장치 관점에서 출발지 IP 또는 목적지 IP와 관련해 다음 필드를 고려해요. 이 필드들은 네트워크 트래픽 패턴에 대한 통찰을 제공하고 성능과 보안 최적화에 도움을 줘요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/create_monitor.8654f0b26f623228c248157895d7385a.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/create_monitor.8654f0b26f623228c248157895d7385a.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Flows view in NetFlow monitoring with the create monitor link highlighted." /%}
인터페이스 정보 (Interface information)
다음 필드는 인그레스(Ingress)와 이그레스(Egress) 인터페이스에 대한 세부 정보를 나타내요.
| 필드 이름 (Field Name) | 필드 설명 (Field Description) |
|---|---|
| Egress Interface Alias | 이그레스 인터페이스의 별칭. |
| Egress Interface Index | 이그레스 인터페이스의 인덱스. |
| Egress Interface Name | 이그레스 인터페이스의 이름. |
| Ingress Interface Alias | 인그레스 인터페이스의 별칭. |
| Ingress Interface Index | 인그레스 인터페이스의 인덱스. |
| Ingress Interface Name | 인그레스 인터페이스의 이름. |
장치 정보 (Device information)
다음 필드는 NetFlow 레코드를 생성하는 장치와 관련된 세부 정보를 나타내요.
| 필드 이름 (Field Name) | 필드 설명 (Field Description) |
|---|---|
| Device IP | 강화 목적으로 NDM의 장치에 매핑하는 데 사용되는 IP 주소. |
| Exporter IP | NetFlow 패킷이 시작되는 IP 주소. |
| Device Model | 장치의 모델. |
| Device Name | 장치의 이름. |
| Device Namespace | 장치의 네임스페이스. |
| Device Vendor | 장치의 공급업체. |
흐름 세부 정보 (Flow details)
다음 필드는 네트워크 흐름의 특성을 나타내요.
| 필드 이름 (Field Name) | 필드 설명 (Field Description) |
|---|---|
| Direction | 흐름이 인바운드인지 아웃바운드인지 나타내요. |
| Start Time | 출발지와 목적지 IP 주소 사이의 첫 네트워크 패킷 타임스탬프. |
| End Time | 출발지와 목적지 IP 주소 사이의 마지막 네트워크 패킷 타임스탬프. |
| Ether Type | 이더넷 프레임 캡슐화 유형(IPv4 또는 IPv6). |
| Flow Type | NetFlow 데이터 형식 유형(IPFIX, sFlow5, NetFlow5, NetFlow9 또는 Unknown). |
| IP Protocol | 통신에 사용되는 프로토콜(ICMP, TCP, UDP 등). |
| Next Hop IP | 네트워크 경로에서 다음 홉의 IP 주소. |
| TCP Flag | 흐름 수명 동안 관찰된 모든 TCP 플래그의 합집합. |
| Bytes | 전송된 총 바이트 수. |
| Packets | 전송된 총 패킷 수. |
필드 외에도 기본 제공 패싯을 사용해 NetFlow 목적지와 출발지 IP 주소에 따라 트래픽 패턴 분석을 시작할 수 있어요.
NetFlow 목적지 IP 패싯 (NetFlow Destination IP facets)
| 패싯 이름 (Facet Name) | 패싯 설명 (Facet Description) |
|---|---|
| Destination AS Domain | 목적지 IP가 속한 자율 시스템(AS)과 연결된 도메인. |
| Destination AS Name | 목적지 IP가 속한 자율 시스템(AS)의 이름. |
| Destination AS Number | 목적지 IP가 속한 자율 시스템(AS)에 할당된 번호. |
| Destination AS Route | 목적지 IP가 속한 자율 시스템(AS)과 연결된 라우트 정보. |
| Destination AS Type | 목적지 IP가 속한 자율 시스템(AS)의 유형(transit, customer, peer 등). |
| Destination Application Name | 목적지 IP와 연결된 애플리케이션 이름. |
| Destination City Name | 목적지 IP와 연결된 도시 이름. |
| Destination Cloud Provider Name | 목적지 IP와 연결된 클라우드 제공자 이름. |
| Destination Cloud Provider Region | 목적지 IP와 연결된 클라우드 제공자 리전. |
| Destination Cloud Provider Service | 목적지 IP와 연결된 클라우드 제공자가 제공하는 서비스. |
| Destination Continent Code | 목적지 IP와 연결된 대륙을 나타내는 코드. |
| Destination Continent Name | 목적지 IP와 연결된 대륙의 이름. |
| Destination Country ISO Code | 목적지 IP와 연결된 국가를 나타내는 ISO 코드. |
| Destination Country Name | 목적지 IP와 연결된 국가의 이름. |
| Destination IP | 목적지 IP 주소. |
| Destination Latitude | 목적지 IP와 연결된 위도 좌표. |
| Destination Longitude | 목적지 IP와 연결된 경도 좌표. |
| Destination MAC | 목적지 IP와 연결된 미디어 접근 제어(MAC) 주소. |
| Destination Mask | 목적지 IP와 연결된 서브넷 마스크. |
| Destination Port | 목적지 포트 번호. |
| Destination Reverse DNS Hostname | 목적지 IP와 연결된 DNS 호스트 이름. |
| Destination Subdivision ISO Code | 목적지 IP와 연결된 하위 구분(주 또는 지방 등)을 나타내는 ISO 코드. |
| Destination Subdivision Name | 목적지 IP와 연결된 하위 구분(주 또는 지방 등)의 이름. |
| Destination Timezone | 목적지 IP와 연결된 시간대. |
NetFlow 출발지 IP 패싯 (NetFlow Source IP facets)
| 패싯 이름 (Facet Name) | 패싯 설명 (Facet Description) |
|---|---|
| Source AS Domain | 출발지 IP가 속한 자율 시스템(AS)과 연결된 도메인. |
| Source AS Name | 출발지 IP가 속한 자율 시스템(AS)의 이름. |
| Source AS Number | 출발지 IP가 속한 자율 시스템(AS)에 할당된 번호. |
| Source AS Route | 출발지 IP가 속한 자율 시스템(AS)과 연결된 라우트 정보. |
| Source AS Type | 출발지 IP가 속한 자율 시스템(AS)의 유형(transit, customer, peer 등). |
| Source Application Name | 출발지 IP와 연결된 애플리케이션 이름. |
| Source City Name | 출발지 IP와 연결된 도시 이름. |
| Source Cloud Provider Name | 출발지 IP와 연결된 클라우드 제공자 이름. |
| Source Cloud Provider Region | 출발지 IP와 연결된 클라우드 제공자 리전. |
| Source Cloud Provider Service | 출발지 IP와 연결된 클라우드 제공자가 제공하는 서비스. |
| Source Continent Code | 출발지 IP와 연결된 대륙을 나타내는 코드. |
| Source Continent Name | 출발지 IP와 연결된 대륙의 이름. |
| Source Country ISO Code | 출발지 IP와 연결된 국가를 나타내는 ISO 코드. |
| Source Country Name | 출발지 IP와 연결된 국가의 이름. |
| Source IP | 출발지 IP 주소. |
| Source Latitude | 출발지 IP와 연결된 위도 좌표. |
| Source Longitude | 출발지 IP와 연결된 경도 좌표. |
| Source MAC | 출발지 IP와 연결된 미디어 접근 제어(MAC) 주소. |
| Source Mask | 출발지 IP와 연결된 서브넷 마스크. |
| Source Port | 출발지 포트 번호. |
| Source Reverse DNS Hostname | 출발지 IP와 연결된 DNS 호스트 이름. |
| Source Subdivision ISO Code | 출발지 IP와 연결된 하위 구분(주 또는 지방 등)을 나타내는 ISO 코드. |
| Source Subdivision Name | 출발지 IP와 연결된 하위 구분(주 또는 지방 등)의 이름. |
| Source Timezone | 출발지 IP와 연결된 시간대. |
대화 스티칭 (Conversation stitching)
기본적으로 NetFlow 레코드는 두 엔드포인트 간 트래픽의 각 방향에 대해 별도의 단방향 흐름(A → B와 B → A)을 기록해요. 대화 스티칭(Conversation stitching)은 이를 단일 양방향 레코드로 결합해 두 엔드포인트(A ↔ B) 간에 교환된 총 트래픽의 완전한 뷰를 제공해요.
대화 스티칭을 사용하면 다음을 할 수 있어요:
- 별도의 방향별 흐름 대신 하나의 대화로 두 엔드포인트 간에 교환된 총 트래픽 확인
- 진정한 개시자와 응답자를 식별해 출발지·목적지 위젯이 정확한 역할을 반영하도록 함
- 서버가 상위 출발지로 잘못 나타나는 노이즈 제거
스티칭된(양방향) 뷰와 스티칭되지 않은(단방향) 뷰를 전환하려면 엔드포인트 기반 NetFlow 뷰로 이동해 시간 선택기 아래의 Bidirectional 토글을 사용해요.
{% image source="https://docs.dd-static.net/images/network_device_monitoring/netflow/conversation_stitching.441064d5e2961b99a039e21be329fc5a.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/network_device_monitoring/netflow/conversation_stitching.441064d5e2961b99a039e21be329fc5a.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Conversation stitching toggle in the NetFlow view" /%}
샘플링 비율 (Sampling rate)
NetFlow의 샘플링 비율은 기본적으로 바이트와 패킷 계산에 고려돼요. 표시되는 바이트와 패킷 값은 샘플링 비율을 적용해 계산돼요. 또한 대시보드와 노트북에서 Bytes (Adjusted) (@adjusted_bytes) 와 Packets (Adjusted) (@adjusted_packets) 을 쿼리해 시각화할 수 있어요.
장치가 보낸 원시 바이트/패킷(샘플링됨)을 시각화하려면 대시보드와 노트북에서 Bytes (Sampled) (@bytes) 와 Packets (Sampled) (@packets) 을 쿼리해요.
보존 (Retention)
NetFlow 데이터는 기본적으로 30일 동안 보존되며, 15, 30, 60, 90일 보존 옵션이 있어요.
{% alert level="warning" %} 더 긴 기간 동안 NetFlow 데이터를 보존하려면 계정 담당자에게 문의하세요. {% /alert %}
플러시 간격당 흐름 볼륨 제한 (Limit flow volume per flush interval)
NetFlow 볼륨과 관련 비용을 제어하려면 플러시 간격당 제출되는 흐름 레코드 수를 제한하도록 Agent를 구성해요. 플러시 간격은 흐름이 Datadog으로 전달되기 전에 집계되는 기간이에요.
이 제한이 활성화되면 Agent는 구성된 최대치까지 바이트 수 기준 상위 흐름만 유지하고, 해당 플러시 간격 동안 볼륨이 낮은 흐름은 버려요.
구성 (Configuration)
참고: Agent 버전 7.75.1 이상이 필요해요.
datadog.yaml에서 다음을 구성해요:
network_devices:
netflow:
enabled: true
aggregator_max_flows_per_flush_interval: 10000
이 구성으로 Agent는 플러시 간격(기본 5분)마다 최대 10,000개의 NetFlow 레코드를 제출해요. Agent는 볼륨이 가장 높은 흐름의 우선순위를 정하고 나머지는 버려요.
일일 볼륨 추정 (Estimating daily volume)
대략적인 일일 최대 흐름 수는 다음과 같아요:
max_flows_per_flush_interval * (minutes_per_day / flush_interval_minutes)
예를 들어 플러시당 10,000개의 흐름과 5분 플러시 간격이 있다면:
10,000 * (1440 / 5) = 2,880,000 flows/day
예상 동작 (Expected behavior)
- 상위 토커 우선순위 지정: 고볼륨 트래픽(예: 대역폭 주도자, 시끄러운 링크)에 집중하는 워크플로에 가장 적합해요.
- 저볼륨 흐름의 가시성 감소: 트래픽이 적은 출발지/목적지 쌍은 한도에 도달하면 나타나지 않을 수 있어요.
- Agent별 동작: 제한은 각 Agent에서 독립적으로 적용돼요. 여러 Agent가 같은 대화의 트래픽을 보더라도 잘리기 전에 전역으로 집계되지는 않아요.
잘림 모니터링 (Monitoring truncation)
흐름 제한이 활성화되면 Agent는 얼마나 많은 데이터가 유지되고 버려지는지 이해하는 데 사용할 수 있는 메트릭을 내보내요:
ndm.flow_truncation.flows_totalndm.flow_truncation.flows_keptndm.flow_truncation.flows_droppedndm.flow_truncation.keep_rationdm.flow_truncation.threshold_valuendm.flow_truncation.runtime_ms
이 메트릭을 사용해 선택한 한도를 검증하고, 잘림이 자주 발생하는 시점(한도나 플러시 간격을 조정해야 할 수 있음을 나타냄)을 감지해요.
문제 해결 (Troubleshooting)
NetFlow 패킷 드롭 (NetFlow packet drops)
NetFlow 패킷 드롭은 초당 NetFlow 패킷 수가 많을 때(보통 50,000개 초과) 발생할 수 있어요. 다음 단계는 NetFlow 패킷 드롭의 식별과 완화에 도움이 돼요:
패킷 드롭 식별 (Identifying packet drops)
netstat -s 명령을 사용해 드롭된 UDP 패킷이 있는지 확인해요:
netstat -s
완화 단계 (Mitigation steps)
- NetFlow 리스너 수 증가
다음과 유사한 구성을 사용해 NetFlow 리스너 수를 늘려요: Datadog은 워커 수를 시스템의 CPU 코어 수와 일치시키는 것을 권장해요:
netflow:
enabled: true
listeners:
- flow_type: netflow9
port: 2055
workers: 4 # 4 CPUs
UDP 큐 길이 증가 (Linux만 해당) 시스템의 UDP 큐 길이를 조정하면 더 높은 NetFlow 패킷 볼륨을 수용하는 데 도움이 돼요. 다음 명령을 실행해 UDP 수신 버퍼 크기를 25MB로 늘려요:
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
구성 영구화 (Linux만 해당)
이 변경 사항을 영구적으로 적용하려면 /etc/sysctl.conf 파일에 다음 줄을 추가해요:
net.core.rmem_max=26214400
net.core.rmem_default=26214400
더 알아보기 (Learn more)
도움이 되는 추가 문서, 링크, 아티클이에요: