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.
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:
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
Auktorisera communitysträngar (SNMP v1- och v2-autentiseringssträngar) och definiera formatet för de traps som skrivits till loggfilen:
Öppna
snmptrapd.conf
:sudo vi /etc/snmp/snmptrapd.conf
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:
/etc/snmp/snmptrapd.conf
Öppna filen:sudo vi /etc/sysconfig/snmptrapd
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:
- Samla in Syslog-händelser med Azure Monitor Agent
- Samla in loggar från en textfil med Azure Monitor Agent
Nästa steg
Läs mer om:
- Azure Monitor-agent.
- Regler för datainsamling.
- Metodtips för kostnadshantering i Azure Monitor.