Zbieranie danych pułapki SNMP za pomocą agenta usługi Azure Monitor

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Simple Network Management Protocol (SNMP) to szeroko wdrożony protokół zarządzania do monitorowania i konfigurowania urządzeń i urządzeń z systemem Linux.

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.
  • Pułapki — agent SNMP przekazuje zdarzenia lub powiadomienia do systemu zarządzającego.

Pułapki są najczęściej używane jako powiadomienia o zdarzeniach, a sondy są bardziej odpowiednie do wykrywania kondycji stanowej i zbierania metryk wydajności.

Agent usługi Azure Monitor umożliwia zbieranie pułapek SNMP jako zdarzeń dziennika systemowego lub zdarzeń zarejestrowanych w pliku tekstowym.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Konfigurowanie opcji i formatu dziennika odbiornika pułapki
  • Konfigurowanie odbiornika pułapki do wysyłania pułapek do pliku syslog lub pliku tekstowego
  • Zbieranie pułapek SNMP przy użyciu agenta usługi Azure Monitor

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • 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.

    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.

    Niektórzy dostawcy utrzymują jeden miB dla wszystkich urządzeń, podczas gdy inni mają setki plików MIB. 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żywamy 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ć.

    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.

    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.

Konfigurowanie opcji i formatu dziennika odbiornika pułapki

Aby skonfigurować odbiornik snmptrapd trap na serwerze CentOS 7, Red Hat Enterprise Linux 7, 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

Istnieją dwa sposoby wysyłania snmptrapd pułapki SNMP do agenta usługi Azure Monitor:

  • Przekazywanie przychodzących pułapek do dziennika systemowego, które można ustawić jako źródło danych dla agenta usługi Azure Monitor.

  • Zapisz komunikaty dziennika systemowego w pliku, który agent usługi Azure Monitor może przeanalizować i tailse . Ta opcja umożliwia wysyłanie pułapek SNMP jako nowego typu danych zamiast wysyłania jako zdarzeń dziennika systemowego.

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.

    Oto przykładowa konfiguracja:

    # 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

Jeśli skonfigurowano snmptrapd do wysyłania zdarzeń do dziennika systemowego, wykonaj kroki opisane w temacie Zbieranie zdarzeń i liczników wydajności za pomocą agenta usługi Azure Monitor. Upewnij się, że podczas definiowania reguły zbierania danych dla agenta usługi Azure Monitor wybrano pozycję Dziennik systemu Linux jako źródło danych.

Jeśli skonfigurowano snmptrapd do zapisywania zdarzeń w pliku, wykonaj kroki opisane w artykule Zbieranie dzienników tekstowych za pomocą agenta usługi Azure Monitor.

Następne kroki

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