Udostępnij za pośrednictwem


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.

Diagram przedstawiający zbieranie danych SNMP przez wysłanie ich do dziennika systemowego lub pliku tekstowego, który jest następnie zbierany przez agenta usługi Azure Monitor.

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/mibsprogramie , 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:

  1. 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
    
  2. Autoryzuj ciągi społeczności (ciągi uwierzytelniania SNMP v1 i v2) i zdefiniuj format pułapek zapisanych w pliku dziennika:

    1. Otwórz plik snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. 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:

  1. /etc/snmp/snmptrapd.conf Otwórz plik:

    sudo vi /etc/sysconfig/snmptrapd
    
  2. 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:

Następne kroki

Dowiedz się więcej na następujące tematy: