Samla in Syslog-datakällor med Log Analytics-agenten

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.

Syslog är ett protokoll för händelseloggning som är gemensamt för Linux. Program skickar meddelanden som kan lagras på den lokala datorn eller levereras till en Syslog-insamlare. När Log Analytics-agenten för Linux har installerats konfigureras den lokala Syslog-daemonen för att vidarebefordra meddelanden till agenten. Agenten skickar sedan meddelandena till Azure Monitor där en motsvarande post skapas.

Viktigt!

Den äldre Log Analytics-agentenkommer att vara inaktuell i augusti 2024. Efter det här datumet kommer Microsoft inte längre att tillhandahålla någon support för Log Analytics-agenten. Migrera till Azure Monitor-agenten före augusti 2024 för att fortsätta mata in data.

Kommentar

Azure Monitor stöder insamling av meddelanden som skickas av rsyslog eller syslog-ng, där rsyslog är standard daemon. Syslog-standard daemon i version 5 av Red Hat Enterprise Linux, CentOS och Oracle Linux-versionen (sysklog) stöds inte för Syslog-händelseinsamling. Om du vill samla in Syslog-data från den här versionen av dessa distributioner bör daemonen rsyslog installeras och konfigureras för att ersätta sysklog.

Diagram som visar Syslog-samlingen.

Följande funktioner stöds med Syslog-insamlaren:

  • Kern
  • användare
  • e-post
  • Daemon
  • författare
  • syslog
  • Lpr
  • Nyheter
  • Uucp
  • Cron
  • authpriv
  • ftp
  • local0-local7

För andra anläggningar konfigurerar du en datakälla för anpassade loggar i Azure Monitor.

Konfigurera Syslog

Log Analytics-agenten för Linux samlar bara in händelser med de resurser och allvarlighetsgrad som anges i dess konfiguration. Du kan konfigurera Syslog via Azure-portalen eller genom att hantera konfigurationsfiler på dina Linux-agenter.

Konfigurera Syslog i Azure-portalen

Konfigurera Syslog från agentkonfigurationsmenyn för Log Analytics-arbetsytan. Den här konfigurationen levereras till konfigurationsfilen på varje Linux-agent.

Du kan lägga till en ny anläggning genom att välja Lägg till anläggning. För varje anläggning samlas endast meddelanden med de valda allvarlighetsgraderna in. Välj allvarlighetsgrad för den specifika anläggning som du vill samla in. Du kan inte ange några andra villkor för att filtrera meddelanden.

Skärmbild som visar hur du konfigurerar Syslog.

Som standard skickas alla konfigurationsändringar automatiskt till alla agenter. Om du vill konfigurera Syslog manuellt för varje Linux-agent avmarkerar du kryssrutan Tillämpa nedanstående konfiguration på mina datorer .

Konfigurera Syslog på Linux-agenten

När Log Analytics-agenten är installerad på en Linux-klient installeras en syslog-standardkonfigurationsfil som definierar funktionen och allvarlighetsgraden för de meddelanden som samlas in. Du kan ändra den här filen för att ändra konfigurationen. Konfigurationsfilen skiljer sig beroende på den Syslog-daemon som klienten har installerat.

Kommentar

Om du redigerar Syslog-konfigurationen måste du starta om Syslog-daemon för att ändringarna ska börja gälla.

Rsyslog

Konfigurationsfilen för rsyslog finns på /etc/rsyslog.d/95-omsagent.conf. Dess standardinnehåll visas i följande exempel. Det här exemplet samlar in Syslog-meddelanden som skickas från den lokala agenten för alla anläggningar med en varningsnivå eller högre.

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

Du kan ta bort en anläggning genom att ta bort avsnittet i konfigurationsfilen. Du kan begränsa allvarlighetsgraden som samlas in för en viss anläggning genom att ändra den anläggningens post. Om du till exempel vill begränsa användaranläggningen till meddelanden med allvarlighetsgrad eller högre ändrar du den raden i konfigurationsfilen till följande exempel:

user.error    @127.0.0.1:25224

syslog-ng

Konfigurationsfilen för syslog-ng finns på /etc/syslog-ng/syslog-ng.conf. Standardinnehållet visas i det här exemplet. Det här exemplet samlar in Syslog-meddelanden som skickas från den lokala agenten för alla anläggningar och alla allvarlighetsgrad.

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Du kan ta bort en anläggning genom att ta bort avsnittet i konfigurationsfilen. Du kan begränsa allvarlighetsgraden som samlas in för en viss anläggning genom att ta bort dem från listan. Om du till exempel vill begränsa användarmöjligheten till att endast avisera kritiska meddelanden ändrar du det avsnittet i konfigurationsfilen enligt följande exempel:

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Samla in data från andra Syslog-portar

Log Analytics-agenten lyssnar efter Syslog-meddelanden på den lokala klienten på port 25224. När agenten har installerats tillämpas en standardkonfiguration för Syslog och hittas på följande plats:

  • Rsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

Du kan ändra portnumret genom att skapa två konfigurationsfiler: en FluentD-konfigurationsfil och en rsyslog-or-syslog-ng-fil beroende på vilken Syslog-daemon du har installerat.

  • FluentD-konfigurationsfilen ska vara en ny fil som finns i /etc/opt/microsoft/omsagent/conf/omsagent.d och ersätta värdet i port posten med ditt anpassade portnummer.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • För rsyslog bör du skapa en ny konfigurationsfil som finns i /etc/rsyslog.d/ och ersätta värdet %SYSLOG_PORT% med ditt anpassade portnummer.

    Kommentar

    Om du ändrar det här värdet i konfigurationsfilen 95-omsagent.confskrivs det över när agenten tillämpar en standardkonfiguration.

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • Konfigurationen syslog-ng bör ändras genom att kopiera exempelkonfigurationen som visas härnäst och lägga till de anpassade ändrade inställningarna i slutet av konfigurationsfilen syslog-ng.conf i /etc/syslog-ng/. Använd inte standardetiketten %WORKSPACE_ID%_oms eller %WORKSPACE_ID_OMS. Definiera en anpassad etikett som hjälper dig att särskilja dina ändringar.

    Kommentar

    Om du ändrar standardvärdena i konfigurationsfilen skrivs de över när agenten tillämpar en standardkonfiguration.

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

När du har slutfört ändringarna startar du om Syslog och Log Analytics-agenttjänsten för att se till att konfigurationsändringarna börjar gälla.

Syslog-postegenskaper

Syslog-poster har en typ av Syslog och har egenskaperna som visas i följande tabell.

Property beskrivning
Dator Dator som händelsen samlades in från.
Tillgång Definierar den del av systemet som genererade meddelandet.
Hostip IP-adressen för systemet som skickar meddelandet.
HostName Namnet på systemet som skickar meddelandet.
AllvarlighetsgradNivå Händelsens allvarlighetsgrad.
SyslogMessage Text i meddelandet.
ProcessID ID för den process som genererade meddelandet.
EventTime Datum och tid då händelsen genererades.

Logga frågor med Syslog-poster

Följande tabell innehåller olika exempel på loggfrågor som hämtar Syslog-poster.

Fråga beskrivning
Syslog Alla Syslogs
Syslog | where SeverityLevel == "error" Alla Syslog-poster med allvarlighetsgrad för fel
Syslog | summarize AggregatedValue = count() by Computer Antal Syslog-poster per dator
Syslog | summarize AggregatedValue = count() by Facility Antal Syslog-poster per anläggning

Nästa steg