Shromažďování zdrojů dat Syslog pomocí agenta Log Analytics

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a plánování odpovídajícím způsobem. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Syslog je protokol protokolování událostí, který je běžný pro Linux. Aplikace odesílají zprávy, které mohou být uloženy na místním počítači nebo doručovány do kolektoru Syslog. Když je agent Log Analytics pro Linux nainstalovaný, nakonfiguruje místní démon Syslog tak, aby předával zprávy agentu. Agent pak odešle zprávy do služby Azure Monitor, kde se vytvoří odpovídající záznam.

Důležité

Starší verze agentaLog Analytics bude do srpna 2024 zastaralá. Po tomto datu už Microsoft nebude poskytovat pro agenta analytiky protokolů žádnou podporu. Migrujte na agenta Azure Monitoru před srpnem 2024 a pokračujte v ingestování dat.

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í Syslog se nepodporuje výchozí démon Syslog ve verzi 5 Red Hat Enterprise Linux, CentOS 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.

Diagram znázorňující kolekci Syslog

Kolektor Syslog podporuje následující zařízení:

  • Kern
  • user
  • pošta
  • Daemon
  • auth
  • syslog
  • Lpr
  • Novinky
  • Uucp
  • Cron
  • authpriv
  • FTP
  • local0-local7

Pro jakékoli jiné zařízení nakonfigurujte zdroj dat vlastních protokolů ve službě Azure Monitor.

Konfigurace syslogu

Agent Log Analytics pro Linux bude shromažďovat pouze události se zařízeními a závažnostmi zadanými v konfiguraci. Syslog můžete nakonfigurovat prostřednictvím webu Azure Portal nebo správou konfiguračních souborů na agentech Linuxu.

Konfigurace Syslogu na webu Azure Portal

Nakonfigurujte Syslog z nabídky konfigurace agenta pro pracovní prostor služby Log Analytics. Tato konfigurace se doručí do konfiguračního souboru v každém agentu Linuxu.

Výběrem možnosti Přidat zařízení můžete přidat nové zařízení. Pro každé zařízení se shromažďují pouze zprávy s vybranými závažnostmi. Vyberte závažnosti konkrétního zařízení, které chcete shromáždit. Nemůžete zadat žádná další kritéria pro filtrování zpráv.

Snímek obrazovky znázorňující konfiguraci syslogu

Ve výchozím nastavení se všechny změny konfigurace automaticky nasdílí všem agentům. Pokud chcete syslog nakonfigurovat ručně pro každého agenta Linuxu, zrušte zaškrtnutí políčka Použít následující konfiguraci na moje počítače .

Konfigurace syslogu v linuxovém agentu

Když je agent Log Analytics nainstalovaný na klientovi s Linuxem, nainstaluje výchozí konfigurační soubor Syslog, který definuje zařízení a závažnost shromážděných zpráv. Tento soubor můžete změnit tak, aby se změnila konfigurace. Konfigurační soubor se liší v závislosti na procesu démona Syslogu, který klient nainstaloval.

Poznámka:

Pokud upravíte konfiguraci syslogu, musíte restartovat proces démon Syslog, aby se změny projevily.

rsyslog

Konfigurační soubor pro rsyslog se nachází na /etc/rsyslog.d/95-omsagent.confadrese . 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í s úrovní upozornění nebo vyšší.

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

Zařízení můžete odebrat odebráním jeho části konfiguračního souboru. Závažnosti shromažďované pro konkrétní zařízení můžete omezit úpravou položky daného zařízení. Pokud chcete například omezit uživatelské zařízení na zprávy se závažností chyby nebo vyšší, upravte tento řádek konfiguračního souboru na následující příklad:

user.error    @127.0.0.1:25224

syslog-ng

Konfigurační soubor pro syslog-ng se nachází na /etc/syslog-ng/syslog-ng.confadrese . V tomto příkladu se zobrazuje jeho výchozí obsah. 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.

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Zařízení můžete odebrat odebráním jeho části konfiguračního souboru. Závažnosti shromažďované pro konkrétní zařízení můžete omezit tak, že je odeberete ze seznamu. Pokud například chcete omezit uživatelské zařízení tak, aby upozorňovalo jenom na kritické zprávy, upravte tuto část konfiguračního souboru, jak je znázorněno v následujícím příkladu:

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Shromažďování dat z jiných portů Syslogu

Agent Log Analytics naslouchá zprávám Syslogu na místním klientovi na portu 25224. Po instalaci agenta se použije výchozí konfigurace Syslogu a nachází se v následujícím umístění:

  • Rsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

Číslo portu můžete změnit vytvořením dvou konfiguračních souborů: konfiguračního souboru FluentD a souboru rsyslog-or-syslog-ng v závislosti na nainstalovaném démonu Syslog.

  • Konfigurační soubor FluentD by měl být nový soubor umístěný v /etc/opt/microsoft/omsagent/conf/omsagent.d položce a nahradit hodnotu v port položce vlastním číslem portu.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • Pro rsyslog byste měli vytvořit nový konfigurační soubor umístěný v /etc/rsyslog.d/ a nahradit hodnotu %SYSLOG_PORT% vlastním číslem portu.

    Poznámka:

    Pokud tuto hodnotu upravíte v konfiguračním souboru 95-omsagent.conf, při použití výchozí konfigurace agenta se přepíše.

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • Konfigurace syslog-ng by se měla upravit zkopírováním ukázkové konfigurace zobrazené další a přidáním vlastního upraveného nastavení na konec konfiguračního souboru umístěného syslog-ng.conf v /etc/syslog-ng/. Nepoužívejte výchozí popisek %WORKSPACE_ID%_oms nebo %WORKSPACE_ID_OMS. Definujte vlastní popisek, který vám pomůže odlišit změny.

    Poznámka:

    Pokud upravíte výchozí hodnoty v konfiguračním souboru, přepíšou se při použití výchozí konfigurace agenta.

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

Po dokončení změn restartujte Syslog a službu agenta Log Analytics, aby se změny konfigurace projevily.

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

Dotazy protokolu se záznamy Syslogu

Následující tabulka obsahuje různé příklady dotazů protokolu, které načítají záznamy Syslog.

Dotaz Popis
Syslog Všechny syslogy
Syslog | where SeverityLevel == "error" Všechny záznamy Syslog se závažností chyby
Syslog | summarize AggregatedValue = count() by Computer Počet záznamů Syslog podle počítače
Syslog | summarize AggregatedValue = count() by Facility Počet záznamů Syslog podle zařízení

Další kroky