Shromažďování událostí Syslogu pomocí agenta služby Azure Monitor
Události Syslogu jsou jedním ze zdrojů dat používaných v pravidle shromažďování dat (DCR). Podrobnosti o vytvoření DCR najdete v části Shromažďování dat pomocí agenta služby Azure Monitor. Tento článek obsahuje další podrobnosti o typu zdroje dat událostí Syslogu.
Syslog je protokol protokolování událostí, který je běžný pro Linux. K shromažďování místních událostí zadaných typů můžete použít démon Syslog, který je integrovaný do zařízení a zařízení s Linuxem. Aplikace odesílají zprávy uložené na místním počítači nebo doručované do kolektoru Syslogu.
Tip
Pokud chcete shromažďovat data ze zařízení, která nepovolují místní instalaci agenta služby Azure Monitor, nakonfigurujte vyhrazený nástroj pro předávání protokolů založený na Linuxu.
Požadavky
- Pracovní prostor služby Log Analytics, kde máte alespoň práva přispěvatele. Události Syslogu se odesílají do tabulky Syslog .
- Nové nebo existující DCR popsané v tématu Shromažďování dat pomocí agenta služby Azure Monitor
Konfigurace shromažďování dat Syslogu
V kroku Shromažďování a doručování dcR vyberte v rozevíracím seznamu Typ zdroje dat Linux Syslog.
Kolektor Syslog podporuje následující zařízení:
Číslo indexu priority | Název priority |
---|---|
{none} | Bez pri |
0 | Jádro |
0 | user |
2 | pošta |
3 | démon |
4 | auth |
5 | syslog |
6 | lpr |
7 | zpravodajství |
8 | Uucp |
9 | cron |
10 | authpriv |
11 | FTP |
12 | Ntp |
13 | audit |
14 | upozornění |
15 | clock |
16 | local0 |
17 | local1 |
18 | local2 |
19 | local3 |
20 | local4 |
21 | local5 |
22 | local6 |
23 | local7 |
Ve výchozím nastavení agent shromáždí všechny události odeslané konfigurací Syslogu. Změňte minimální úroveň protokolu pro každé zařízení, aby se omezilo shromažďování dat. Výběrem možnosti NONE neshromáždíte žádné události pro konkrétní zařízení.
Místa určení
Data syslogu je možné odeslat do následujících umístění.
Cíl | Tabulka / obor názvů |
---|---|
Pracovní prostor služby Log Analytics | Syslog |
Poznámka:
Azure Monitor Linux Agent verze 1.15.2 a novější podporují formáty SYSlog RFC, včetně Cisco Meraki, Cisco ASA, Cisco FTD, Sophos XG, Juniper Networks, Corelight Zeek, CipherTrust, NXLog, McAfee a Common Event Format (CEF).
Konfigurace Syslogu v agentu Linuxu
Když je agent Azure Monitor nainstalovaný na počítači s Linuxem, nainstaluje výchozí konfigurační soubor Syslog, který definuje zařízení a závažnost shromážděných zpráv, pokud je v DCR povolený Syslog. Konfigurační soubor se liší v závislosti na procesu démona Syslogu, který klient nainstaloval.
Rsyslog
V mnoha linuxových distribucích zodpovídá démon rsyslogd za využívání, ukládání a směrování zpráv protokolu odesílaných pomocí rozhraní Syslog API linuxu. Agent Azure Monitoru používá k předávání zpráv protokolu výstupní modul tcp (omfwd
) v rsyslogu.
Instalace agenta služby Azure Monitor zahrnuje výchozí konfigurační soubory umístěné v /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/
adresáři . Když se syslog přidá do řadiče domény, tato konfigurace se nainstaluje v systémovém etc/rsyslog.d
adresáři a rsyslog se automaticky restartuje, aby se změny projevily.
Poznámka:
V systémech založených na rsyslogu azure Monitor linuxový agent přidává pravidla předávání do výchozí sady pravidel definované v konfiguraci rsyslogu. Pokud se používá více sad pravidel, vstupy vázané na jiné než výchozí sady pravidel se nepřesměrují do agenta služby Azure Monitor. Další informace o více sadách pravidel v rsyslogu najdete v oficiální dokumentaci.
Následuje výchozí konfigurace, která shromažďuje zprávy Syslog odeslané z místního agenta pro všechna zařízení se všemi úrovněmi protokolu.
$ 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"
queue.maxDiskSpace="1g"
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")
Následující konfigurace se používá, když používáte SELinux a rozhodnete se používat unixové sokety.
$ 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
V některých starších systémech se můžou zobrazit problémy s formátováním protokolu rsyslog, když se k odesílání událostí Syslogu do agenta služby Azure Monitor používá tradiční formát předávání. V těchto systémech agent Azure Monitor místo toho automaticky umístí starší šablonu služby předávání:
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n")
Syslog-ng
Instalace agenta služby Azure Monitor zahrnuje výchozí konfigurační soubory umístěné v /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.conf
adresáři . Při přidání Syslogu do dcR se tato konfigurace nainstaluje v systémovém /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf
adresáři a syslog-ng se automaticky restartuje, aby se změny projevily.
Výchozí obsah je zobrazený v následujícím příkladu. Tento příklad shromažďuje zprávy Syslog odeslané z místního agenta pro všechna zařízení a všechny závažnosti.
$ 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);
};
Následující konfigurace se používá, když používáte SELinux a rozhodnete se používat unixové sokety.
$ 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);
};
Poznámka:
Azure Monitor podporuje shromažďování zpráv odesílaných rsyslogem nebo syslog-ng, kde rsyslog je výchozí démon. Pro shromažďování událostí Syslogu se nepodporuje výchozí démon Syslog ve verzi 5 Red Hat Enterprise Linux a Oracle Linux (sysklog). Pokud chcete shromažďovat data Syslogu z této verze těchto distribucí, měl by být nainstalován a nakonfigurován démon rsyslog pro nahrazení sysklogu.
Pokud upravíte konfiguraci syslogu, musíte restartovat proces démon Syslog, aby se změny projevily.
Podporovaná zařízení
Kolektor Syslog podporuje následující zařízení:
Pri index | Pri Name |
---|---|
0 | Nic |
0 | Jádro |
2 | user |
3 | pošta |
4 | démon |
4 | auth |
5 | syslog |
6 | lpr |
7 | zpravodajství |
8 | Uucp |
9 | FTP |
10 | Ntp |
11 | audit |
12 | upozornění |
13 | mark |
14 | local0 |
15 | local1 |
16 | local2 |
17 | local3 |
18 | local4 |
19 | local5 |
20 | local6 |
21 | local7 |
Vlastnosti záznamu Syslog
Záznamy Syslog mají typ Syslogu a mají vlastnosti uvedené v následující tabulce.
Vlastnost | Popis |
---|---|
Počítač | Počítač, ze kterého byla událost shromážděna. |
Zařízení | Definuje část systému, která zprávu vygenerovala. |
HostIP | IP adresa systému, který zprávu odesílá. |
Název hostitele | Název systému odesílajícího zprávu |
SeverityLevel | Úroveň závažnosti události. |
SyslogMessage | Text zprávy |
ProcessID | ID procesu, který zprávu vygeneroval. |
EventTime | Datum a čas vygenerování události |
Ukázkové dotazy protokolu Syslog
Následující tabulka obsahuje různé příklady dotazů protokolu, které načítají záznamy Syslog.
Všechny syslogy
Syslog
Všechny záznamy Syslog se závažností chyby
Syslog | where SeverityLevel == "error"
Všechny záznamy Syslogu s typem ověřovacího zařízení
Syslog | where facility == "auth"
Počet záznamů Syslog podle zařízení
Syslog | summarize AggregatedValue = count() by facility
Řešení problému
Pokud neshromažďujete data z očekávaného protokolu JSON, projděte si následující kroky.
- Ověřte, že se data zapisují do syslogu.
- Informace o tom, jestli je agent funkční a přijímá data, najdete v části Ověření operace .
Další kroky
Přečtěte si další informace: