JSON parser¶
JSON parser se používá k analýze událostí (nebo částí událostí) se strukturou JSON.
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
-
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.yamldefine: name: JSON parser type: parsec/parser/json
Výsledná událost bude:
{ "json": <JSON object>, }
-
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.yamldefine: 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> } ```