Logmanager dokumentace
Přepnout tmavý/světlý/automatický režim Přepnout tmavý/světlý/automatický režim Přepnout tmavý/světlý/automatický režim Zpět na domovskou stránku

Parsery

V této části Logmanageru se řeší problematika zdrojových zařízení, ze kterých získáváme logy. Zařízením je v tomto případě myšleno hardwarové zařízení, ale i software včetně Windows. Každé zařízení, které nastavíme, aby zasílalo zprávy do systému Logmanager, je potřeba definovat v této sekci.

Diagram průchodu zprávy systémem

Diagram průchodu zprávy systémem

Logika systému je rozdělena na několik hlavních skupin. Nejdříve se řeší klasifikace příchozích zpráv. Podle identifikátorů, které každá zpráva obsahuje, se nastaví klasifikace. Z klasifikace se zpráva předá do parseru, kde se zpracuje její obsah.

Zbývající položky této sekce obsahují rozšířené funkce pro klasifikaci a parsery.

Formát uložené zprávy

Každá zpráva, která projde systémem, se uloží do databáze ve standardizovaném formátu. Na základě tohoto formátu lze se zprávami v systému pracovat, proto je vhodné znát uložení a význam konkrétních komponent zprávy.

Syntaxe

Zprávy využívají následující syntaxi:

{
  "pole": "hodnota"
}

{
  "pole1": "textová_hodnota",
  "pole2": celočíselná_hodnota,
  "pole3": float_hodnota,
  "pole4": [
    list
  ],
  "pole5": {
    slovník
  },
  "pole6": {
    "subpole1": "hodnota1",
    "subpole2": "hodnota2"
  }
}

Příklady:

  • textová hodnota: „sample text“,
  • číselná hodnota: 259,
  • float hodnota: 259.54,
  • list: [„sample text“, 259, „“],
  • slovník: {„pole1“: „sample text“, „pole2“: 259},
  • pro získání hodnoty subpole se použije tečková notace: pole6.subpole2.

Příklady korektních názvů polí:

  • protocol
  • url_path
  • service-internal-1
  • service_internal_1

Příklady chybných názvů polí:

Chybný název pole Automaticky opravený název pole
Protocol invalid_protocol
url%path invalid_url_path
1-service-internal invalid_1-service-internal
service@internal invalid_service_internal

Pravidla pro práci se zprávami

U zpráv jsou aplikována následující pravidla:

  • název pole je vždy psán pouze malými písmeny, doplněný čísly, pomlčkou a podtržítkem,
  • pokud je pole pojmenováno chybně, bude automaticky očištěno od chybných znaků a doplněno o text invalid_.
  • hodnota může být prázdná, číselná, textová, list a slovník,
  • float hodnota nesmí být NaN a nekonečno,
  • pole, která obsahují v názvu znak @:
    • jsou generovány interně,
    • znak @ nebo _ nelze použít v parserech nebo klasifikátorech,
    • mohou obsahovat rozšiřující informace ve formátu list nebo slovník.

Popis zpráv

Obecný formát uložené zprávy:

{
  "@timestamp": "",
  "raw": "",
  "meta": {
    "event@id": "",
    "forwarder@id": "",
    "instance@id": "",
    "parser": "",
    "plugin": "",
    "tags": [],
    "tags@id": [],
    "timestamp": "",
    "src": {},
    "type": ""
  },
  "msg": {},
  "raw_offset": 0,
  "@version": ""
}

Popis formátu:

  • @timestamp: časový údaj, kdy byla zpráva doručena do systému Logmanager,
  • raw: originální obsah zdrojové zprávy,
  • meta: obsahuje interní informace o zprávě,
    • event@id: automaticky generované unikátní ID pro každou přijatou událost,
    • forwarder@id: identifikace forwarderu, který zprávu odeslal na server Logmanager,
    • instance@id: identifikace instance, do které byla zpráva doručena,
    • parser: jméno parseru, který zprávu zpracoval,
    • plugin: jméno zdroje, kterým byla zpráva doručena,
    • tags: list hodnot tagů, kterými je zpráva označena,
    • tags@id: list identifikátorů tagů, kterými je zpráva označena,
    • timestamp: časový údaj, kdy byla zpráva doručena do systému Logmanager,
    • src: obsahuje zdrojové informace odkud byla zpráva do systému Logmanager doručena (IP adresa, protokol…),
  • type: označuje interní stav zprávy, zda zpráva prošla parserem,
  • msg: obsahuje slovník polí vygenerovaných na základě parserů, kterými zpráva prošla,
  • raw_offset: určuje pozici v textu, odkud je zpráva zpracovávána parsery,
  • @version: interní verze zprávy v systému.
