[Zastaralé] Použití Logstash ke streamování protokolů pomocí rozhraní API pro shromažďování dat HTTP (starší verze)
Důležité
Shromažďování protokolů z mnoha zařízení a zařízení teď podporuje common event Format (CEF) prostřednictvím AMA, Syslogu přes AMA nebo vlastní protokoly prostřednictvím datového konektoru AMA v Microsoft Sentinelu. Další informace najdete v tématu Vyhledání datového konektoru služby Microsoft Sentinel.
Důležité
Příjem dat pomocí výstupního modulu plug-in Logstash je aktuálně ve verzi Public Preview. Tato funkce je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Poznámka:
Novější verze modulu plug-in Logstash může předávat protokoly z externích zdrojů dat do vlastních a standardních tabulek pomocí rozhraní API založeného na DCR. Nový modul plug-in umožňuje úplnou kontrolu nad výstupním schématem, včetně konfigurace názvů a typů sloupců.
Pomocí výstupního modulu plug-in Microsoft Sentinelu pro modul shromažďování dat Logstash můžete odesílat libovolný typ protokolu, který chcete, přímo do pracovního prostoru Služby Log Analytics v Microsoft Sentinelu. Vaše protokoly se odešlou do vlastní tabulky, kterou definujete pomocí výstupního modulu plug-in. Tato verze modulu plug-in používá rozhraní API pro shromažďování dat HTTP.
Další informace o práci s modulem shromažďování dat Logstash najdete v tématu Začínáme s Logstash.
Přehled
Architektura a pozadí
Modul Logstash se skládá ze tří komponent:
- Vstupní moduly plug-in: Přizpůsobené shromažďování dat z různých zdrojů
- Moduly plug-in filtru: Manipulace a normalizace dat podle zadaných kritérií.
- Výstupní moduly plug-in: Přizpůsobené odesílání shromážděných a zpracovávaných dat do různých cílů.
Poznámka:
Microsoft podporuje pouze výstupní modul plug-in Logstash poskytovaný službou Microsoft Sentinel. Aktuální verze tohoto modulu plug-in je v1.0.0, vydaná 2020-08-25. Můžete otevřít lístek podpory pro všechny problémy související s výstupním modulem plug-in.
Microsoft nepodporuje výstupní moduly plug-in Logstash třetích stran pro Microsoft Sentinel ani žádný jiný modul plug-in Logstash nebo komponentu jakéhokoli typu.
Výstupní modul plug-in Logstash od Microsoft Sentinelu podporuje pouze Logstash verze 7.0 až 7.17.10 a verze 8.0 až 8.9 a 8.11. Pokud používáte Logstash 8, doporučujeme v kanálu zakázat ECS.
Výstupní modul plug-in Služby Microsoft Sentinel pro Logstash odesílá data ve formátu JSON do pracovního prostoru služby Log Analytics pomocí rozhraní REST API kolektoru dat HTTP služby Log Analytics. Data se ingestují do vlastních protokolů.
- Přečtěte si další informace o rozhraní REST API služby Log Analytics.
- Přečtěte si další informace o vlastních protokolech.
Nasazení výstupního modulu plug-in Microsoft Sentinel v Logstash
Krok 1: Instalace
Výstupní modul plug-in Microsoft Sentinelu je k dispozici v kolekci Logstash.
Postupujte podle pokynů v dokumentu Práce s moduly plug-in Logstash a nainstalujte modul plug-in Microsoft-logstash-output-azure-loganalytics.
Pokud váš systém Logstash nemá přístup k internetu, postupujte podle pokynů v dokumentu o správě offline modulů plug-in Logstash a připravte a použijte offline balíček modulů plug-in. (To bude vyžadovat vytvoření jiného systému Logstash s přístupem k internetu.)
Krok 2: Konfigurace
Použijte informace v logtash Struktury konfiguračního souboru dokumentu a přidejte výstupní modul plug-in Microsoft Sentinel do konfigurace s následujícími klíči a hodnotami. (Za tabulkou se zobrazí správná syntaxe konfiguračního souboru.)
Název pole | Datový typ | Popis |
---|---|---|
workspace_id |
string | Zadejte identifikátor GUID ID pracovního prostoru (viz Tip). |
workspace_key |
string | Zadejte identifikátor GUID primárního klíče pracovního prostoru (viz Tip). |
custom_log_table_name |
string | Nastavte název tabulky, do které se budou protokoly ingestovat. Pro každý výstupní modul plug-in je možné nakonfigurovat pouze jeden název tabulky. Tabulka protokolů se zobrazí v Microsoft Sentinelu v části Protokoly v tabulkách v kategorii Vlastní protokoly s příponou_CL . |
endpoint |
string | Volitelné pole. Ve výchozím nastavení se jedná o koncový bod Log Analytics. Toto pole použijte k nastavení alternativního koncového bodu. |
time_generated_field |
string | Volitelné pole. Tato vlastnost přepíše výchozí pole TimeGenerated v Log Analytics. Zadejte název pole časového razítka ve zdroji dat. Data v poli musí odpovídat formátu ISO 8601 (YYYY-MM-DDThh:mm:ssZ ) |
key_names |
pole | Zadejte seznam polí výstupního schématu Log Analytics. Každá položka seznamu by měla být uzavřena v jednoduchých uvozovkách a položky oddělené čárkami a celý seznam uzavřený v hranatých závorkách. Viz příklad níže. |
plugin_flush_interval |
Číslo | Volitelné pole. Nastavte definování maximálního intervalu (v sekundách) mezi přenosy zpráv do Log Analytics. Výchozí volba je 5. |
amount_resizing |
boolean | Pravda nebo nepravda. Povolte nebo zakažte mechanismus automatického škálování, který upraví velikost vyrovnávací paměti zprávy podle objemu přijatých dat protokolu. |
max_items |
Číslo | Volitelné pole. Platí pouze v případě, že amount_resizing je nastavená hodnota false. Slouží k nastavení limitu velikosti vyrovnávací paměti zprávy (v záznamech). Výchozí hodnota je 2000. |
azure_resource_id |
string | Volitelné pole. Definuje ID prostředku Azure, ve kterém se nacházejí data. Hodnota ID prostředku je zvlášť užitečná, pokud k poskytování přístupu pouze ke konkrétním datům používáte řízení přístupu na základě kontextu prostředku. |
Tip
- ID pracovního prostoru a primární klíč najdete v prostředku pracovního prostoru v části Správa agentů.
- Vzhledem k tomu, že přihlašovací údaje a další citlivé informace uložené v konfiguračních souborech nejsou v souladu s osvědčenými postupy zabezpečení, důrazně doporučujeme používat úložiště klíčů Logstash k bezpečnému zahrnutí ID pracovního prostoru a primárního klíče pracovního prostoru do konfigurace. Pokyny najdete v dokumentaci k Elastic.
Ukázkové konfigurace
Tady je několik ukázkových konfigurací, které používají několik různých možností.
Základní konfigurace, která používá vstupní kanál filebeat:
input { beats { port => "5044" } } filter { } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<your workspace id>" workspace_key => "<your workspace key>" custom_log_table_name => "tableName" } }
Základní konfigurace, která používá vstupní kanál tcp:
input { tcp { port => "514" type => syslog #optional, will effect log type in table } } filter { } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<your workspace id>" workspace_key => "<your workspace key>" custom_log_table_name => "tableName" } }
Pokročilá konfigurace:
input { tcp { port => 514 type => syslog } } filter { grok { match => { "message" => "<%{NUMBER:PRI}>1 (?<TIME_TAG>[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})[^ ]* (?<HOSTNAME>[^ ]*) %{GREEDYDATA:MSG}" } } } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<WS_ID>" workspace_key => "${WS_KEY}" custom_log_table_name => "logstashCustomTable" key_names => ['PRI','TIME_TAG','HOSTNAME','MSG'] plugin_flush_interval => 5 } }
Pokročilejší konfigurace pro analýzu vlastního časového razítka a řetězce JSON z nestrukturovaných textových dat a protokolování vybrané sady polí do Log Analytics pomocí extrahovaného časového razítka:
# Example log line below: # Mon Nov 07 20:45:08 2022: { "name":"_custom_time_generated", "origin":"test_microsoft", "sender":"test@microsoft.com", "messages":1337} # take an input input { file { path => "/var/log/test.log" } } filter { # extract the header timestamp and the Json section grok { match => { "message" => ["^(?<timestamp>.{24}):\s(?<json_data>.*)$"] } } # parse the extracted header as a timestamp date { id => 'parse_metric_timestamp' match => [ 'timestamp', 'EEE MMM dd HH:mm:ss yyyy' ] timezone => 'Europe/Rome' target => 'custom_time_generated' } json { source => "json_data" } } # output to a file for debugging (optional) output { file { path => "/tmp/test.txt" codec => line { format => "custom format: %{message} %{custom_time_generated} %{json_data}"} } } # output to the console output for debugging (optional) output { stdout { codec => rubydebug } } # log into Log Analytics output { microsoft-logstash-output-azure-loganalytics { workspace_id => '[REDACTED]' workspace_key => '[REDACTED]' custom_log_table_name => 'RSyslogMetrics' time_generated_field => 'custom_time_generated' key_names => ['custom_time_generated','name','origin','sender','messages'] } }
Poznámka:
Další informace o vnitřních funkcích, konfiguraci a nastavení výkonu najdete v úložišti GitHubu pro výstupní modul plug-in.
Krok 3: Restartování logstash
Krok 4: Zobrazení příchozích protokolů v Microsoft Sentinelu
Ověřte, že se zprávy odesílají do výstupního modulu plug-in.
V navigační nabídce služby Microsoft Sentinel klikněte na Protokoly. Pod nadpisem Tabulky rozbalte kategorii Vlastní protokoly. V konfiguraci vyhledejte a klikněte na název tabulky, kterou jste zadali (s příponou
_CL
).Pokud chcete zobrazit záznamy v tabulce, zadejte dotaz na tabulku pomocí názvu tabulky jako schématu.
Monitorování protokolů auditu výstupního modulu plug-in
Pokud chcete monitorovat připojení a aktivitu výstupního modulu plug-in Microsoft Sentinel, povolte příslušný soubor protokolu Logstash. Informace o umístění souboru protokolu najdete v dokumentu Rozložení adresáře Logstash.
Pokud se v tomto souboru protokolu nezobrazují žádná data, vygenerujte a odešlete některé události místně (prostřednictvím modulů plug-in pro vstup a filtrování), abyste měli jistotu, že výstupní modul plug-in přijímá data. Microsoft Sentinel bude podporovat pouze problémy související s výstupním modulem plug-in.
Další kroky
V tomto dokumentu jste zjistili, jak pomocí Logstash připojit externí zdroje dat ke službě Microsoft Sentinel. Další informace o službě Microsoft Sentinel najdete v následujících článcích:
- Zjistěte, jak získat přehled o datech a potenciálních hrozbách.
- Začněte zjišťovat hrozby pomocí Služby Microsoft Sentinel.