Share via


Samla in SNMP-trapdata med Azure Monitor Agent

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Simple Network Management Protocol (SNMP) är ett allmänt distribuerat hanteringsprotokoll för övervakning och konfigurering av Linux-enheter och -enheter.

Du kan samla in SNMP-data på två sätt:

  • Omröstningar – Hanteringssystemet avsöker en SNMP-agent för att samla in värden för specifika egenskaper.
  • Traps – En SNMP-agent vidarebefordrar händelser eller meddelanden till ett hanteringssystem.

Traps används oftast som händelsemeddelanden, medan avsökningar är lämpligare för tillståndskänslig hälsoidentifiering och insamling av prestandamått.

Du kan använda Azure Monitor Agent för att samla in SNMP-traps som syslog-händelser eller som händelser som loggas i en textfil.

I den här självstudien lär du dig att:

  • Konfigurera loggalternativ och format för trapmottagare
  • Konfigurera trapmottagaren för att skicka traps till syslog eller textfil
  • Samla in SNMP-traps med Hjälp av Azure Monitor-agenten

Förutsättningar

För att slutföra självstudierna behöver du:

  • En Log Analytics-arbetsyta där du har minst deltagarbehörighet.

  • MIB-filer (Management Information Base) för de enheter som du övervakar.

    SNMP identifierar övervakade egenskaper med hjälp av OID-värden (Object Identifier), som definieras och beskrivs i MIB-filer som tillhandahålls av leverantören.

    Enhetsleverantören tillhandahåller vanligtvis MIB-filer. Om du inte har MIB-filerna kan du hitta filerna för många leverantörer på webbplatser från tredje part.

    Placera alla MIB-filer för varje enhet som skickar SNMP-traps i /usr/share/snmp/mibs, standardkatalogen för MIB-filer. Detta möjliggör loggning av SNMP-trapfält med meningsfulla namn i stället för OID:er.

    Vissa leverantörer har en enda MIB för alla enheter, medan andra har hundratals MIB-filer. Om du vill läsa in en MIB-fil korrekt måste snmptrapd läsa in alla beroende MIB:er. Kontrollera loggfilen för snmptrapd när du har läst in MIB:er för att säkerställa att det inte finns några beroenden som saknas i parsningen av MIB-filerna.

  • En Linux-server med en SNMP-trapmottagare.

    I den här artikeln använder vi snmptrapd, en SNMP-trapmottagare från Net-SNMP-agenten, som de flesta Linux-distributioner tillhandahåller. Det finns dock många andra SNMP trap receiver-tjänster som du kan använda.

    Konfigurationsproceduren för snmptrapd kan variera mellan Linux-distributioner. Mer information om snmptrapd-konfiguration, inklusive vägledning om hur du konfigurerar för SNMP v3-autentisering, finns i Net-SNMP-dokumentationen.

    Det är viktigt att den SNMP-trapmottagare som du använder kan läsa in MIB-filer för din miljö, så att egenskaperna i SNMP-trapmeddelandet har meningsfulla namn i stället för OID:er.

Konfigurera loggalternativ och format för trapmottagare

Så här konfigurerar du snmptrapd trap-mottagaren på en CentOS 7-, Red Hat Enterprise Linux 7- eller Oracle Linux 7-server:

  1. Installera och aktivera 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. Auktorisera communitysträngar (SNMP v1- och v2-autentiseringssträngar) och definiera formatet för de traps som skrivits till loggfilen:

    1. Öppna snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Lägg till följande rader i snmptrapd.conf filen:

      # 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
      

      Kommentar

      snmptrapd loggar både traps- och daemonmeddelanden – till exempel tjänststopp och start – till samma loggfil. I exemplet ovan har vi definierat loggformatet så att det börjar med ordet "snmptrap" för att göra det enkelt att filtrera snmptraps från loggen senare.

Konfigurera trapmottagaren för att skicka trap-data till syslog- eller textfil

Det finns två sätt som snmptrapd kan skicka SNMP-traps till Azure Monitor Agent:

  • Vidarebefordra inkommande traps till syslog, som du kan ange som datakälla för Azure Monitor Agent.

  • Skriv syslog-meddelandena till en fil, som Azure Monitor Agent kan skugga och parsa. Med det här alternativet kan du skicka SNMP-traps som en ny datatyp i stället för att skicka som syslog-händelser.

Så här redigerar du utdatabeteendekonfigurationen för snmptrapd:

  1. /etc/snmp/snmptrapd.conf Öppna filen:

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Konfigurera utdatamålet.

    Här är ett exempel på konfiguration:

    # snmptrapd command line options
    # '-f' is implicitly added by snmptrapd systemd unit file
    # OPTIONS="-Lsd"
    OPTIONS="-m ALL -Ls2 -Lf /var/log/snmptrapd"
    

    Alternativen i den här exempelkonfigurationen är:

    • -m ALL – Läs in alla MIB-filer i standardkatalogen.
    • -Ls2 - Utdata traps till syslog, till Local2-anläggningen.
    • -Lf /var/log/snmptrapd – Logga traps till /var/log/snmptrapd filen.

Kommentar

Mer information om hur du anger utdataalternativ och hur du anger formateringsalternativ finns i Net-SNMP-dokumentationen.

Samla in SNMP-traps med Hjälp av Azure Monitor-agenten

Om du har konfigurerat snmptrapd för att skicka händelser till syslog följer du stegen som beskrivs i Samla in händelser och prestandaräknare med Azure Monitor Agent. Se till att välja Linux syslog som datakälla när du definierar datainsamlingsregeln för Azure Monitor Agent.

Om du har konfigurerat snmptrapd för att skriva händelser till en fil följer du stegen som beskrivs i Samla in textloggar med Azure Monitor Agent.

Nästa steg

Läs mer om: