• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

네트워크 모니터링을 위한 고급 구성

네트워크 성능 모니터링을 구성할 때 사용할 수 있는 모든 옵션을 탐색하려면 다음 섹션을 참조하십시오.

SNMP 기반 YAML 샘플 파일

다음은 ktranslate 도커 이미지가 SNMP 및 흐름 데이터 기기를 폴링하는 데 사용하는 snmp-base.yaml 파일에서 사용할 수 있는 다양한 구성 옵션의 예입니다. GitHub의 ktranslate 리포지토리 에서 주석이 많이 달린 샘플을 볼 수도 있습니다.

devices:
# Sample of SNMP v2c device
ups_snmpv2c__10.10.0.201:
device_name: ups_snmpv2c
device_ip: 10.10.0.201
snmp_comm: public
oid: .1.3.6.1.4.1.318.1.3.27
description: "APC Web/SNMP Management Card (MB:v4.1.0 PF:v6.2.1 PN:apc_hw05_aos_621.bin AF1:v6.2.1 AN1:apc_hw05_sumx_621.bin MN:AP9537SUM HR:05 SN: ABC123DEF456 MD:05/21/2016) (Embedded PowerNet SNMP Agent SW v2.2 compatible)"
last_checked: 2021-11-09T18:14:59.907821489Z
mib_profile: apc_ups.yml
provider: kentik-ups
poll_time_sec: 300
retries: 1
timeout_ms: 5000
user_tags:
owning_team: dc_ops
discovered_mibs:
- PowerNet-MIB_UPS
- TCP-MIB
- UDP-MIB
# Sample of SNMP v3 device
router_snmpv3__10.10.0.202:
device_name: router_snmpv3
device_ip: 10.10.0.202
snmp_v3:
user_name: userNamev3
authentication_protocol: MD5
authentication_passphrase: authPassPrivacy
privacy_protocol: AES256
privacy_passphrase: passPrivacy
oid: .1.3.6.1.4.1.9.1.544
description: "Cisco IOS Software, 3800 Software (C3845-ADVENTERPRISEK9-M), Version
15.1(3)T4, RELEASE SOFTWARE (fc1)\r\nTechnical Support: http://www.cisco.com/techsupport\r\nCopyright
(c) 1986-2012 by Cisco Systems, Inc.\r\nCompiled Thu 24-May-12 04:27 by prod_rel_team"
last_checked: 2021-11-09T18:14:59.907821489Z
mib_profile: cisco-asr.yml
provider: kentik-router
user_tags:
owning_team: core-networking
discovered_mibs:
- BGP4-MIB
- CISCO-MEMORY-POOL-MIB
- CISCO-PROCESS-MIB
- IF-MIB
- OSPF-MIB
engine_id: "80:00:01:01:0a:14:1e:28"
match_attributes:
if_interface_name: "^Ten.*|^Gig.*"
"!if_Alias": "[Uu]plink"
# Sample of SNMP v1 device
netbotz_snmpv1__10.10.0.203:
device_name: netbotz_snmpv1
device_ip: 10.10.0.201
snmp_comm: public
use_snmp_v1: true
oid: .1.3.6.1.4.1.5528.100.20.10.2013
description: "Linux netbotz930A7A 2.6.12 #307 Wed Dec 29 15:25:32 EST 2010 ppc"
last_checked: 2021-11-09T18:14:59.907821489Z
mib_profile: apc-netbotz.yml
provider: kentik-netbotz
user_tags:
owning_team: sys_ops
discovered_mibs:
- IF-MIB
- IP-MIB
- TCP-MIB
- UDP-MIB
no_use_bulkwalkall: true
# Sample of "flow only" device
flow_only__10.10.0.210:
device_name: flow_only
device_ip: 10.10.0.210
user_tags:
owning_team: net_eng
flow_only: true
# Sample of "ping only" device
ping_only__10.10.0.220:
device_name: ping_only
device_ip: 10.10.0.220
user_tags:
owning_team: load_balancing
ping_only: true
ping_interval_sec: 5
# Sample of Arista eAPI device
arista_eapi_10.10.0.230:
device_name: arista_eapi
device_ip: 10.10.0.230
snmp_comm: public
oid: .1.3.6.1.4.1.30065.1.3011.7020.3735.24.2878.2
description: "Arista Networks EOS version 4.22.9M running on an Arista
Networks DCS-7020SR-24C2"
last_checked: 2021-11-09T18:14:59.907821489Z
mib_profile: arista-switch.yml
provider: kentik-switch
discovered_mibs:
- ARISTA-BGP4V2-MIB
- ARISTA-QUEUE-MIB
- BGP4-MIB
- HOST-RESOURCES-MIB
- IF-MIB
ext:
eapi_config:
username: usernameAPI
password: passwordAPI
transport: https
port: 443
trap:
listen: 127.0.0.1:1620
community: public
version: ""
transport: ""
v3_config: null
discovery:
cidrs:
- 10.0.0.0/24
- 10.0.0.202/32
ignore_list:
- 10.0.0.98
- 10.0.0.99
debug: false
ports:
- 161
- 1161
default_communities:
- public
- public123
- Publ!cABC
use_snmp_v1: false
default_v3: null
add_mibs: true
threads: 4
add_devices: true
replace_devices: true
no_dedup_engine_id: false
check_all_ips: false
global:
poll_time_sec: 60
drop_if_outside_poll: false
mib_profile_dir: /etc/ktranslate/profiles
mibs_db: /etc/ktranslate/mibs.db
mibs_enabled:
- ARISTA-BGP4V2-MIB
- ARISTA-QUEUE-MIB
- BGP4-MIB
- CISCO-MEMORY-POOL-MIB
- CISCO-PROCESS-MIB
- HOST-RESOURCES-MIB
- IF-MIB
- OSPF-MIB
- PowerNet-MIB_UPS
timeout_ms: 3000
retries: 0
global_v3: null
response_time: false
user_tags:
environment: production
match_attributes:
if_Description: ".*WAN.*"

