Dela via


Samla in SNMP-trapdata med Azure Monitor Agent

Simple Network Management Protocol (SNMP) är ett allmänt distribuerat hanteringsprotokoll för övervakning och konfigurering av Linux-enheter och -enheter. Den här artikeln beskriver hur du samlar in SNMP-trapdata och skickar dem till en Log Analytics-arbetsyta med Hjälp av Azure Monitor Agent.

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. Omröstningar används oftast för tillståndskänslig hälsoidentifiering och insamling av prestandamått.
  • Traps – En SNMP-agent vidarebefordrar händelser eller meddelanden till ett hanteringssystem. Traps används oftast som händelsemeddelanden.

Azure Monitor-agenten kan inte samla in SNMP-data direkt, men du kan skicka dessa data till någon av följande datakällor som Azure Monitor-agenten kan samla in:

  • Syslog. Data lagras i Syslog tabellen med dina andra syslog-data som samlas in av Azure Monitor-agenten.
  • Textfil. Data lagras i en anpassad tabell som du skapar. Med hjälp av en transformering kan du parsa data och lagra dem i ett strukturerat format.

Diagram som visar insamling av SNMP-data genom att skicka dem till Syslog eller en textfil som sedan samlas in av Azure Monitor-agenten.

Förutsättningar

  • 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. Vissa leverantörer har en enda MIB för alla enheter, medan andra har hundratals MIB-filer.

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

    Den här artikeln använder 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. 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.

    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.

Konfigurera loggalternativ och format för trapmottagare

Så här konfigurerar du snmptrapd trap-mottagaren på en 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

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, till exempel i följande exempelkonfiguration:

    # 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

Beroende på var du skickade SNMP-händelser använder du vägledningen på något av följande sätt för att samla in data med Azure Monitor Agent:

Nästa steg

Läs mer om: