Přeskočit obsah

Migrace na Parsec s event lanes

Pro migraci z LogMan.io Parser nebo LogMan.io Parsec verze menší než v24.14, která nepoužívá event lanes, použijte následující migrační příručku.

Předpoklady

  • LogMan.io Depositor >v24.11-beta
  • LogMan.io Baseliner >v24.11-beta
  • LogMan.io Correlator >v24.11-beta

Kroky migrace

  1. Vytvořte nový event lane YAML soubor /EventLanes/<tenant>/<eventlane>.yaml v Knihovně.

  2. Přidejte následující vlastnosti do eventlane:

    /EventLanes/tenant/eventlane.yaml
    ---
    define:
        type: lmio/event-lane
    
    parsec:
        name: /Parsers/path/to/parser
    
    kafka:
        received:
            topic: received.<tenant>.<stream>
        events:
            topic: events.<tenant>.<stream>
        others:
            topic: others.<tenant>
    
    elasticsearch:
        events:
            index: lmio-<tenant>-events-<eventlane>
        others:
            index: lmio-<tenant>-others
    

    (Nahraďte <tenant>, <stream>, <eventlane> a /path/to/parser specifickými hodnotami.)

  3. Vytvořte konfiguraci pro LogMan.io Parsec:

    lmio-parsec.conf
    [tenant]
    name=<tenant>
    
    [eventlane]
    name=/EventLanes/<tenant>/<eventlane>.yaml
    
    [library]
    providers=
        zk:///library
        ...
    
    [kafka]
    bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092
    
    [zookeeper]
    servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
    
  4. Použijte buď starou Consumer group nebo vytvořte novou. Nejprve otevřete kafdrop, vyhledejte odpovídající received topic, podívejte se na Consumers a najděte Group ID staré LMIO Parser/LMIO Parsec. Rozhodněte se, zda budete používat staré group.id nebo vytvoříte nové.

    Warning

    Při vytvoření nového group.id se vytvoří nová consumer group a začne číst události od začátku. (To závisí na parametru auto.offset.reset Kafka clusteru, který je ve výchozím nastavení earliest.)

    V případě, že chcete zachovat starý group.id, přidejte do konfigurace následující sekci:

    lmio-parsec.conf
    [pipeline:ParsecPipeline:KafkaSource]
    group_id=<your group id>
    

    Jinak se group.id automaticky vytvoří na základě názvu event lane: lmio-parsec-<tenant>-<eventlane>.

  5. Spusťte službu. Ujistěte se, že běží, tak že se podíváte na její logy.

    Neměly by se objevit žádné chybové logy. Pokud ano, podívejte se na troubleshooting. Měli byste také vidět upozorňující logy podobné těmto:

    NOTICE lmioparsec.app Event Lane /EventLanes/default/linux-syslog-rfc3164-10001.yaml loaded successfully.
    NOTICE lmioparsec.app [sd timezone="Europe/Prague" charset="utf-8" schema="/Schemas/ECS.yaml" parser="/Parsers/Linux/Common"] Configuration loaded.
    NOTICE lmioparsec.declaration_loader [sd parsers="3" mappings="1" enrichers="1"] Declarations loaded.
    NOTICE lmioparsec.parser.pipeline [sd source_topic="received.default.linux-syslog-rfc3164-10001" events_topic="events.default.linux-syslog-rfc3164-10001" others_topic="others.default" group.id="custom-group-id"] ParsecPipeline is ready.
    

    Zde byste měli vidět správné Kafka topics, group.id, charset, schema a timezone.

  6. Ujistěte se, že služba spotřebovává zprávy z správného topicu se správným group id. Znovu otevřete kafdrop a najděte received topic. Zkontrolujte, zda byla vytvořena nová consumer group nebo zda Combined Lag staré skupiny začíná klesat.

  7. Zkontrolujte, zda nové zprávy přicházejí do Kafky events topic.

events topic není vytvořen

Zkontrolujte others topic. Pokud tam přicházejí nové zprávy, pravidlo pro parsování není správné. Znovu zkontrolujte, zda používáte správný název parseru v event lane:

yaml "eventlane.yaml" parsec: name: /Parsers/path/to/parser

Pokud ano, pak jsou pravidla pro parsování nesprávná a měla by být změněna.

  1. Zkontrolujte, zda LogMan.io Depositor běží. Otevřete events topic a zkontrolujte, zda z něj Depositor spotřebovává zprávy (v Combined Lag).

  2. Zkontrolujte, zda jsou zprávy viditelné na obrazovce Průzkumník v uživatelském rozhraní LogMan.io.

Zprávy nejsou vůbec viditelné

Pokud nemůžete najít data na obrazovce Průzkumník, počkejte nějaký čas (cca 1-2 minuty), proces může nějakou dobu trvat. Potom zkontrolujte, zda existuje správný events topic a zda je event lane správně nakonfigurován. Pokud ano, zkontrolujte, zda zprávy nepřicházejí v nesprávném časovém pásmu nastavením časového rozsahu na (-1 den, +1 den).

Zprávy jsou viditelné ve špatném časovém pásmu

Pokud je časové pásmo nebo použitá schéma nesprávná, můžete ji přepsat v event lane:

```yaml title="/EventLanes/<tenant>/<eventlane>.yaml"
define:
    type: lmio/event-lane
    timezone: UTC
    schema: /Schemas/ECS.yaml
```