File: //etc/vector/examples/wrapped_json.yaml
# JSON Configuration Example
# ------------------------------------------------------------------------------
# A simple example that parses incoming data as JSON. This example also
# demonstrated wrapped JSON, showing that you can chain VRL expressions
# together to quickly traverse nested objects with simple path notation.
data_dir: "/var/lib/vector"
# Ingest data
# Example: {"message": "{\"parent\": \"{\\\"child\\\": \\\"value2\\\"}\"}"}
# Docs: https://vector.dev/docs/reference/sources/file
sources:
logs:
type: "file"
include: [ "/var/log/*.log" ]
ignore_older_secs: 86400 # 1 day
# Parse the data as JSON
# Docs: https://vector.dev/docs/reference/transforms/remap
transforms:
parse_json:
inputs: [ "logs" ]
type: "remap"
drop_on_error: false
source: |
message = del(.message)
. |= parse_json!(string!(message))
parent = del(.parent)
. |= parse_json!(string!(parent))
child = del(.child)
. |= parse_json!(string!(child))
# Print the data to STDOUT for inspection
# Docs: https://vector.dev/docs/reference/sinks/console
sinks:
out:
inputs: [ "parse_json" ]
type: "console"
encoding:
codec: "json"