Při práci se zprávami používejte pouze hodnoty uvedené v polích msg, meta, raw a raw_offset.Ostatní pole jsou systémová a v budoucích verzích systému Logmanager se mohou změnit, proto s nimi nedoporučujeme pracovat.

Ukázka kompletní uložené zprávy v systému Logmanager

{
  "_index": "lm-demo-2017.01.26",
  "_type": "microsoft-windows",
  "_id": "AVnZ_79FTDlIxPtA3bf8",
  "_score": null,
  "_source": {
    "msg": {
      "eventid": "7036",
      "processid": "500",
      "systemtime": "2017-01-26T08:58:00.078932400Z",
      "guid": "{555908d1-a6d7-4695-8e1e-26931d2012f4}",
      "uuid": "34B64D56-E785-1328-0EC0-E6CD20C4A9F9",
      "osservicepack": "",
      "eventsourcename": "Service Control Manager",
      "eventrecordid": "140740",
      "osname": "Windows 8 or Windows Server 2012",
      "eventtype": "System",
      "osedition": "Standard Server",
      "computer": "pc-example",
      "param2": "stopped",
      "param1": "Adobe Flash Player Update Service",
      "threadid": "2384",
      "message": "The Adobe Flash Player Update Service service entered the stopped state.",
      "eventid@int": {
        "value": 7036
      },
      "senderversion": "2.4.6004.23920",
      "channel": "System",
      "name": "Service Control Manager"
    },
    "raw": "<36>1 2017-01-26T09:58:01.094556+01:00 pc-example ServiceControlManager 500 msgld {\"senderversion\": \"2.4.6004.23920\", \"eventtype\": \"System\", \"eventid\": \"7036\", \"eventrecordid\": \"140740\", \"osname\": \"Windows 8 or Windows Server 2012\", \"osedition\": \"Standard Server\", \"osservicepack\": \"\", \"uuid\": \"34B64D56-E785-1328-0EC0-E6CD20C4A9F9\", \"name\": \"Service Control Manager\", \"guid\": \"{555908d1-a6d7-4695-8e1e-26931d2012f4}\", \"eventsourcename\": \"Service Control Manager\", \"systemtime\": \"2017-01-26T08:58:00.078932400Z\", \"processid\": \"500\", \"threadid\": \"2384\", \"channel\": \"System\", \"computer\": \"pc-example\", \"param1\": \"Adobe Flash Player Update Service\", \"param2\": \"stopped\", \"message\": \"The Adobe Flash Player Update Service service entered the stopped state.\"}",
    "@timestamp": "2017-01-26T08:58:03.595+00:00",
    "meta": {
      "forwarder@id": "00000000-0000-0000-0000-000000000000",
      "tags": ["windows"],
      "timestamp": "2017-01-26T08:58:03.595836+00:00",
      "parser": "microsoft-windows",
      "tags@id": ["3d3f2c7f-d1db-4442-9ff2-ea60c56716a8"],
      "instance@id": "00000000-0000-0000-0000-000000000000",
      "src": {
        "dialect": "relp",
        "severity": "warning",
        "facility": "auth",
        "ip": "192.0.2.56",
        "ip@ip": {
          "city": "New York",
          "is_reserved": false,
          "value": "192.0.2.56",
          "version": 4,
          "country_code": "US",
          "is_multicast": false,
          "country_name": "United States",
          "ptr": "pc-example.example.com",
          "is_link_local": false
        },
        "pid": "500",
        "host": "pc-example",
        "program": "ServiceControlManager"
      },
      "type": "user",
      "plugin": "windows"
    },
    "raw_offset": 82,
    "@version": "1"
  }
}

Popis ukázkové zprávy:

  • zpracované informace ze zdrojové zprávy jsou umístěny v poli msg,
  • originální zdrojová zpráva je zobrazena v poli raw,
  • informace, odkud byla zpráva odeslána, jsou zobrazeny v poli src.