Share via


Syslog-gebeurtenissen verzamelen met Azure Monitor Agent

Syslog-gebeurtenissen zijn een van de gegevensbronnen die worden gebruikt in een regel voor gegevensverzameling (DCR). Details voor het maken van de DCR worden verstrekt in Gegevens verzamelen met De Azure Monitor-agent. Dit artikel bevat aanvullende informatie over het gegevensbrontype Syslog-gebeurtenissen.

Syslog is een protocol voor logboekregistratie van gebeurtenissen dat gebruikelijk is voor Linux. U kunt de Syslog-daemon gebruiken die is ingebouwd in Linux-apparaten en -apparaten om lokale gebeurtenissen te verzamelen van de typen die u opgeeft. Toepassingen verzenden berichten die zijn opgeslagen op de lokale computer of worden bezorgd bij een Syslog-collector.

Tip

Als u gegevens wilt verzamelen van apparaten waarvoor lokale installatie van Azure Monitor Agent niet is toegestaan, configureert u een toegewezen op Linux gebaseerde doorstuurserver voor logboeken.

Vereisten

Het verzamelen van Syslog-gegevens configureren

Selecteer Linux Syslog in de stap Verzamelen en leveren van de DCR in de vervolgkeuzelijst Gegevensbrontype.

De volgende faciliteiten worden ondersteund met de Syslog-collector:

Pri-index Pri-naam
0 Geen
1 Afspatiëring
2 Gebruiker
3 e-mail
4 Daemon
4 verif
5 syslog
6 Lpr
7 nieuws
8 Uucp
9 ftp
10 Ntp
11 controleren
12 waarschuwing
13 markering
14 local0
15 local1
16 local2
17 local3
18 local4
19 local5
20 local6
21 local7

Schermopname van de pagina om het gegevensbrontype en het minimale logboekniveau te selecteren.

Standaard verzamelt de agent alle gebeurtenissen die worden verzonden door de Syslog-configuratie. Wijzig het minimale logboekniveau voor elke faciliteit om het verzamelen van gegevens te beperken. Selecteer NONE om geen gebeurtenissen voor een bepaalde faciliteit te verzamelen.

Bestemmingen

Syslog-gegevens kunnen naar de volgende locaties worden verzonden.

Bestemming Tabel/naamruimte
Log Analytics-werkruimte Syslog

Notitie

Azure Monitor Linux Agent-versies 1.15.2 en hoger ondersteunen syslog RFC-indelingen, waaronder Cisco Meraki, Cisco ASA, Cisco FTD, Sophos XG, Juniper Networks, Corelight Zeek, CipherTrust, NXLog, McAfee en Common Event Format (CEF).

Schermopname van de configuratie van een Doel van Azure Monitor-logboeken in een regel voor gegevensverzameling.

Syslog configureren op de Linux-agent

Wanneer Azure Monitor Agent is geïnstalleerd op een Linux-computer, installeert het een standaard Syslog-configuratiebestand dat de faciliteit en ernst definieert van de berichten die worden verzameld als Syslog is ingeschakeld in een DCR. Het configuratiebestand verschilt, afhankelijk van de Syslog-daemon die de client heeft geïnstalleerd.

Rsyslog

Op veel Linux-distributies is de rsyslogd daemon verantwoordelijk voor het verbruik, opslaan en routeren van logboekberichten die worden verzonden met behulp van de Linux Syslog-API. Azure Monitor Agent maakt gebruik van de TCP-uitvoermodule (omfwd) in rsyslog om logboekberichten door te sturen.

De installatie van de Azure Monitor-agent bevat standaardconfiguratiebestanden in /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/. Wanneer Syslog wordt toegevoegd aan een DCR, wordt deze configuratie geïnstalleerd onder de etc/rsyslog.d systeemmap en wordt rsyslog automatisch opnieuw opgestart om de wijzigingen van kracht te laten worden.

Notitie

Op systemen op basis van rsyslog voegt Azure Monitor Linux Agent doorstuurregels toe aan de standaardregelset die is gedefinieerd in de rsyslog-configuratie. Als er meerdere regelsets worden gebruikt, worden invoer die is gebonden aan niet-standaardregelset(en) niet doorgestuurd naar De Azure Monitor-agent. Zie de officiële documentatie voor meer informatie over meerdere regelsets in rsyslog.

Hier volgt de standaardconfiguratie waarmee Syslog-berichten worden verzameld die vanuit de lokale agent worden verzonden voor alle faciliteiten met alle logboekniveaus.

$ cat /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf
# Azure Monitor Agent configuration: forward logs to azuremonitoragent

template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%")
# queue.workerThreads sets the maximum worker threads, it will scale back to 0 if there is no activity
# Forwarding all events through TCP port
*.* action(type="omfwd"
template="AMA_RSYSLOG_TraditionalForwardFormat"
queue.type="LinkedList"
queue.filename="omfwd-azuremonitoragent"
queue.maxFileSize="32m"
action.resumeRetryCount="-1"
action.resumeInterval="5"
action.reportSuspension="on"
action.reportSuspensionContinuation="on"
queue.size="25000"
queue.workerThreads="100"
queue.dequeueBatchSize="2048"
queue.saveonshutdown="on"
target="127.0.0.1" Port="28330" Protocol="tcp")

De volgende configuratie wordt gebruikt wanneer u SELinux gebruikt en besluit Unix-sockets te gebruiken.

$ cat /etc/rsyslog.d/10-azuremonitoragent.conf
# Azure Monitor Agent configuration: forward logs to azuremonitoragent
$OMUxSockSocket /run/azuremonitoragent/default_syslog.socket
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%") 
$OMUxSockDefaultTemplate AMA_RSYSLOG_TraditionalForwardFormat
# Forwarding all events through Unix Domain Socket
*.* :omuxsock: 
$ cat /etc/rsyslog.d/05-azuremonitoragent-loadomuxsock.conf
# Azure Monitor Agent configuration: load rsyslog forwarding module. 
$ModLoad omuxsock

Op sommige verouderde systemen ziet u mogelijk problemen met het opmaken van rsyslog-logboeken wanneer een traditionele doorstuurindeling wordt gebruikt om Syslog-gebeurtenissen naar Azure Monitor Agent te verzenden. Voor deze systemen plaatst Azure Monitor Agent automatisch een verouderde doorstuurserversjabloon:

template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n")

Syslog-ng

De installatie van de Azure Monitor-agent bevat standaardconfiguratiebestanden in /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.conf. Wanneer Syslog wordt toegevoegd aan een DCR, wordt deze configuratie geïnstalleerd onder de /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf systeemmap en wordt syslog-ng automatisch opnieuw opgestart voordat de wijzigingen van kracht worden.

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 en alle ernst.

$ cat /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf 
# Azure MDSD configuration: syslog forwarding config for mdsd agent
options {};

# during install time, we detect if s_src exist, if it does then we
# replace it by appropriate source name like in redhat 's_sys'
# Forwrding using tcp
destination d_azure_mdsd {
	network("127.0.0.1" 
	port(28330)
	log-fifo-size(25000));			
};

log {
	source(s_src); # will be automatically parsed from /etc/syslog-ng/syslog-ng.conf
	destination(d_azure_mdsd);
	flags(flow-control);
};

De volgende configuratie wordt gebruikt wanneer u SELinux gebruikt en besluit Unix-sockets te gebruiken.

$ cat /etc/syslog-ng/conf.d/azuremonitoragent.conf 
# Azure MDSD configuration: syslog forwarding config for mdsd agent options {}; 
# during install time, we detect if s_src exist, if it does then we 
# replace it by appropriate source name like in redhat 's_sys' 
# Forwrding using unix domain socket 
destination d_azure_mdsd { 
	unix-dgram("/run/azuremonitoragent/default_syslog.socket" 
	flags(no_multi_line) ); 
};
 
log {
	source(s_src); # will be automatically parsed from /etc/syslog-ng/syslog-ng.conf 
	destination(d_azure_mdsd);
}; 

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

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

Ondersteunde faciliteiten

De volgende faciliteiten worden ondersteund met de Syslog-collector:

Pri-index Pri-naam
0 Geen
1 Afspatiëring
2 Gebruiker
3 e-mail
4 Daemon
4 verif
5 syslog
6 Lpr
7 nieuws
8 Uucp
9 ftp
10 Ntp
11 controleren
12 waarschuwing
13 markering
14 local0
15 local1
16 local2
17 local3
18 local4
19 local5
20 local6
21 local7

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.

Voorbeelden van Syslog-logboekquery's

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

  • Alle Syslogs

      Syslog
    
  • Alle Syslog-records met de ernst van de fout

      Syslog
      | where SeverityLevel == "error"
    
  • Alle Syslog-records met het type verificatiefaciliteit

      Syslog
      | where facility == "auth"
    
  • Aantal Syslog-records per faciliteit

      Syslog
      | summarize AggregatedValue = count() by facility
    

Probleemoplossing

Voer de volgende stappen uit als u geen gegevens verzamelt uit het JSON-logboek dat u verwacht.

  • Controleer of gegevens naar Syslog worden geschreven.
  • Zie De bewerking Controleren om te controleren of de agent operationeel is en of er gegevens worden ontvangen.

Volgende stappen

Meer informatie over: