Přeskočit obsah

TeskaLabs LogMan.io Integrační služba

LogMan.io Integ umožňuje integraci TeskaLabs LogMan.io s podporovanými externími systémy prostřednictvím očekávaného formátu zprávy a vstupně/výstupního protokolu.

LogMan.io Integ využívá deklarativní Transformery specifikované v YAML souborech a uložené ve skupině (např. integ atd.) v knihovně LogMan.io.

Konfigurace

K připojení LogMan.io k externímu systému, jako je ArcSight, konfigurujte instanci LogMan.io Integ, přičemž specifikujete skupinu transformátorů, Kafka vstup a Kafka nebo TCP výstupy v vlastních sekcích, jako MyTCPOutput:

# Nastavení transformátorů

[declarations]
library=/library
groups=integ
include_search_path=filters/*

# Nastavení vstupu

[connection:KafkaConnection]
bootstrap_servers=lm1:19092,lm2:29092,lm3:39092

[pipeline:TransformersPipeline:KafkaSource]
topic=lmio-events

# Nastavení výstupů - jsou vybírány individuálními transformátory

[MyTCPOutput]
address=lm1:9999

[MyKafkaOutput]
topic=lmio-output

Transformery

Transformery jsou deklarativní procesory, které vytvářejí vlastní věnovaný pipeline s KafkaSource a výstupním modulem.

Příklad

---
define:
  name: ArcSight Transformer for Correlations
  type: transformer/default
   format: string

output:
  - type: kafka/tcp/unix-stream/null
    config: MyTCPOutput
    format: string/json
    latch: 0

predicate:
  !EQ
  - !ITEM EVENT type
  - Correlation

transform:
  !JOIN
  delimiter: ""
  items:
  - !JOIN
    delimiter: "|"
    items:
    - CEF:0
    - TeskaLabs
    - LogMan.io
    - 1.2.3
    - !ITEM EVENT name
  - !DICT.FORMAT
    what: !EVENT
    type: cef

Sekce define

Tato sekce obsahuje společnou definici a metadata.

Položka name

Krátké lidsky čitelné jméno této deklarace.

Položka type

Typ této deklarace, musí být transformer/default.

Položka description (volitelné)

Delší, případně víceliniový, lidsky čitelný popis deklarace.

Položka field_alias (volitelné)

Název aliasového vyhledávacího pole, které má být načteno, takže aliasová jména atributů událostí mohou být používána v deklaraci spolu s jejich kanonickými jmény.

Sekce output

Sekce output specifikuje seznamy výstupů.

Položka type

Typ výstupu, např. kafka, unix-stream, tcp, null.

Položka format

Formát události produkované transformátorem, buď string nebo json (výchozí: string).

Položka config

Konfigurační sekce pro daný výstup uložený v souboru .conf, například MyKafkaOutput nebo MyTCPOutput (viz konfigurace výše).

Specifikujte topic pro Kafka výstup a address pro TCP/Unix Stream.

Položka latch

Pokud je nastavena, výstupní události jsou ukládány do latch fronty, aby byly přístupné prostřednictvím periodického API volání na /latch. Počet uložených událostí je předán pomocí hodnoty, např. latch: 30 bude ukládat posledních 30 událostí pro každý transformátor. Výchozí: !!null.

Sekce predicate (volitelné)

predicate filtruje příchozí události pomocí výrazu. Pokud výraz vrátí True, událost vstoupí do sekce transform. Pokud výraz vrátí False, událost je přeskočena.

Ostatní vrácené hodnoty jsou nedefinované.

Tato sekce může být použita k urychlení integrace přeskočením řádků s očividně nerelevantním obsahem.

Zahrnutí vnořených filtrů predicate

Filtry predicate jsou výrazy umístěné v samostatném souboru, které mohou být zahrnuty do mnoha různých predikátů jako jejich části.

Pokud chcete zahrnout externí filtr predikátů, umístěný buď ve složce include nebo ve složce filters (tato je globální složkou umístěnou na nejvyšší úrovni hierarchie knihovny LogMan.io), použijte výraz !INCLUDE:

!INCLUDE predicate_filter

kde predicate_filter je jméno souboru plus přípona .yaml. Obsah predicate_filter.yaml je výraz, který má být zahrnut, například:

---
!EQ
- !ITEM EVENT category
- "MyEventCategory"

Sekce transform

Tato sekce specifikuje skutečný transformující mechanismus. Očekává, že bude vrácen slovník nebo None, což znamená, že transformace nebyla úspěšná.