Přeskočit obsah

JSON parser

JSON parser se používá k analýze událostí (nebo částí událostí) se strukturou JSON.

parser_json.yaml
define:
    name: JSON parser
    type: parsec/parser/json
    field: <custom_field>
    target: <custom_target>

Když je field specifikován, analýza se aplikuje na toto pole; ve výchozím nastavení se aplikuje na původní událost.

Když je target specifikován, analyzovaný objekt je uložen do určeného cílového pole; ve výchozím nastavení je uložen s klíčem json. Cílové pole musí vyhovovat regulárnímu výrazu json[0-9a-zA-Z] (začínající "json" následované jakýmkoli alfanumerickým znakem).

Example
  1. Následující původní událost se strukturou JSON je analyzována JSON parserem s výchozími nastaveními:

    {
        "key": {
            "foo": 1,
            "bar": 2
        }
    }
    
    10_parser.yaml
    define:
        name: JSON parser
        type: parsec/parser/json
    

    Výsledná událost bude:

    {
        "json": <JSON object>,
    }
    
  2. Následující událost obsahuje část JSON uvnitř, takže JSON parser může být aplikován na toto předanalyzované pole a výsledek bude uložen do vlastního pole jsonMessage:

    <14>1 2023-05-03 15:06:12 {"key": {"foo": 1, "bar": 2}}
    
    20_parser_message.yaml
    define:
        name: JSON parser
        type: parsec/parser/json
        field: message
        target: jsonMessage
    

    Výsledná událost bude:

    ```json
    {
        "log.syslog.priority": 14,
        "@timestamp": 140994182325993472,
        "message": "{"key": {"foo": 1, "bar": 2}}",
        "jsonMessage": <JSON object>
    }
    ```