안내된 설치 프로세스를 사용하여 네트워크 흐름 모니터링 에이전트를 설치하거나 에이전트를 수동으로 설치할 수 있습니다. 이 문서에서는 설치 프로세스를 시작하기 위한 전제 조건과 설치 옵션의 단계별 안내를 다룹니다.
전제 조건 시작하기 전에 New Relic 계정에 가입 해야 합니다. 에이전트를 수동으로 설치하도록 선택한 경우 다음도 필요합니다.
New Relic 계정 ID .
뉴렐릭
라이선스 키 .
도커 전제 조건 네트워크 흐름 수집을 위한 에이전트인 구현, 배포에는 docker 컨테이너를 사용하는 것이 좋습니다. 이를 사용하려면 다음이 필요합니다.
Linux 호스트에 설치된 Docker 명령줄을 통해 새 컨테이너를 시작하는 기능 Podman 전제 조건 에이전트를 강화하기 위해 Podman 구축을 사용하는 경우 다음이 필요합니다.
Linux 호스트에 설치된 Podman 명령줄을 통해 새 컨테이너를 시작하는 기능 Linux 호스트 전제 조건 Linux를 사용하여 에이전트를 서비스로 설치하는 경우 다음이 필요합니다.
지원되는 네트워크 흐름 데이터 유형 네트워크 흐름 모니터링은 네 가지 기본 유형의 네트워크 흐름 데이터와 그 파생물을 지원합니다. 에이전트를 실행할 때 -nf.source
옵션을 사용하여 모니터링할 주요 유형을 지정할 수 있습니다.
팁 NetFlow v5
, NetFlow v9
, sFlow
및 IPFIX
템플릿 컬렉션은 모두 단일 에이전트에서 -nf.source.=auto
사용하여 처리될 수 있습니다. 이는 런타임 시 nr1.flow
인수를 사용할 때 기본 설정으로 활성화됩니다.
네트워크 흐름 유형 네트워크 흐름 유형
auto
로 활성화되었나요?
-nf.source
값
앱플로우
✓
auto
| netflow5
아르고스
✓
auto
| netflow5
시스코 ASA
asa
시스코 NBAR
nbar
cflowd
✓
auto
| netflow5
아이피픽스
✓
auto
| ipfix
제이플로우
✓
auto
| netflow5
넷플로우 v5
✓
auto
| netflow5
넷플로우 v9
✓
auto
| netflow9
넷스트림
✓
auto
| netflow5
팔로알토 네트웍스
pan
알플로우
✓
auto
| netflow5
sFlow
✓
auto
| sflow
네트워크 흐름 수집을 언제 확장해야 합니까? 대규모로 네트워크 흐름을 수집하기 위한 전략을 계획할 때 다음 항목을 고려해야 합니다.
ktranslate
에이전트는 한 번에 하나의 작업만 수행할 수 있습니다. SNMP 수집을 실행하는 에이전트는 네트워크 흐름도 수신할 수 없습니다.ktranslate
에이전트는 한 번에 하나의 수신 포트에서만 수신 네트워크 흐름을 수신할 수 있습니다(기본값: 9995
). 여러 포트를 열어야 하는 경우 각 포트에는 런타임에 -nf.port 구성 옵션을 사용하여 포트를 변경하는 전용 에이전트가 필요합니다.기본 -nf.source=auto
구성을 사용하면 컨테이너가 여러 표준 흐름 유형을 수신할 수 있습니다. Cisco ASA, Cisco NBAR 또는 Palo Alto Networks 템플릿과 같은 다른 유형의 흐름 데이터를 구문 분석해야 하는 경우 각각 고유한 에이전트가 필요합니다. New Relic에서는 초당 2,000개 흐름(분당 120,000개 흐름)당 CPU 1개를 권장합니다. 로드를 분산하기 위해 여러 에이전트를 수평적으로 확장할지 아니면 관리를 통합하기 위해 더 큰 에이전트 몇 개를 수직으로 확장할지 결정하는 것은 개인 취향의 문제입니다. 네트워크 흐름 데이터 모니터링 설정 대부분의 사용 사례에서는 네트워크 흐름 데이터 모니터링을 설정하기 위해 안내 설치를 권장합니다. 사용자 정의 구성을 사용하여 설정이 더 고급인 경우 수동으로 설치하는 것이 좋습니다.
수동 컨테이너 설정 네트워크 플로우 에이전트를 수동으로 설치하는 방법을 읽기 전에 안내식 설치 프로세스를 사용하여 오류를 방지하는 것이 좋습니다.
도커 컨테이너 포드맨 컨테이너 리눅스 서비스
Docker 가 설치된 Linux 호스트에서 다음 중 하나를 실행하여 ktranslate 이미지를 다운로드합니다.
도커 허브 :
$ docker pull kentik/ktranslate:v2
Quay.io :
$ docker pull quay.io/kentik/ktranslate:v2
snmp-base.yaml
파일을 docker 사용자의 로컬 $HOME
디렉터리에 복사하고 다음을 실행하여 컨테이너를 삭제합니다.
$ id = $( docker create kentik/ktranslate:v2 )
$ docker cp $id :/etc/ktranslate/snmp-base.yaml .
snmp-base.yaml
파일을 편집하고 다음 구조를 사용하여 devices
사전 키 내에 네트워크 흐름 장치를 추가합니다.
device_name : flow_device1
중요 네트워크 흐름도 보내는 SNMP 데이터 장치를 이미 모니터링하고 있는 경우 흐름 원격 분석이 New Relic의 올바른 엔터티에 귀속되도록 두 구성 파일에 대해 device_name
값이 동일한지 확인해야 합니다. UI.
다음 명령어로 ktranslate
실행하여 네트워크 흐름을 수신합니다.
$ docker run -d --name ktranslate- $CONTAINER_SERVICE --restart unless-stopped --pull = always --net = host \
> -v ` pwd ` /snmp-base.yaml:/snmp-base.yaml \
> -e NEW_RELIC_API_KEY = $YOUR_NR_LICENSE_KEY \
> -snmp /snmp-base.yaml \
> -nr_account_id = $YOUR_NR_ACCOUNT_ID \
> -service_name = $CONTAINER_SERVICE \
뉴렐릭 네트워크 성능 모니터링 UI 에서 네트워크 흐름 데이터를 조사합니다.
Podman이 설치된 호스트에서 다음 명령을 실행하여 ktranslate 이미지를 다운로드합니다.
도커 허브 :
$ podman pull docker.io/kentik/ktranslate:v2
snmp-base.yaml
파일을 Podman 사용자의 로컬 $HOME
디렉터리에 복사하고 다음을 실행하여 컨테이너를 삭제합니다.
$ id = $( podman create kentik/ktranslate:v2 )
$ podman cp $id :/etc/ktranslate/snmp-base.yaml .
snmp-base.yaml
파일을 편집하고 다음 구조를 사용하여 devices
사전 키 내에 네트워크 흐름 장치를 추가합니다.
device_name : flow_device1
중요 네트워크 흐름도 보내는 SNMP 데이터 장치를 이미 모니터링하고 있는 경우 흐름 원격 분석이 New Relic의 올바른 엔터티에 귀속되도록 두 구성 파일에 대해 device_name
값이 동일한지 확인해야 합니다. UI.
다음 명령어로 ktranslate
실행하여 네트워크 흐름을 수신합니다.
$ podman run -d --name ktranslate- $CONTAINER_SERVICE --userns = keep-id --restart unless-stopped --pull = always --net = host \
> -v ` pwd ` /snmp-base.yaml:/snmp-base.yaml \
> -e NEW_RELIC_API_KEY = $YOUR_NR_LICENSE_KEY \
> -snmp /snmp-base.yaml \
> -nr_account_id = $YOUR_NR_ACCOUNT_ID \
> -service_name = $CONTAINER_SERVICE \
팁 루트리스 Podman 컨테이너는 1024 미만의 포트에 바인딩할 수 없습니다. 네트워크 흐름이 기본값(9995) 대신 1024 아래의 포트에서 전송되는 경우 다음 명령을 사용하여 패킷 리디렉션을 처리하기 위한 iptables
규칙을 만들어야 합니다.
$ sudo iptables -t nat -A PREROUTING -p udp --dport $srcPort -j REDIRECT --to-port 9995
뉴렐릭 네트워크 성능 모니터링 UI 에서 네트워크 흐름 데이터를 조사합니다.
귀하의 헤드셋 매니저에 따라 아래 명령 중 하나를 사용하여 설치하십시오. ktranslate
Yum:
$ curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.rpm.sh | sudo bash && \
> sudo yum install ktranslate
Apt:
$ curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.deb.sh | sudo bash && \
> sudo apt-get install ktranslate
ktranslate
에서 사용하는 환경 변수를 정의합니다.
$ sudo tee "/etc/default/ktranslate.env" > /dev/null << 'EOF'
$ NR_ACCOUNT_ID=$YOUR_NR_ACCOUNT_ID
$ NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY
$ KT_FLAGS="-snmp /etc/ktranslate/snmp-base.yaml \
> -service_name=$CONTAINER_SERVICE \
$ sudo chown ktranslate:ktranslate /etc/default/ktranslate.env
기존 snmp-base.yaml
설정 파일이 없으면 다음을 사용하여 파일을 만듭니다.
snmp-base.yaml
파일을 편집하고 다음 구조를 사용하여 devices
사전 키 내에 네트워크 흐름 장치를 추가합니다.
device_name : flow_device1
ktranslate
서비스를 다시 시작하여 변경 사항을 snmp-base.yaml
파일에 적용합니다.
$ sudo systemctl restart ktranslate
뉴렐릭 네트워크 성능 모니터링 UI 에서 네트워크 흐름 데이터를 조사합니다.
측정항목 찾기 및 사용 ktranslate
컨테이너에서 내보낸 모든 네트워크 흐름 로그는 New Relic Event API 를 통해 KFlow
네임스페이스를 사용합니다. 현재 이 통합으로 채워진 기본 필드는 다음과 같습니다.
KFlow 필드 기인하다
유형
설명
application
문자열
이 흐름 레코드에서 트래픽을 생성하는 프로그램의 클래스입니다. 이것은 l4_dst_port
및 l4_src_port
에서 가장 낮은 숫자 값에서 파생됩니다. 일반적인 예로는 http
, ssh
및 ftp
가 있습니다.
device_name
문자열
이 흐름 레코드에 대한 샘플링 장치의 표시 이름입니다.
dst_addr
문자열
이 흐름 레코드의 대상 IP 주소입니다.
dst_as
숫자
대상 [자율 시스템 번호](https://www.iana.org/locationments/ as-numbers/as-numbers.xhtml) 이 흐름 기록의 경우.
dst_as_name
문자열
대상 [자율 시스템 이름](https://www.iana.org/Assignments/ as-numbers/as-numbers.xhtml) 이 흐름 기록의 경우.
dst_endpoint
문자열
이 흐름 레코드의 대상 IP:Port
튜플입니다. 이것은 dst_addr
및 l4_dst_port
의 조합입니다.
dst_geo
문자열
알려진 경우 이 흐름 레코드의 대상 국가입니다.
in_bytes
숫자
수신 흐름 레코드에 대해 전송된 바이트 수입니다.
in_pkts
숫자
수신 흐름 레코드에 대해 전송된 패킷 수입니다.
input_port
숫자
If_Index
이 흐름 레코드의 소스에 있는 인터페이스 값입니다.
l4_dst_port
숫자
이 흐름 레코드의 대상 포트입니다.
l4_src_port
숫자
이 흐름 레코드의 소스 포트입니다.
output_port
숫자
If_Index
이 흐름 레코드의 대상에 있는 인터페이스 값입니다.
protocol
문자열
이 흐름 레코드에 사용된 프로토콜의 표시 이름은 [숫자 IANA 프로토콜 번호](https://www.iana.org/locationments/) 에서 파생됩니다. 프로토콜 번호/프로토콜 번호.xhtml).
provider
문자열
이 속성은 ktranslate
의 다양한 데이터 소스를 고유하게 식별하는 데 사용됩니다. 네트워크 흐름 로그는 항상 kentik-flow-device
값을 갖습니다.
sample_rate
숫자
샘플링 장치 구성 또는 ktranslate
의 sample_rate
인수에 의해 적용된 샘플링 속도입니다.
src_addr
문자열
이 흐름 레코드의 소스 IP 주소입니다.
src_as
숫자
출처 [자율 시스템 번호](https://www.iana.org/locationments/ as-numbers/as-numbers.xhtml) 이 흐름 기록의 경우.
src_as_name
문자열
출처 [자율시스템명](https://www.iana.org/Assignments/ as-numbers/as-numbers.xhtml) 이 흐름 기록의 경우.
src_endpoint
문자열
이 흐름 레코드의 소스 IP:Port
튜플입니다. src_addr
과 l4_src_port
의 조합입니다.
src_geo
문자열
알려진 경우 이 흐름 레코드의 소스 국가입니다.
tcp_flags
숫자
이 흐름 레코드의 TCP 플래그입니다.
timestamp
숫자
이 흐름 레코드가 New Relic Event API에서 수신된 시간(Unix 초)입니다.
다음은 뭐지? 네트워크 흐름 데이터를 보완하기 위해 몇 가지 추가 에이전트를 설정할 수 있습니다.