• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

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

네트워크 모니터링을 구성할 때 사용할 수 있는 모든 옵션을 살펴보려면 다음 섹션을 참조하세요.

snmp-base.yaml 샘플 파일

다음은 SNMP 및 플로우 데이터 장치를 폴링하기 위해 ktranslate Docker 이미지에서 사용하는 snmp-base.yaml 파일에서 사용할 수 있는 다양한 설정 옵션의 예입니다. 또한 GitHub의 KTranslate 저장소 에서 주석이 많이 달린 샘플을 볼 수도 있습니다.

# Configuration of every device monitored by this container
devices:
# Sample of SNMP v2c device
ups_snmpv2c__10.10.0.201:
device_name: ups_snmpv2c
device_ip: 10.10.0.201
snmp_comm: $YOUR_COMMUNITY_STRING
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
purge_after_num: 1
# 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: $YOUR_USER_NAME
authentication_protocol: $YOUR_AUTH_PROTOCOL
authentication_passphrase: $YOUR_AUTH_PASSPHRASE
privacy_protocol: $YOUR_PRIVACY_PROTOCOL
privacy_passphrase: $YOUR_PRIVACY_PASSPHRASE
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: $YOUR_COMMUNITY_STRING
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
provider: kentik-ping
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:
ext_only: false
eapi_config:
username: $YOUR_ARISTA_API_USERNAME
password: $YOUR_ARISTA_API_PASSWORD
transport: https
port: 443
# Sample of Meraki Dashboard API device
meraki_dashboard_api:
device_name: meraki_controller
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only: true
meraki_config:
api_key: $YOUR_MERAKI_API_KEY
monitor_devices: true
monitor_org_changes: true
monitor_uplinks: true
monitor_vpn_status: true
organizations:
- "Top Org.*"
networks:
- "Production"
- "Guest"
product_types:
- appliance
preferences:
device_status_only: true
hide_uplink_usage: false
show_vpn_peers: true
show_network_attr: true
# Configuration for receipt of SNMP Traps
trap:
listen: 0.0.0.0:1620
community: public
version: ""
transport: ""
v3_config: null
trap_only: false
drop_undefined: false
# Configuration for the SNMP discovery job
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:
- $YOUR_COMMUNITY_STRING_1
- $YOUR_COMMUNITY_STRING_2
- $YOUR_COMMUNITY_STRING_3
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: true
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.*"
purge_devices_after_num: 0

클라우드 제공업체 비밀

네트워크 모니터링 에이전트에는 AWS Secrets Manager, Azure Key VaultGCP Secret Manager 에서 키를 검색하는 기능이 기본적으로 지원됩니다.

중요

SNMPv1 및 SNMPv2c는 프로토콜 자체가 기본적으로 일반 텍스트를 통해 커뮤니티 문자열을 보내기 때문에 클라우드 비밀 사용을 지원하지 않습니다. SNMP 인증의 보안이 우려되는 경우 SNMPv3을 사용하도록 업데이트하세요.

SNMPv3 옵션

API 폴링 구성

API 인증 설정에서 클라우드 공급자 비밀을 사용할 수도 있습니다.

외부 구성 파일

다양한 설정 및 자동화 요구 사항을 지원하기 위해 docker 컨테이너에 볼륨 마운트하는 외부 파일을 사용하여 표준 설정 파일의 특정 요소를 분리할 수 있습니다. 외부 설정 파일당 하나의 인수와 함께 docker run 명령에 아래 마운트 인수를 포함해야 합니다.

-v `pwd`/fileName.yaml:/fileName.yaml \

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

match_attributes 속성

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

이는 데이터를 New Relic으로 전달하기 전에 ktranslate 수준에서 필터링을 제공하여 인터페이스와 같은 항목의 모니터링을 세부적으로 제어할 수 있게 해줍니다.

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

response_timeping_only 속성

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

이 기능은 평균, 최소, 최대 및 stddev 왕복 시간(RTT)을 수집하기 위해 go-ping 패키지를 사용하여 ICMP 또는 권한이 없는 UDP 패킷을 장치로 보냅니다. 또한 이 패키지는 ktranslate 에서 기기 IP 주소로 초당 1패킷 전송을 기준으로 엔드포인트에 대한 패킷 손실률을 보여줍니다. 이는 devices.[].ping_interval_sec 속성을 설정하여 재정의할 수 있습니다. Docker 런타임 중에 KENTIK_PING_PRIV=false 환경 변수를 설정하여 권한 있는 ICMP 패킷 또는 UDP의 기본 사용에서 전환할 수 있습니다.

global.response_time 속성을 true 로 설정하면 기존 SNMP 폴링 위에 RTT 모니터링이 추가됩니다. RTT용 UDP|ICMP 패킷만 있고 SNMP 폴링이 없는 장치를 모니터링하려면 devices.[].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 기기로 처리됩니다.

flow_only 속성

흐름 데이터만 수집하려는 기기의 모니터링을 지원하려면 devices.<deviceName>.flow_only 속성을 true 로 설정할 수 있습니다.

그러면 KFlow 이벤트 네임스페이스에 텔넷리만 포함하는 Flow Device 부분이 생성됩니다. 또는 설정 파일에 있는 장치에서 SNMP 장치로 흐름 텔레메트리를 수집하면 Router 또는 Firewall 와 같은 기존 구성요소에 KFlow 데이터 장식이 추가됩니다.

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

FROM KFlow SELECT *
WHERE instrumentation.name = 'netflow-events'

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

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

구문 예:

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

플로우 데이터 입력 필터링

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

사용자 정의 SNMP 프로필 자동 다시 로드

기본적으로 mib_profile_dir 경로의 SNMP 프로필에 대한 변경 사항을 통합하려면 ktranslate Docker 컨테이너를 수동으로 삭제하고 다시 빌드해야 합니다. Docker 이미지가 공개 snmp-profiles 대상 에서 사용 가능한 최신 프로필을 가져오므로 이는 대부분의 구현, 배포에서 일반적인 동작입니다. 사용자 정의 프로필을 제공하는 경우 이 설정을 사용하여 컨테이너가 컨테이너의 기본 구성 및 SNMP 프로필을 자동으로 새로 고치도록 할 수 있습니다.

중요

이는 감시자 라이브러리 의 제한으로 인해 재귀적이지 않습니다. 따라서 하위 디렉터리에서 프로필이 변경되면 변경 사항을 트리거하기 위해 최상위 파일도 편집해야 합니다.

다음 디렉토리 구조를 가정하면:

.
└── /snmp-profiles/
└── profiles/
└── kentik-snmp/
├── 3com
├── _general
├── a10networks
└── ...

이 새로 고침 주기를 트리거하려면 디렉터리 루트에 새 파일을 배치하고 수동으로 변경해야 합니다. 이를 구현하는 쉬운 방법은 변경사항이 제출될 때 last_updated.txt 과 같은 파일에 타임스탬프를 작성하는 것입니다.

.
└── /snmp-profiles/
├── last_updated.txt
└── profiles/
└── kentik-snmp/
├── 3com
├── _general
├── a10networks
└── ...
Copyright © 2024 New Relic Inc.

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