Samla in Syslog-händelser med Azure Monitor Agent
Syslog-händelser är en av de datakällor som används i en datainsamlingsregel (DCR). Information om hur du skapar DCR finns i Samla in data med Azure Monitor Agent. Den här artikeln innehåller ytterligare information om datakällan Syslog-händelser.
Syslog är ett protokoll för händelseloggning som är gemensamt för Linux. Du kan använda Syslog-daemonen som är inbyggd i Linux-enheter och -enheter för att samla in lokala händelser av de typer som du anger. Program skickar meddelanden som antingen lagras på den lokala datorn eller levereras till en Syslog-insamlare.
Dricks
Om du vill samla in data från enheter som inte tillåter lokal installation av Azure Monitor Agent konfigurerar du en dedikerad Linux-baserad loggvidare.
Förutsättningar
- Log Analytics-arbetsyta där du har minst deltagarbehörighet. Syslog-händelser skickas till syslog-tabellen.
- Antingen en ny eller befintlig DCR som beskrivs i Samla in data med Azure Monitor Agent.
Konfigurera insamling av Syslog-data
I steget Samla in och leverera i DCR väljer du Linux Syslog i listrutan Datakällatyp .
Följande funktioner stöds med Syslog-insamlaren:
Prioritetsindexnummer | Prioritetsnamn |
---|---|
{none} | Ingen Pri |
0 | Kerna |
1 | användare |
2 | e-post |
3 | demon |
4 | författare |
5 | syslog |
6 | Lpr |
7 | nyheter |
8 | Uucp |
9 | cron |
10 | authpriv |
11 | ftp |
12 | Ntp |
13 | granska |
14 | varning |
15 | klocka |
16 | local0 |
17 | local1 |
18 | local2 |
19 | local3 |
20 | local4 |
21 | local5 |
22 | local6 |
23 | local7 |
Som standard samlar agenten in alla händelser som skickas av Syslog-konfigurationen. Ändra lägsta loggnivå för varje anläggning för att begränsa datainsamlingen. Välj NONE för att samla in inga händelser för en viss anläggning.
Destinationer
Syslog-data kan skickas till följande platser.
Mål | Tabell/namnområde |
---|---|
Log Analytics-arbetsyta | Syslog |
Kommentar
Azure Monitor Linux Agent version 1.15.2 och senare stöder syslog RFC-format, inklusive Cisco Meraki, Cisco ASA, Cisco FTD, Sophos XG, Juniper Networks, Corelight Zeek, CipherTrust, NXLog, McAfee och Common Event Format (CEF).
Konfigurera Syslog på Linux-agenten
När Azure Monitor Agent installeras på en Linux-dator installeras en standardkonfigurationsfil för Syslog som definierar funktionen och allvarlighetsgraden för de meddelanden som samlas in om Syslog är aktiverat i en DCR. Konfigurationsfilen skiljer sig beroende på den Syslog-daemon som klienten har installerat.
Rsyslog
På många Linux-distributioner ansvarar daemonen rsyslogd för att använda, lagra och dirigera loggmeddelanden som skickas med hjälp av Linux Syslog-API:et. Azure Monitor Agent använder TCP-utdatamodulen (omfwd
) i rsyslog för att vidarebefordra loggmeddelanden.
Installationen av Azure Monitor Agent innehåller standardkonfigurationsfiler i /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/
. När Syslog läggs till i en DCR installeras den här konfigurationen under systemkatalogen etc/rsyslog.d
och rsyslog startas om automatiskt för att ändringarna ska börja gälla.
Kommentar
I rsyslog-baserade system lägger Azure Monitor Linux Agent till vidarebefordransregler till standardregeluppsättningen som definieras i rsyslog-konfigurationen. Om flera regeluppsättningar används vidarebefordras inte indata som är bundna till regeluppsättningar som inte är standard till Azure Monitor Agent. Mer information om flera regeluppsättningar i rsyslog finns i den officiella dokumentationen.
Följande är standardkonfigurationen som samlar in Syslog-meddelanden som skickas från den lokala agenten för alla anläggningar med alla loggnivåer.
$ 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")
Följande konfiguration används när du använder SELinux och bestämmer dig för att använda Unix-socketar.
$ 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
I vissa äldre system kan det uppstå problem med rsyslogloggformatering när ett traditionellt vidarebefordranformat används för att skicka Syslog-händelser till Azure Monitor Agent. För dessa system placerar Azure Monitor Agent automatiskt en äldre vidarebefordrarmall i stället:
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n")
Syslog-ng
Installationen av Azure Monitor Agent innehåller standardkonfigurationsfiler i /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.conf
. När Syslog läggs till i en DCR installeras den här konfigurationen under systemkatalogen /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf
och syslog-ng startas automatiskt om för att ändringarna ska börja gälla.
Standardinnehållet 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 och alla allvarlighetsgrad.
$ 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);
};
Följande konfiguration används när du använder SELinux och bestämmer dig för att använda Unix-socketar.
$ 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);
};
Kommentar
Azure Monitor stöder insamling av meddelanden som skickas av rsyslog eller syslog-ng, där rsyslog är standard daemon. Syslog-standard daemon på version 5 av Red Hat Enterprise Linux och Oracle Linux-versionen (sysklog) stöds inte för Syslog-händelsesamling. 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.
Om du redigerar Syslog-konfigurationen måste du starta om Syslog-daemon för att ändringarna ska börja gälla.
Faciliteter som stöds
Följande funktioner stöds med Syslog-insamlaren:
Pri-index | Pri-namn |
---|---|
0 | Ingen |
1 | Kerna |
2 | användare |
3 | e-post |
4 | demon |
4 | författare |
5 | syslog |
6 | Lpr |
7 | nyheter |
8 | Uucp |
9 | ftp |
10 | Ntp |
11 | granska |
12 | varning |
13 | mark |
14 | local0 |
15 | local1 |
16 | local2 |
17 | local3 |
18 | local4 |
19 | local5 |
20 | local6 |
21 | local7 |
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. |
Exempel på Syslog-loggfrågor
Följande tabell innehåller olika exempel på loggfrågor som hämtar Syslog-poster.
Alla Syslogs
Syslog
Alla Syslog-poster med allvarlighetsgrad för fel
Syslog | where SeverityLevel == "error"
Alla Syslog-poster med autentiseringsfunktionstyp
Syslog | where facility == "auth"
Antal Syslog-poster per anläggning
Syslog | summarize AggregatedValue = count() by facility
Felsökning
Gå igenom följande steg om du inte samlar in data från JSON-loggen som du förväntar dig.
- Kontrollera att data skrivs till Syslog.
- Se Kontrollera åtgärden för att kontrollera om agenten är i drift och att data tas emot.
Nästa steg
Läs mer om: