Syslog-gegevensbronnen verzamelen met de Log Analytics-agent

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Overweeg uw gebruik en planning dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

Syslog is een protocol voor logboekregistratie van gebeurtenissen dat gebruikelijk is voor Linux. Toepassingen verzenden berichten die mogelijk zijn opgeslagen op de lokale computer of worden bezorgd bij een Syslog-collector. Wanneer de Log Analytics-agent voor Linux is geïnstalleerd, configureert deze de lokale Syslog-daemon om berichten door te sturen naar de agent. De agent verzendt de berichten vervolgens naar Azure Monitor waar een bijbehorende record wordt gemaakt.

Belangrijk

De verouderde Log Analytics-agentwordt in augustus 2024 afgeschaft. Na deze datum biedt Microsoft geen ondersteuning meer voor de Logboekanalyse-agent. Migreer vóór augustus 2024 naar de Azure Monitor-agent om door te gaan met het opnemen van gegevens.

Notitie

Azure Monitor ondersteunt het verzamelen van berichten die worden verzonden door rsyslog of syslog-ng, waarbij rsyslog de standaard daemon is. De standaard Syslog-daemon op versie 5 van Red Hat Enterprise Linux, CentOS en Oracle Linux-versie (sysklog) wordt niet ondersteund voor syslog-gebeurtenisverzameling. Als u Syslog-gegevens van deze versie van deze distributies wilt verzamelen, moet de rsyslog-daemon worden geïnstalleerd en geconfigureerd om sysklog te vervangen.

Diagram met syslog-verzameling.

De volgende faciliteiten worden ondersteund met de Syslog-collector:

  • afspatiëring
  • Gebruiker
  • e-mail
  • Daemon
  • verif
  • syslog
  • Lpr
  • Nieuws
  • Uucp
  • Cron
  • verificatiepriv
  • ftp
  • local0-local7

Voor elke andere faciliteit configureert u een gegevensbron voor aangepaste logboeken in Azure Monitor.

Syslog configureren

De Log Analytics-agent voor Linux verzamelt alleen gebeurtenissen met de faciliteiten en ernst die zijn opgegeven in de configuratie. U kunt Syslog configureren via Azure Portal of door configuratiebestanden op uw Linux-agents te beheren.

Syslog configureren in Azure Portal

Configureer Syslog vanuit het configuratiemenu agent voor de Log Analytics-werkruimte. Deze configuratie wordt geleverd aan het configuratiebestand op elke Linux-agent.

U kunt een nieuwe faciliteit toevoegen door De faciliteit toevoegen te selecteren. Voor elke faciliteit worden alleen berichten met de geselecteerde ernstgegevens verzameld. Selecteer de ernst voor de specifieke faciliteit die u wilt verzamelen. U kunt geen andere criteria opgeven om berichten te filteren.

Schermopname van het configureren van Syslog.

Standaard worden alle configuratiewijzigingen automatisch naar alle agents gepusht. Als u Syslog handmatig wilt configureren voor elke Linux-agent, schakelt u het selectievakje Onderstaande configuratie toepassen op mijn computers uit.

Syslog configureren in Linux-agent

Wanneer de Log Analytics-agent is geïnstalleerd op een Linux-client, wordt er een standaard Syslog-configuratiebestand geïnstalleerd dat de faciliteit en ernst definieert van de berichten die worden verzameld. U kunt dit bestand wijzigen om de configuratie te wijzigen. Het configuratiebestand verschilt, afhankelijk van de Syslog-daemon die de client heeft geïnstalleerd.

Notitie

Als u de Syslog-configuratie bewerkt, moet u de Syslog-daemon opnieuw starten om de wijzigingen van kracht te laten worden.

Rsyslog

Het configuratiebestand voor rsyslog bevindt zich op /etc/rsyslog.d/95-omsagent.conf. De standaardinhoud wordt weergegeven in het volgende voorbeeld. In dit voorbeeld worden Syslog-berichten verzameld die vanuit de lokale agent worden verzonden voor alle faciliteiten met een waarschuwingsniveau of hoger.

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

U kunt een faciliteit verwijderen door de sectie van het configuratiebestand te verwijderen. U kunt de ernst beperken die voor een bepaalde faciliteit worden verzameld door de vermelding van die faciliteit te wijzigen. Als u bijvoorbeeld de gebruikersfaciliteit wilt beperken tot berichten met de ernst van de fout of hoger, wijzigt u die regel van het configuratiebestand in het volgende voorbeeld:

user.error    @127.0.0.1:25224

syslog-ng

Het configuratiebestand voor syslog-ng bevindt zich op /etc/syslog-ng/syslog-ng.conf. De standaardinhoud wordt weergegeven in dit voorbeeld. In dit voorbeeld worden Syslog-berichten verzameld die vanuit de lokale agent worden verzonden voor alle faciliteiten en alle ernst.

#
# 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); };

U kunt een faciliteit verwijderen door de sectie van het configuratiebestand te verwijderen. U kunt de ernst beperken die voor een bepaalde faciliteit worden verzameld door ze uit de lijst te verwijderen. Als u bijvoorbeeld de gebruikersfaciliteit wilt beperken om alleen kritieke berichten te waarschuwen, wijzigt u die sectie van het configuratiebestand, zoals wordt weergegeven in het volgende voorbeeld:

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

Gegevens verzamelen van andere Syslog-poorten

De Log Analytics-agent luistert naar Syslog-berichten op de lokale client op poort 25224. Wanneer de agent is geïnstalleerd, wordt een standaardConfiguratie van Syslog toegepast en gevonden op de volgende locatie:

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

U kunt het poortnummer wijzigen door twee configuratiebestanden te maken: een FluentD-configuratiebestand en een rsyslog-or-syslog-ng-bestand, afhankelijk van de Syslog-daemon die u hebt geïnstalleerd.

  • Het FluentD-configuratiebestand moet een nieuw bestand in /etc/opt/microsoft/omsagent/conf/omsagent.d zijn en de waarde in de port vermelding vervangen door uw aangepaste poortnummer.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • Voor rsyslog moet u een nieuw configuratiebestand maken waarin /etc/rsyslog.d/ zich een nieuw configuratiebestand bevindt en de waarde %SYSLOG_PORT% vervangen door uw aangepaste poortnummer.

    Notitie

    Als u deze waarde in het configuratiebestand 95-omsagent.confwijzigt, wordt deze overschreven wanneer de agent een standaardconfiguratie toepast.

    # 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%
    
  • De syslog-ng-configuratie moet worden gewijzigd door de volgende voorbeeldconfiguratie te kopiëren en de aangepaste gewijzigde instellingen toe te voegen aan het einde van het syslog-ng.conf configuratiebestand in /etc/syslog-ng/. Gebruik niet het standaardlabel %WORKSPACE_ID%_oms of %WORKSPACE_ID_OMS. Definieer een aangepast label om uw wijzigingen te onderscheiden.

    Notitie

    Als u de standaardwaarden in het configuratiebestand wijzigt, worden deze overschreven wanneer de agent een standaardconfiguratie toepast.

    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); };
    

Nadat u de wijzigingen hebt voltooid, start u de Syslog en de Log Analytics-agentservice opnieuw op om ervoor te zorgen dat de configuratiewijzigingen van kracht worden.

Eigenschappen van Syslog-records

Syslog-records hebben een type Syslog en hebben de eigenschappen die worden weergegeven in de volgende tabel.

Eigenschappen Beschrijving
Computer Computer van waaruit de gebeurtenis is verzameld.
Faciliteit Hiermee definieert u het deel van het systeem dat het bericht heeft gegenereerd.
Hostip IP-adres van het systeem dat het bericht verzendt.
HostName Naam van het systeem dat het bericht verzendt.
SeverityLevel Ernstniveau van de gebeurtenis.
SyslogMessage Tekst van het bericht.
ProcessID Id van het proces dat het bericht heeft gegenereerd.
EventTime De datum en tijd waarop de gebeurtenis is gegenereerd.

Logboekquery's met Syslog-records

De volgende tabel bevat verschillende voorbeelden van logboekquery's waarmee Syslog-records worden opgehaald.

Query Beschrijving
Syslog Alle Syslogs
Syslog | where SeverityLevel == "error" Alle Syslog-records met de ernst van de fout
Syslog | summarize AggregatedValue = count() by Computer Aantal Syslog-records per computer
Syslog | summarize AggregatedValue = count() by Facility Aantal Syslog-records per faciliteit

Volgende stappen

  • Meer informatie over logboekquery's voor het analyseren van de gegevens die zijn verzameld uit gegevensbronnen en oplossingen.
  • Gebruik aangepaste velden om gegevens uit Syslog-records te parseren in afzonderlijke velden.
  • Configureer Linux-agents om andere typen gegevens te verzamelen.