Azure Monitor 에이전트를 사용하여 SNMP 트랩 데이터 수집
SNMP(Simple Network Management Protocol)는 Linux 디바이스 및 어플라이언스를 모니터링하고 구성하기 위한 널리 배포된 관리 프로토콜입니다. 이 문서에서는 Azure Monitor 에이전트를 사용하여 SNMP 트랩 데이터를 수집하고 Log Analytics 작업 영역으로 보내는 방법을 설명합니다.
다음 두 가지 방법으로 SNMP 데이터를 수집할 수 있습니다.
- 설문 조사 - 관리 시스템은 특정 속성에 대한 값을 수집하기 위해 SNMP 에이전트를 폴링합니다. 설문 조사는 상태 저장 상태 검색 및 성능 메트릭 수집에 가장 자주 사용됩니다.
- 트랩 - SNMP 에이전트는 관리 시스템에 이벤트 또는 알림을 전달합니다. 트랩은 이벤트 알림으로 가장 자주 사용됩니다.
Azure Monitor 에이전트는 SNMP 데이터를 직접 수집할 수 없고, Azure Monitor 에이전트가 수집할 수 있는 다음 데이터 원본 중 하나로 이 데이터를 보낼 수 있습니다.
- Syslog. 데이터는 Azure Monitor 에이전트에서 수집한 다른 syslog 데이터와 함께
Syslog
테이블에 저장됩니다. - 텍스트 파일. 데이터는 사용자가 만든 사용자 지정 테이블에 저장됩니다. 변환을 사용하여 데이터를 구문 분석하고 구조화된 형식으로 저장할 수 있습니다.
필수 조건
최소한 기여자 권한이 있는 Log Analytics 작업 영역.
모니터링하는 디바이스에 대한 MIB(관리 정보 데이터베이스) 파일입니다.
SNMP는 공급업체에서 제공하는 MIB 파일에 정의되고 설명된 OID(개체 식별자) 값을 사용하여 모니터링되는 속성을 식별합니다. 디바이스 공급업체는 일반적으로 MIB 파일을 제공합니다. MIB 파일이 없는 경우 타사 웹 사이트에서 많은 공급업체의 파일을 찾을 수 있습니다. 일부 공급업체는 모든 디바이스에 대해 단일 MIB를 유지 관리하는 반면, 다른 공급업체에는 수백 개의 MIB 파일이 보유합니다.
SNMP 트랩을 보내는 각 디바이스에 대한 모든 MIB 파일을 MIB 파일의 기본 디렉터리인
/usr/share/snmp/mibs
에 배치합니다. 이렇게 하면 OID 대신 의미 있는 이름으로 SNMP 트랩 필드를 로깅할 수 있습니다. MIB 파일을 올바르게 로드하려면 snmptrapd에서 모든 종속 MIB를 로드해야 합니다. MIB 파일을 구문 분석할 때 누락된 종속성이 없도록 MIB를 로드한 후 snmptrapd 로그 파일을 검사합니다.SNMP 트랩 수신기가 있는 Linux 서버입니다.
이 문서에서는 대부분의 Linux 배포판이 제공하는 Net-SNMP 에이전트의 SNMP 트랩 수신기인 snmptrapd를 사용합니다. 그러나 사용할 수 있는 다른 많은 SNMP 트랩 수신기 서비스가 있습니다. SNMP 트랩 메시지의 속성에 OID 대신 의미 있는 이름이 갖도록 사용하는 SNMP 트랩 수신기가 사용자 환경에 대한 MIB 파일을 로드할 수 있어야 합니다.
snmptrapd 구성 프로시저는 Linux 배포판마다 다를 수 있습니다. SNMP v3 인증 구성에 대한 지침을 포함하여 snmptrapd 구성에 대한 자세한 내용은 Net-SNMP 설명서를 참조하세요.
트랩 수신기 로그 옵션 및 형식 설정
Red Hat Enterprise Linux 7 또는 Oracle Linux 7 서버에서 snmptrapd 트랩 수신기를 설정하려면 다음을 수행합니다.
다음과 같이 snmptrapd를 설치하고 사용하도록 설정합니다.
#Install the SNMP agent sudo yum install net-snmp #Enable the service sudo systemctl enable snmptrapd #Allow UDP 162 through the firewall sudo firewall-cmd --zone=public --add-port=162/udp --permanent
커뮤니티 문자열(SNMP v1 및 v2 인증 문자열)에 권한을 부여하고 로그 파일에 기록된 트랩의 형식을 정의합니다.
다음과 같이
snmptrapd.conf
를 엽니다.sudo vi /etc/snmp/snmptrapd.conf
snmptrapd.conf
파일에 다음과 같은 줄을 추가합니다.# Allow all traps for all OIDs, from all sources, with a community string of public authCommunity log,execute,net public # Format logs for collection by Azure Monitor Agent format2 snmptrap %a %B %y/%m/%l %h:%j:%k %N %W %q %T %W %v \n
참고 항목
snmptrapd는 트랩 및 디먼 메시지(예: 서비스 중지 및 시작)를 동일한 로그 파일에 로그합니다. 위의 예제에서는 나중에 로그에서 snmptraps를 쉽게 필터링할 수 있도록 "snmptrap"이라는 단어로 시작하도록 로그 형식을 정의했습니다.
트랩 데이터를 syslog 또는 텍스트 파일로 보내도록 트랩 수신기 구성
snmptrapd의 출력 동작 구성을 편집하려면 다음을 수행합니다.
다음과 같이
/etc/snmp/snmptrapd.conf
파일을 엽니다.sudo vi /etc/sysconfig/snmptrapd
다음 예제 구성과 같이 출력 대상을 구성합니다.
# snmptrapd command line options # '-f' is implicitly added by snmptrapd systemd unit file # OPTIONS="-Lsd" OPTIONS="-m ALL -Ls2 -Lf /var/log/snmptrapd"
이 예제 구성의 옵션은 다음과 같습니다.
-m ALL
- 모든 MIB 파일을 기본 디렉터리에 로드합니다.-Ls2
- Syslog에 대한 트랩을 Local2 기능으로 출력합니다.-Lf /var/log/snmptrapd
-/var/log/snmptrapd
파일에 트랩을 로그합니다.
참고 항목
출력 옵션을 설정하는 방법 및 서식 옵션을 설정하는 방법에 대한 자세한 내용은 Net-SNMP 설명서를 참조하세요.
Azure Monitor 에이전트를 사용하여 SNMP 트랩 수집
SNMP 이벤트를 보낸 위치에 따라 다음 중 하나의 지침을 사용하여 Azure Monitor 에이전트에서 데이터를 수집합니다.
다음 단계
자세히 알아보기: