Forward Protocol Input
Reads events via the Fluent Forward protocol on a Unix domain socket.
Supports all standard Forward protocol modes:
- Message:
[tag, time, record] - Forward:
[tag, [[time, record], ...]] - PackedForward:
[tag, packed_entries_bin]
Each record is decoded from msgpack and emitted as a JSON line with the Forward tag injected as a "tag" field.
Config Files
To configure the Forward protocol input module, Edit these files.
Below is the default configuration from: forward/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgImZvcndhcmQiIDogewogICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgImlucHV0UG9ydCIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiVENQIHBvcnQgZm9yIEZvcndhcmQgcHJvdG9jb2wgaW5wdXRcblxuVENQIHBvcnQgd2hlcmUgTG9nMTB4IGxpc3RlbnMgZm9yIGluY29taW5nIEZsdWVudCBGb3J3YXJkIHByb3RvY29sIG1lc3NhZ2VzLiBTdXBwb3J0cyBhbGwgc3RhbmRhcmQgRm9yd2FyZCBwcm90b2NvbCBtb2RlcyAoTWVzc2FnZSwgRm9yd2FyZCwgUGFja2VkRm9yd2FyZCkuIEVhY2ggaW5jb21pbmcgcmVjb3JkIGlzIGRlY29kZWQgZnJvbSBtc2dwYWNrIGFuZCBlbWl0dGVkIGFzIEpTT04gZm9yIHRoZSBwaXBlbGluZS4gIEV4YW1wbGU6IGAyNDIyNGAgKERlZmF1bHQ6IDI0MjI0KSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAiMjQyMjQiCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRQYXRoIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJVbml4IHNvY2tldCBwYXRoIGZvciBGb3J3YXJkIHByb3RvY29sIGlucHV0IChvdmVycmlkZXMgcG9ydClcblxuVW5peCBkb21haW4gc29ja2V0IHBhdGggd2hlcmUgTG9nMTB4IGxpc3RlbnMgZm9yIGluY29taW5nIEZsdWVudCBGb3J3YXJkIHByb3RvY29sIG1lc3NhZ2VzLiBXaGVuIHNldCwgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBUQ1AgcG9ydC4gIEV4YW1wbGU6IGAvdG1wL3RlbngtZm9yd2FyZC1pbi5zb2NrYCIKICAgICAgICB9LAogICAgICAgICJzb3VyY2VQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJFdmVudCBzb3VyY2UgY2FwdHVyZSByZWdleCBwYXR0ZXJuXG5cbkRlZmluZXMgYSByZWdleCBwYXR0ZXJuIHRvIGNhcHR1cmUgJ3NvdXJjZScgdmFsdWVzIGZvciBlYWNoIHRyYW5zZm9ybWVkIFRlblhPYmplY3QuIFRoZSBGb3J3YXJkIHByb3RvY29sIHRhZyBpcyBpbmplY3RlZCBpbnRvIGVhY2ggcmVjb3JkIGFzIGEgXCJ0YWdcIiBmaWVsZC4gVGhlIGRlZmF1bHQgcGF0dGVybiBleHRyYWN0cyB0aGlzIHRhZyBhcyB0aGUgZXZlbnQgc291cmNlLiAoRGVmYXVsdDogXCJ0YWdcIjpcIiguKj8pXCIpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICJcInRhZ1wiOlwiKC4qPylcIiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'run' Forward protocol input configuration
#
# Configure an input that receives events via the Fluent Forward protocol
# on a Unix domain socket. To learn more see https://doc.log10x.com/run/input/forward/
# Set the 10x pipeline to 'run'
tenx: run
# =============================== Dependencies ================================
include: run/modules/input/forward
# ======================== Forward Protocol Options ============================
forward:
# ----------------------------- Input Options -----------------------------
# 'inputPort' specifies the TCP port to listen on for Forward protocol messages
inputPort: $=TenXEnv.get("TENX_FORWARD_INPUT_SOCKET", "24224")
# 'inputPath' specifies a Unix domain socket path to listen on instead of TCP.
# When set, takes precedence over 'inputPort'.
inputPath: $=TenXEnv.get("TENX_FORWARD_INPUT_ADDRESS", "")
# ---------------------------- Parsing Options ----------------------------
# 'extractors' defines a list of JSON/regex extractor names
# used to capture and redact event values from 'path' to transform
# into TenXObjects. To learn more see: https://doc.log10x.com/run/input/extract
extractors: [
]
# 'sourcePattern' defines a regex pattern that captures a 'source' value
# for each event received via the Forward protocol and transformed into
# a TenXObject. The Forward tag is injected as a "tag" field in each
# record, so the default pattern extracts the source from the tag.
sourcePattern: null
Options
Specify the options below to configure the Forward protocol input:
| Name | Description |
|---|---|
| forwardInputPort | TCP port for Forward protocol input |
| forwardInputPath | Unix socket path for Forward protocol input (overrides port) |
| forwardSourcePattern | Event source capture regex pattern |
forwardInputPort
TCP port for Forward protocol input.
| Type | Default |
|---|---|
| String | 24224 |
TCP port where Log10x listens for incoming Fluent Forward protocol messages.
Supports all standard Forward protocol modes (Message, Forward, PackedForward). Each incoming record is decoded from msgpack and emitted as JSON for the pipeline.
Example: 24224.
forwardInputPath
Unix socket path for Forward protocol input (overrides port).
| Type | Default |
|---|---|
| String | "" |
Unix domain socket path where Log10x listens for incoming Fluent Forward protocol messages. When set, takes precedence over the TCP port.
Example: /tmp/tenx-forward-in.sock.
forwardSourcePattern
Event source capture regex pattern.
| Type | Default |
|---|---|
| String | "tag":"(.*?)" |
Defines a regex pattern to capture 'source' values for each transformed TenXObject. The Forward protocol tag is injected into each record as a "tag" field. The default pattern extracts this tag as the event source.
This module is defined in forward/module.yaml.