Zbieranie danych pułapki SNMP za pomocą agenta usługi Azure Monitor
Simple Network Management Protocol (SNMP) to powszechnie wdrożony protokół zarządzania do monitorowania i konfigurowania urządzeń i urządzeń z systemem Linux. W tym artykule opisano sposób zbierania danych pułapki SNMP i wysyłania ich do obszaru roboczego usługi Log Analytics przy użyciu agenta usługi Azure Monitor.
Dane SNMP można zbierać na dwa sposoby:
- Sondy — system zarządzający sonduje agenta SNMP w celu zbierania wartości dla określonych właściwości. Sondy są najczęściej używane do wykrywania kondycji stanowej i zbierania metryk wydajności.
- Pułapki — agent SNMP przekazuje zdarzenia lub powiadomienia do systemu zarządzającego. Pułapki są najczęściej używane jako powiadomienia o zdarzeniach.
Agent usługi Azure Monitor nie może bezpośrednio zbierać danych SNMP, ale te dane można wysyłać do jednego z następujących źródeł danych, które może zbierać agent usługi Azure Monitor:
- Dziennik systemowy. Dane są przechowywane w
Syslog
tabeli przy użyciu innych danych dziennika systemowego zebranych przez agenta usługi Azure Monitor. - Plik tekstowy. Dane są przechowywane w utworzonej tabeli niestandardowej. Za pomocą przekształcenia można analizować dane i przechowywać je w formacie ustrukturyzowanym.
Wymagania wstępne
Obszar roboczy usługi Log Analytics, w którym masz co najmniej prawa współautora.
Pliki bazy informacji zarządzania (MIB) dla monitorujących urządzeń.
SnMP identyfikuje monitorowane właściwości przy użyciu wartości identyfikatora obiektu (OID), które są zdefiniowane i opisane w plikach MIB dostarczonych przez dostawcę. Dostawca urządzenia zazwyczaj udostępnia pliki MIB. Jeśli nie masz plików MIB, możesz znaleźć pliki dla wielu dostawców w witrynach internetowych innych firm. Niektórzy dostawcy utrzymują jeden miB dla wszystkich urządzeń, podczas gdy inni mają setki plików MIB.
Umieść wszystkie pliki MIB dla każdego urządzenia, które wysyła pułapki SNMP w
/usr/share/snmp/mibs
programie , domyślny katalog dla plików MIB. Umożliwia to rejestrowanie pól pułapki SNMP z znaczącymi nazwami zamiast identyfikatorów OID. Aby poprawnie załadować plik MIB, snmptrapd musi załadować wszystkie zależne mib. Pamiętaj, aby sprawdzić plik dziennika snmptrapd po załadowaniu baz danych MIB, aby upewnić się, że nie ma brakujących zależności podczas analizowania plików MIB.Serwer z systemem Linux z odbiornikiem pułapki SNMP.
W tym artykule użyto snmptrapd, odbiornika pułapki SNMP z agenta Net-SNMP , który zapewnia większość dystrybucji systemu Linux. Istnieje jednak wiele innych usług odbiornika snMP pułapek, których można użyć. Ważne jest, aby odbiornik pułapki SNMP mógł załadować pliki MIB dla środowiska, aby właściwości w komunikacie pułapki SNMP miały znaczące nazwy zamiast identyfikatorów OID.
Procedura konfiguracji snmptrapd może się różnić w zależności od dystrybucji systemu Linux. Aby uzyskać więcej informacji na temat konfiguracji snmptrapd, w tym wskazówki dotyczące konfigurowania uwierzytelniania SNMP w wersji 3, zobacz dokumentację net-SNMP.
Konfigurowanie opcji i formatu dziennika odbiornika pułapki
Aby skonfigurować odbiornik snmptrapd trap na serwerze Red Hat Enterprise Linux 7 lub Oracle Linux 7:
Zainstaluj i włącz 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
Autoryzuj ciągi społeczności (ciągi uwierzytelniania SNMP v1 i v2) i zdefiniuj format pułapek zapisanych w pliku dziennika:
Otwórz plik
snmptrapd.conf
:sudo vi /etc/snmp/snmptrapd.conf
Dodaj następujące wiersze do
snmptrapd.conf
pliku:# 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
Uwaga
Snmptrapd dzienniki zarówno pułapki, jak i komunikaty demona — na przykład zatrzymywanie i uruchamianie usługi — do tego samego pliku dziennika. W powyższym przykładzie zdefiniowaliśmy format dziennika, aby rozpocząć od słowa "snmptrap", aby ułatwić filtrowanie fragmentów kodu z dziennika później.
Konfigurowanie odbiornika pułapki w celu wysyłania danych pułapki do dziennika systemowego lub pliku tekstowego
Aby edytować konfigurację zachowania danych wyjściowych snmptrapd:
/etc/snmp/snmptrapd.conf
Otwórz plik:sudo vi /etc/sysconfig/snmptrapd
Skonfiguruj miejsce docelowe danych wyjściowych, takie jak w następującej przykładowej konfiguracji:
# snmptrapd command line options # '-f' is implicitly added by snmptrapd systemd unit file # OPTIONS="-Lsd" OPTIONS="-m ALL -Ls2 -Lf /var/log/snmptrapd"
Opcje w tej przykładowej konfiguracji to:
-m ALL
- Załaduj wszystkie pliki MIB w katalogu domyślnym.-Ls2
- Pułapki wyjściowe do dziennika systemowego, do obiektu Local2.-Lf /var/log/snmptrapd
- Rejestruje pułapki do/var/log/snmptrapd
pliku.
Uwaga
Aby uzyskać więcej informacji na temat ustawiania opcji wyjściowych i sposobu ustawiania opcji formatowania, zobacz dokumentację protokołu Net-SNMP.
Zbieranie pułapek SNMP przy użyciu agenta usługi Azure Monitor
W zależności od tego, gdzie wysłano zdarzenia SNMP, skorzystaj ze wskazówek w jednym z następujących elementów, aby zebrać dane za pomocą agenta usługi Azure Monitor:
- Zbieranie zdarzeń dziennika systemowego za pomocą agenta usługi Azure Monitor
- Zbieranie dzienników z pliku tekstowego za pomocą agenta usługi Azure Monitor
Następne kroki
Dowiedz się więcej na następujące tematy:
- Agent usługi Azure Monitor.
- Reguły zbierania danych.
- Najlepsze rozwiązania dotyczące zarządzania kosztami w usłudze Azure Monitor.