Přeskočit obsah

LogMan.io Collector

Vstupy

Dostupné vstupy a možnosti konfigurace

input:Kafka:, input:ODBC:, input:TCP:, input:Stream:, input:Datagram:, input:SubProcess:, input:SmartFile:, input:FileBlock:, input:File:, input:XML:, input:AzureEventHub:, input:BitDefender, input:Zabbix

Vstupy Microsoft Office 365 naleznete v kapitole Sběr z Microsoft Office 365. Pro vstupy ze systému Windows viz kapitolu Collecting from Windows.

input:Kafka

Tato volba je dostupná od verze v22.32.

Vytvoří konzumenta Kafky pro konkrétní .topic(s).

Možnosti konfigurace související s navázáním spojení:

bootstrap_servers: # uzly Kafka, ze kterých se mají zprávy číst (například `kafka1:9092,kafka2:9092,kafka3:9092`)

Konfigurační možnosti související s nastavením Kafka Consumer:

topic:  # Název témat, ze kterých se mají zprávy číst (například `lmio-events` nebo `^lmio.*`)
group_id:  # Název skupiny spotřebitelů (například: `collector_kafka_consumer`)
refresh_topics:  # (nepovinné) Pokud se očekává, že během konzumace bude vytvořeno více témat odpovídajících názvu tématu, tato volba určuje v sekundách, jak často se mají obnovovat odběry témat (například: `300`).

Volby bootstrap_servers, topic a group_id jsou vždy povinné.

topic může být jméno, seznam jmen oddělených mezerami nebo jednoduchý regex (pro porovnání všech dostupných témat použijte ^.*)

Další možnosti konfigurace naleznete v https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md.

input:ODBC

Zajišťuje vstup prostřednictvím připojení ovladače ODBC k zadané databázi.

Možnosti konfigurace související s navázáním spojení:

host:  # Název hostitele databázového serveru
port:  # Port, na kterém běží databázový server
user:  # Uživatelské jméno pro přihlášení k databázovému serveru (obvykle technický/přístupový účet)
heslo:  # Heslo pro výše uvedeného uživatele
driver:  # Předinstalovaný ovladač ODBC (viz seznam níže)
db:  # Název databáze, ke které se má přistupovat
connect_timeout:  # (nepovinné) Časový limit připojení v sekundách pro fond ODBC (výchozí: 1)
reconnect_delay:  # (nepovinné) Zpoždění opětovného připojení v sekundách po vypršení časového limitu pro fond ODBC (výchozí: 5,0)
output_queue_max_size:  # (nepovinné) Maximální velikost výstupní fronty, tj. úložiště v paměti (výchozí: 10)
max_bulk_size:  # (nepovinné) Maximální velikost jedné hromadné fronty složené z příchozích záznamů (výchozí 2)
output:  # Na který výstup se mají příchozí události posílat

Možnosti konfigurace týkající se dotazování do databáze:

query:  # Dotaz pro pravidelné volání databáze
chilldown_period:  # Určuje v sekundách, jak často bude výše uvedený dotaz volán (výchozí: 5)
last_value_enabled:  # Zapnout kontrolu duplicity poslední hodnoty (true/false)
last_value_table:  # Zadejte tabulku pro SELECT max({}) from {};
last_value_column:  # Sloupec v dotazu, který se použije pro získání poslední hodnoty
last_value_storage:  # Trvalé úložiště pro aktuální poslední hodnotu (výchozí: ./var/last_value_storage)
last_value_query:  # (nepovinné) Pro úplné zadání dotazu na poslední hodnotu (v případě, že je tato možnost nastavena, nebude se brát v úvahu last_value_table)
last_value_start:  # (nepovinné) První hodnota, od které se má začít (výchozí: 0)
Dostupné ovladače ODBC pro input:ODBC:

ODBC Driver 17 for SQL Server, MySQL ODBC 8.0 Unicode Driver, MySQL ODBC 8.0 ANSI Driver, Oracle 19 ODBC driver, MariaDB

Tyto ovladače jsou předinstalovány v kontejneru lmio-collector Docker.

input:TCP, input:Stream, input:Datagram.

Tyto vstupy naslouchají na dané adrese nebo v daném souboru pomocí TCP/UDP nebo unixového socketu. Ujistěte se, že porty nebo soubory jsou propagovány i mimo kontejner Docker, pokud používáte Docker.

