안내된 설치 프로세스를 사용하여 SNMP 모니터링 에이전트를 설치하거나 에이전트를 수동으로 설치할 수 있습니다. 이 문서에서는 설치 프로세스를 시작하기 위한 전제 조건과 설치 옵션의 단계별 안내를 다룹니다.
전제 조건
시작하기 전에 New Relic 계정에 가입 해야 합니다. 에이전트를 수동으로 설치하도록 선택한 경우 다음도 필요합니다.
New Relic 계정 ID .
New Relic
.
SNMP 모니터링용 에이전트를 배포하려면 Docker 컨테이너를 사용하는 것이 좋습니다. 이를 사용하려면 다음이 필요합니다.
- Linux 호스트에 설치된 Docker
- 명령줄을 통해 새 컨테이너를 시작하는 기능
Linux를 사용하여 에이전트를 서비스로 설치하는 경우 다음이 필요합니다.
호스트에 대한 SSH 액세스
애플리케이션 및 서비스 설치/제거에 대한 액세스
지원되는 운영 체제 중 하나:
- 센트OS 7
- 센트OS 8
- 데비안 12(책벌레)
- 데비안 11(불스아이)
- 데비안 10(버스터)
- 레드햇 엔터프라이즈 리눅스 9
- 우분투 20.04(포컬 LTS)
- 우분투 22.04(제미 LTS)
- 우분투 23.04(음력)
중요
SNMP 트랩을 수신하려면 에이전트가 UDP 162에 바인딩되어야 합니다. 호스트 기반 설치에서는 설치 프로세스 중에 다음 명령이 포함됩니다. 실행되면 KTranslate는 높은 권한으로 실행됩니다.
sudo setcap cap_net_bind_service=+ep /usr/bin/ktranslate
SNMP에 대한 네트워크 보안 전제 조건을확인하십시오.
지원되는 SNMP 버전
당사의 네트워크 모니터링 컨테이너는 Traps 및 Informs를 포함하여 모든 주요 버전의 SNMP(v1, v2c 및 v3)를 지원합니다. 또한 SNMP v3은 다음과 같은 인증 및 개인 정보 보호 설정을 지원합니다.
환경 | 규약 |
---|---|
입증 |
|
입증 |
|
입증 |
|
입증 |
|
입증 |
|
입증 |
|
입증 |
|
은둔 |
|
은둔 |
|
은둔 |
|
은둔 |
|
은둔 |
|
은둔 |
|
은둔 |
|
팁
SNMP와 함께 읽기 전용 커뮤니티 문자열/인증을 사용하는 것이 좋습니다.
New Relic에서 SNMP 데이터 모니터링 설정
안내된 설치 프로세스에 설명된 단계를 따르세요. Docker나 Linux를 사용할 수 있습니다.
one.newrelic.com > 모든 기능 > Add more data > Network > SNMP 사용하여 SNMP 데이터 모니터링을 설정합니다.
New Relic에서 네트워크 성능 데이터를 조사하세요. UI.
SNMP 에이전트를 수동으로 설치하는 방법을 읽기 전에 안내된 설치 프로세스를 사용하여 오류를 방지하는 것이 좋습니다.
이 수동 설치 프로세스를 따르는 경우 문제가 발생해도 지원을 받지 못할 수 있습니다. 계속 진행하려면 다음을 수행하십시오.
Docker가 설치된 Linux 호스트에서 다음 중 하나를 실행하여 ktranslate 이미지를 다운로드합니다.
snmp-base.yaml
파일을 Docker 사용자의 로컬 $HOME
디렉토리에 복사하고 다음을 실행하여 컨테이너를 삭제합니다.
$cd .$id=$(docker create kentik/ktranslate:v2)$docker cp $id:/etc/ktranslate/snmp-base.yaml .$docker rm -v $id
snmp-base.yaml
파일을 편집하고 discovery.cidrs
및 discovery.default_communities
속성을 네트워크에 적절한 값으로 정의합니다.
팁
검색된 모든 MIB를 global.mibs_enabled
속성에 자동으로 추가하려면 discovery.add_mibs: true
설정하는 것이 좋습니다. 또한 보안 상태가 강화된 기기 에서 검색 문제를 방지하려면 discovery.check_all_ips: true
설정하는 것이 좋습니다. SNMP 트랩을 수집하려는 경우 기본값인 listener: 127.0.0.1:1620
) 다음으로 변경하는 것이 좋습니다. listener: 0.0.0.0:1620
네트워크 모니터링 에이전트를 시작하여 대상 장치를 폴링하고 들어오는 SNMP 트랩 메시지를 수신합니다. $CONTAINER_SERVICE
컨테이너의 고유한 이름으로 바꾸고$YOUR_NR_LICENSE_KEY
및 $YOUR_NR_ACCOUNT_ID
를 원하는 값으로 바꿉니다.
$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \> -snmp /snmp-base.yaml \> -nr_account_id=$YOUR_NR_ACCOUNT_ID \> -metrics=jchf \> -tee_logs=true \> -service_name=$CONTAINER_SERVICE \> -snmp_discovery_on_start=true \> -snmp_discovery_min=180 \> nr1.snmp
New Relic에서 네트워크 성능 데이터를 조사하세요. UI.
SNMP 트랩에 대한 선택적 설치
어떤 상황에서는 SNMP 트랩 메시지 모음을 전용 컨테이너로 격리하는 것이 좋습니다. 이는 대규모 환경에서 규모를 제어하고 컨테이너가 실패할 경우 전체 중단 위험을 낮추면서 분산 모니터링 공간을 만드는 데 도움이 됩니다.
Docker가 설치된 Linux 호스트에서 선택한 텍스트 편집기를 사용하여 컨테이너를 실행하는 데 사용할 구성 파일을 만듭니다.
vim을 사용한 예:
$sudo vim traps-base.yaml
파일 내용:
devices: {}trap: listen: '0.0.0.0:1620'discovery: {}global: poll_time_sec: 300 timeout_ms: 30000
기본적으로 컨테이너는 소스 IP 주소를 New Relic의 장치 이름으로 사용합니다. 구성 파일에서 장치를 수동으로 매핑하여 이를 제어할 수 있습니다.
devices: trap_source_host: # Note: this YAML key needs to be unique for every device entry device_name: $YOUR_DEVICE_NAME device_ip: $YOUR_DEVICE_SOURCE_IP provider: kentik-trap-devicetrap: listen: '0.0.0.0:1620'discovery: {}global: poll_time_sec: 300 timeout_ms: 30000
팁
런타임에 -dns 컨테이너 인수를 제공하여 장치 이름을 제어할 수도 있습니다. 이렇게 하면 컨테이너가 소스 IP 주소에서 조회를 실행하고 이름 확인을 시도할 수 있습니다.
들어오는 SNMP 트랩 메시지를 수신하려면 네트워크 모니터링 에이전트를 시작하십시오. $CONTAINER_SERVICE
컨테이너의 고유한 이름으로 바꾸고$YOUR_NR_LICENSE_KEY
및 $YOUR_NR_ACCOUNT_ID
를 원하는 값으로 바꿉니다.
$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \> -v `pwd`/traps-base.yaml:/snmp-base.yaml \> -e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \> -snmp /snmp-base.yaml \> -nr_account_id=$YOUR_NR_ACCOUNT_ID \> -metrics=jchf \> -tee_logs=true \> -service_name=$CONTAINER_SERVICE$ nr1.snmp
그러면 $HOST_IP:162
에서 SNMP 트랩 메시지를 수신하는 컨테이너가 시작됩니다. 여기서 $HOST_IP
Docker 호스트의 IP 주소입니다.
KSnmpTrap
이벤트 유형을 쿼리하여 New Relic에서 결과를 조사합니다.
FROM KSnmpTrap SELECT *
팁
SNMP 트랩 메시지는 소스 장치에 의해 생성된 이벤트라는 점을 기억하는 것이 중요합니다. New Relic에 메시지가 표시되지 않으면 장치가 실제로 메시지를 생성했는지 확인하세요. 샘플 메시지 전송에 대한 공급업체 문서는 다양하지만 Docker 호스트에서 snmptrap을 사용하여 다음과 같은 테스트 메시지를 보낼 수 있습니다.
$snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
무엇 향후 계획
SNMP 데이터를 보완하기 위해 더 많은 에이전트를 설정할 수 있습니다.
- 네트워크가 어떻게 사용되는지 더 잘 파악하려면네트워크 흐름 데이터 모니터링을 설정하세요.
- 장치에서 시스템 메시지에 대한 통찰력을 얻으려면 네트워크 syslog 수집을 설정 하십시오.