선택적 외부 구성 파일

다양한 구성 및 자동화 요구 사항을 지원하기 위해 Docker 컨테이너에 볼륨 마운트하는 외부 파일을 사용하여 표준 구성 파일의 특정 요소를 분리할 수 있습니다.

이러한 파일의 구문은 큰따옴표를 포함하여 "@fileName.extension" 입니다.

디스커버리 CIDR

예시:

discovery:
cidrs: "@cidrs.yaml"

CIDR 파일은 다음과 같은 YAML 목록 구문을 사용해야 합니다.

- 10.10.0.0/24
- 10.20.0.0/24
- 192.168.0.21/32

장치

예시:

devices:
- "@neteng-devices.yaml"
- "@dc-ops.yaml"

기기 파일은 기본 구성 파일의 표준 devices 섹션과 동일한 구문을 사용해야 하며 검색 중에 생성되는 선택적 필드는 생략해야 합니다.

devices:
# Sample of SNMP v2c device
ups_snmpv2c__10.10.0.201:
device_name: ups_snmpv2c
device_ip: 10.10.0.201
snmp_comm: public
oid: .1.3.6.1.4.1.318.1.3.27
mib_profile: apc_ups.yml
provider: kentik-ups
poll_time_sec: 300
retries: 1
timeout_ms: 5000
user_tags:
owning_team: dc_ops

SNMPv3 - AWS 비밀

ktranslate 에는 SNMPv3 구성에 사용할 AWS Secrets Manager 에서 키 검색을 지원하는 기능이 내장되어 있습니다.

이 기능을 사용하려면 다음 3가지 환경 변수를 설정하고 런타임 시 Docker에 제공해야 합니다.

이름

설명

AWS_ACCESS_KEY_ID

사용자를 인증하기 위한 자격 증명의 일부로 사용되는 AWS 액세스 키를 지정합니다.

AWS_SECRET_ACCESS_KEY

사용자를 인증하기 위한 자격 증명의 일부로 사용되는 AWS 보안 키를 지정합니다.

AWS_REGION

이 프로필을 사용하여 요청된 명령에 대한 요청을 보낼 AWS 리전을 지정합니다.

Docker 런타임의 예:

bash
$
docker run -d --name ktranslate-snmp --restart unless-stopped --net=host \
>
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
>
-e AWS_ACCESS_KEY_ID=$YOUR_AWS_ACCESS_KEY_ID \
>
-e AWS_SECRET_ACCESS_KEY=$YOUR_AWS_SECRET_ACCESS_KEY \
>
-e AWS_REGION=$YOUR_AWS_REGION \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
>
-log_level=info \
>
-metrics=jchf \
>
-tee_logs=true \
>
nr1.snmp

연결된 구성 파일( snmp-base.yaml )에서 다음과 같이 SNMPv3 구성 스니펫을 업데이트하고 비밀 이름에 aws.sm. 접두사를 붙입니다.

default_v3:
user_name: aws.sm.SECRET_NAME_1
authentication_protocol: MD5
authentication_passphrase: aws.sm.SECRET_NAME_2
privacy_protocol: AES256
privacy_passphrase: aws.sm.SECRET_NAME_3

값별로 전용 비밀을 생성해야 합니다. 위의 예에는 세 가지 고유한 비밀 이름이 사용 중입니다.

여러 SNMP v3 프로필로 검색 실행

여러 SNMP v3 프로필로 검색 작업 실행을 지원하려면 discovery.default_v3 키를 SNMPv3 구성 의 배열을 보유하는 discovery.other_v3s 키로 바꿀 수 있습니다.

other_v3s:
- user_name: test1
authentication_protocol: MD5
authentication_passphrase: authPass1
privacy_protocol: AES256
privacy_passphrase: privacyPass1
context_engine_id: ""
context_name: ""
- user_name: test2
authentication_protocol: SHA
authentication_passphrase: authPass2
privacy_protocol: DES
privacy_passphrase: privacyPass2
context_engine_id: ""
context_name: ""

match_attributes 속성

관찰 가능성 요구 사항에 대한 값을 생성하지 않는 데이터 필터링을 지원하기 위해 global.match_attributes.{} 및/또는 devices.<deviceName>.match_attributes.{} 속성 맵을 설정할 수 있습니다.

이것은 데이터를 New Relic으로 보내기 전에 ktranslate 수준에서 필터링을 제공하여 인터페이스와 같은 모니터링에 대한 세부적인 제어를 제공합니다.

이 맵의 기본 동작은 OR 조건이지만 키 이름에 ! 접두사를 추가하여 이 조건을 재정의하고 AND 연산자를 강제 실행할 수 있습니다. 이는 일치하는 항목만 반환하고 모든 null"" (빈) 결과를 생략하는 데에도 유용합니다.

flow_only 속성

성능 통계에 액세스할 수 없거나 사용 가능하거나 원하는 기기의 모니터링을 지원하려면 devices.<deviceName>.flow_only 속성을 true 로 설정할 수 있습니다.

그러면 KFlow 이벤트 네임스페이스에 원격 분석만 있는 Flow Device 항목이 생성됩니다. 또는 구성 파일에 있는 장치에서 SNMP 장치로 흐름 원격 측정을 수집하면 라우터 또는 방화벽 과 같은 기존 엔티티에 KFlow 데이터 장식이 추가됩니다.

New Relic에서 다음 이벤트를 조사하여 이 폴링의 결과를 볼 수 있습니다.

FROM KFlow SELECT count(*) FACET device_name WHERE instrumentation.name = 'netflow-events' TIMESERIES

response_timeping_only 속성

성능 통계에 액세스할 수 없거나 사용할 수 없는 기기의 모니터링을 지원하거나 기본 RTT(왕복 시간) 모니터링이 필요한 간단한 경우에 global.response_time 또는 devices.<deviceName>.ping_only 속성을 true 로 설정할 수 있습니다.

이 기능은 평균, 최소, 최대 및 stddev RTT(왕복 시간)를 수집하기 위해 go-ping 패키지를 사용하여 권한이 없는 UDP 패킷을 장치에 보냅니다. 이 패키지는 또한 ktranslate 에서 기기 IP 주소로 초당 1개의 패킷을 보내는 것을 기반으로 하는 엔드포인트의 패킷 손실 비율을 표시합니다. 이는 devices.<deviceName>.ping_interval_sec 속성을 설정하여 재정의할 수 있습니다. Docker 런타임 중에 KENTIK_PING_PRIV=true 환경 변수를 설정하여 권한 있는 ICMP 패킷의 사용을 활성화할 수 있습니다.

global.response_time 속성을 true 로 설정하면 기존 SNMP 폴링 위에 RTT 모니터링이 추가됩니다. RTT용 UDP|ICMP 패킷만 있고 SNMP 폴링이 없는 장치를 모니터링하려면 devices.<deviceName>.ping_only: true 를 사용합니다.

New Relic에서 다음 지표를 조사하여 이 폴링의 결과를 볼 수 있습니다.

FROM Metric SELECT average(kentik.ping.AvgRttMs) AS 'Average', max(kentik.ping.MaxRttMs) AS 'Max', min(kentik.ping.MinRttMs) AS 'Min', average(kentik.ping.StdDevRtt) AS 'StdDev', latest(kentik.ping.PacketLossPct) AS 'Packet Loss %' FACET device_name

흐름 기기에서 RTT 측정항목을 수집하려는 경우 flow_only 속성 대신 ping_only 속성을 사용할 수 있습니다. ping_onlyflow_only 이 모두 true 이면 기기는 flow_only 기기로 처리됩니다.

플로우 데이터 애플리케이션 매핑

기본적으로 흐름 원격 분석은 특정 흐름 대화에서 사용 중인 계층 4 포트의 평가를 기반으로 알려진 애플리케이션에 매핑됩니다. 필요한 경우 Docker 런타임 중에 -application_map 플래그에 YAML 파일을 제공하여 기본 매핑을 재정의할 수 있습니다. 이렇게 하면 식별한 포트를 기반으로 애플리케이션 이름을 지정할 수 있습니다.

구문 예:

applications:
- ports: [9092, 9093]
name: kafka
- ports: [80, 8080]
name: http
- ports: [443, 8443]
name: https

플로우 데이터 입력 필터링

기본적으로 흐름 데이터 컨테이너는 수신하는 모든 흐름 패킷을 수집하고 처리합니다. 필요한 경우 -nf.source 플래그에 포함 필터를 추가하여 제공한 필터와 일치하지 않는 모든 트래픽을 무시할 수 있습니다.

통사론: --filters $TYPE,$FIELD,$FUNCTION,$MATCH

인수 이름

필수의

설명

$TYPE

적용할 필터의 유형입니다. 가능한 값은 string , intaddr 입니다.

$필드

일치 패턴을 평가할 필드의 이름입니다.

$FUNCTION

평가 중에 사용할 함수 유형입니다. 가능한 값은 Equal: == , NotEqual: != , LessThan: < , GreaterThan: > , Contains: %

$MATCH

일치 패턴으로 사용할 값입니다.

예제 필터

  • 10.0.0.0/24 CIDR 범위의 소스 주소에서만 흐름 데이터를 수집합니다.
-nf.source sflow --filters addr,src_addr,%,10.10.0.0/24
  • 대상 포트가 다음과 같지 않은 흐름 데이터만 수집합니다. 8531
-nf.source netflow5 --filters int,l4_dst_port,!=,8531

상속된 AND 연산자와 함께 여러 필터를 추가할 수도 있습니다.

  • 10.0.0.0/24 CIDR 범위에 있고 대상 포트가 다음과 같지 않은 소스 주소에서만 흐름 데이터를 수집합니다. 8531
--filters addr,src_addr,%,10.0.0.0/24 --filters int,l4_dst_port,!=,8531
Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.