Možnosti konfigurace pro naslouchání na dané cestě:

adresa:  # 127.0.0.1:8888 nebo /data/mysocket).
výstup:  # Na který výstup se mají posílat příchozí události

Následující konfigurační možnosti jsou k dispozici pouze pro input:Datagram:

max_packet_size:  # (nepovinné) Určuje maximální velikost paketů v bajtech (výchozí: 65536).
receiver_buffer_size:  # (nepovinné) Omezuje velikost vyrovnávací paměti přijímače v bajtech (výchozí: 0)

input:TCPBSDSyslogRFC6587, input:TCPBSDSyslogNoFraming

Speciální případy vstupu TCP pro parsování SysLog přes TCP. Další informace naleznete v https://datatracker.ietf.org/doc/html/rfc6587 a https://datatracker.ietf.org/doc/html/rfc3164#section-4.1.1

Možnosti konfigurace pro naslouchání na dané cestě:

address:  # 127.0.0.1:8888 nebo /data/mysocket).
výstup:  # Na který výstup se mají posílat příchozí události

Následující konfigurační možnosti jsou k dispozici pouze pro input:TCPBSDSyslogRFC6587:

max_sane_msg_len:  # (nepovinné) Maximální velikost zprávy SysLog, která má být přijata, v bajtech (výchozí: 10000)

Následující konfigurační volby jsou dostupné pouze pro input:TCPBSDSyslogNoFraming:

buffer_size:  # (nepovinné) Maximální velikost zprávy SysLog, která má být přijata, v bajtech (výchozí: 64 * 1024).
varianta:  # (nepovinné) Varianta formátu příchozí zprávy SysLog, může být `auto`, `nopri` bez čísla PRI na začátku a `standard` s PRI (výchozí: auto)

input:SubProcess

Vstup SubProcess spustí příkaz jako podproces sběrače LogMan.io, zatímco příkaz pravidelně kontroluje jeho výstup na stdout (řádky) a stderr.

Konfigurační možnosti zahrnují:

příkaz:  # tail -f /data/tail.log).
output:  # Na který výstup se mají odesílat příchozí události
line_len_limit:  # (nepovinné) Limit délky jednoho načteného řádku (výchozí: 1048576)
ok_return_codes:  # (nepovinné) Které návratové kódy označují stav běhu příkazu (výchozí: 0)

input:SmartFile

Simuluje chování tail -f na více souborech, jejichž obsah může být dynamicky měněn. nebo mohou být soubory zcela odstraněny jiným procesem.

Vstup Smart File vytvoří sledovaný objekt souboru pro každou cestu k souboru, která je zadána v poli konfiguraci v možnostech cesta.

Sledovaný soubor pravidelně kontroluje, zda se v něm nevyskytují nové řádky, a pokud se nějaký vyskytne, je řádek načten v bajtech a předán dále do pipeline včetně metainformací jako je název souboru a extrahované části cesty k souboru (viz konfigurace extract_ níže).

Aktuální pozice v souboru je uložena v paměti poslední pozice v proměnné position. Pokud je soubor s uložením poslední pozice smazán nebo není zadán, jsou všechny soubory načteny znovu. po restartu LogMan.io Correlator, tj. žádná perzistence znamená reset čtení při restartu.

Pozor: Pokud je velikost souboru menší než předchozí zapamatovaná velikost souboru, soubor se znovu přečte jako celek a odešle se do potrubí rozdělený na řádky.

Mezi dostupné možnosti konfigurace patří:

cesta:  (výchozí: /data/smarttest/*).
last_position_storage:  Trvalé úložiště pro aktuální pozice v načítaných souborech (výchozí: ./var/last_position_storage)
scan_period: (nepovinné) Perioda skenování souborů v sekundách (výchozí: 3)
read_size: (nepovinné) Jeden cyklus čtení v bajtech (výchozí: 4096)
recursive: (nepovinné) Rekurzivní skenování zadaných cest (výchozí: True)
newline: (nepovinné) Oddělovač řádků souboru, např. \n (výchozí je oddělovač řádků OS)
preserve_newline: (nepovinné) Zachování znaku nového řádku ve výstupu (výchozí: False)

Následující konfigurační volby umožňují kontrolovat, zda čas modifikace načítaných souborů není starší než zadaný limit. Například limit ignore_older_than pro načítané soubory lze nastavit na ignore_older_than: 20d nebo ignore_older_than: 100s.

ignore_older_than: (nepovinné) Limit ve dnech, hodinách, minutách nebo sekundách pro čtení pouze souborů změněných po tomto limitu (výchozí: "", např. "1d", "1h", "1m", "1s").
read_only_increments:  (nepovinné) číst pouze řádky vytvořené po spuštění aplikace (výchozí: True)

K dispozici jsou také volby pro extrakci informací z názvu souboru nebo cesty k souboru pomocí regulárního výrazu. Extrahované části jsou pak uloženy jako metadata (která implicitně obsahují jedinečné meta ID a název souboru). Konfigurační volby začínají předponou extract_ a zahrnují následující:

extract_source:  # (nepovinné) název_souboru nebo cesta_k_souboru (výchozí: cesta_k_souboru)
extract_regex:  # (nepovinný) regex pro extrakci názvů polí ze zdroje extraktu (ve výchozím nastavení vypnuto)

extract_regex musí obsahovat pojmenované skupiny. Názvy skupin se použijí jako klíče polí pro extrahované informace. Nepojmenované skupiny nevytvářejí žádná data.

Uvažujte například následující konfiguraci:

extract_regex: ^/data/(?P<dvchost>\w+)/(?P<tenant>\w+)\.log$

Extrahovaná metadata pro soubor /data/myserver.xyz/tenant-1.log budou následující

{
  "meta": {
    "dvchost": "myserver.xyz",
    "tenant": "tenant-1"
  }
}

Následující příklad konfigurace vstupu SmartFile s extrakcí atributů z názvu souboru pomocí regexu a související výstup File:

input:SmartFile:SmartFileInput:
  cesta: ./etc/tail.log
  extract_source: název_souboru
  extract_regex: ^(?P<dvchost>\w+).log$
  output: FileOutput

output:File:FileOutput:
  cesta: /data/my_path.txt
  prepend_meta: true
  debug: true

prepend_meta: true předvyplní metainformace, jako jsou extrahované názvy polí, do řádku/události protokolu jako dvojice klíč-hodnota oddělené mezerami

input:File, input:FileBlock, input:XML

Tyto vstupy načítají zadané soubory po řádcích (input:File) nebo jako celý blok (input:FileBlock, input:XML). a předávají jejich obsah dále do koncovky.

V závislosti na režimu pak mohou být soubory přejmenovány na <FILE_NAME>-processed. a je-li jich pomocí zástupného znaku zadáno více, bude otevřen další soubor, načten a zpracován stejným způsobem.

Dostupné konfigurační možnosti pro otevírání, čtení a zpracování souborů zahrnují:

cesta:  # Zadejte cestu k souboru (souborům), lze použít i zástupné znaky (např. /data/lines/*).
chilldown_period:  # Pokud je v cestě použito více souborů nebo zástupný znak, zadejte, jak často v sekundách se mají kontrolovat nové soubory (výchozí: 5)
output:  # Na který výstup se mají posílat příchozí události
mode:  # (nepovinné) Režim, ve kterém se bude soubor číst (výchozí: 'rb')
newline:  # (nepovinné) Oddělovač řádků souboru (výchozí je hodnota os.linesep)
post:  # (nepovinné) Určuje, co se má se souborem stát po přečtení - delete (smazání souboru), noop (žádné přejmenování), move (přejmenování na `<FILE_NAME>-processed`, výchozí)
exclude (vyloučit):  # (nepovinné) Cesta k názvům souborů, které mají být vyloučeny (má přednost před 'include')
include:  # (nepovinné) Cesta k názvům souborů, které mají být zahrnuty
encoding:  # (nepovinné) Kódování hlsetů obsahu souboru
move_destination:  # (nepovinné) Cílová složka pro příspěvek 'move', ujistěte se, že je mimo cestu uvedenou výše
lines_per_event:  # (nepovinné) Počet řádků, po kterých metoda čtení přejde do klidového stavu, aby umožnila ostatním operacím provést jejich úkoly (výchozí: 10000)
event_idle_time:  # (nepovinné) Doba v sekundách, po kterou metoda čtení přejde do klidového stavu, viz výše (výchozí: 0,01)