Sdílet prostřednictvím


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

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í:

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

Snímek obrazovky znázorňující stránku pro výběr typu zdroje dat a minimální úrovně protokolu

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 / Namespace
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).

Snímek obrazovky znázorňující konfiguraci cíle protokolů služby Azure Monitor v pravidle shromažďování dat

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"
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.confadresář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.

Další kroky

Přečtěte si další informace: