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
- Log Analytics-werkruimte met ten minste inzenderrechten. Syslog-gebeurtenissen worden verzonden naar de Syslog-tabel .
- Een nieuwe of bestaande DCR die wordt beschreven in Gegevens verzamelen met De Azure Monitor-agent.
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:
Prioriteitsindexnummer | Prioriteitsnaam |
---|---|
{none} | Geen pri |
0 | Afspatiëring |
1 | Gebruiker |
2 | |
3 | Daemon |
4 | verif |
5 | syslog |
6 | Lpr |
7 | nieuws |
8 | Uucp |
9 | cron |
10 | verificatiepriv |
11 | ftp |
12 | Ntp |
13 | controleren |
14 | waarschuwing |
15 | klok |
16 | local0 |
17 | local1 |
18 | local2 |
19 | local3 |
20 | local4 |
21 | local5 |
22 | local6 |
23 | local7 |
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).
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 | |
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: