Unix Domain Socket Output
Defines a Unix socket output to write TenXObject instance and template field values.
Configuration
To configure the Unix domain socket output module, Edit these settings.
Below is the default configuration from: unix/config.yaml (* Required Fields).
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgIm91dHB1dFVuaXhTb2NrZXQiIDogewogICAgICAidHlwZSIgOiAiYXJyYXkiLAogICAgICAiaXRlbXMiIDogewogICAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgICAiYWRkcmVzcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlBhdGggYWRkcmVzcyBmb3IgdGhlIFVuaXggZG9tYWluIHNvY2tldFxuXG5TcGVjaWZpZXMgYSBVbml4IGZpbGUgcGF0aCAoZS5nLiwgYC90bXAvZm9vYCkgdG8gVGVuWE9iamVjdCBpbnN0YW5jZS90ZW1wbGF0ZSBmaWVsZCB2YWx1ZXMgdG8iCiAgICAgICAgICB9LAogICAgICAgICAgImNvbm5lY3RUaW1lb3V0IiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJudW1iZXIiLAogICAgICAgICAgICAgICJzdHJpbmciCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJDb25uZWN0aW9uIHRpbWVvdXQgaW4gbXNcblxuU2V0cyB0aGUgY29ubmVjdGlvbiB0aW1lb3V0IGluIG1zIGZvciBjb25uZWN0aW5nIHRvIFtvdXRwdXRVbml4U29ja2V0QWRkcmVzc10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vb3V0cHV0L2V2ZW50L3VuaXgvI291dHB1dHVuaXhzb2NrZXRhZGRyZXNzKSBUbyBsZWFybiBtb3JlIHNlZSBbY29ubmVjdGlvbiB0aW1lb3V0c10oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL2phdmEtc29ja2V0LWNvbm5lY3Rpb24tcmVhZC10aW1lb3V0KS4gKEFjY2VwdHMgbnVtYmVyIG9yIHN0cmluZyB3aXRoICQ9IHByZWZpeCBmb3IgcnVudGltZSBldmFsdWF0aW9uKSAoRGVmYXVsdDogNTAwMCkiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiA1MDAwCiAgICAgICAgICB9LAogICAgICAgICAgImZpZWxkcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTGlzdCBvZiBUZW5YT2JqZWN0IGZpZWxkIG5hbWVzIHRvIGVuY29kZVxuXG5TcGVjaWZpZXMgYSBsaXN0IG9mIFRlblhPYmplY3QgaW50cmluc2ljL2NhbGN1bGF0ZWQvZXh0cmFjdGVkIGZpZWxkIG5hbWVzIHRvIGV4dHJhY3QgYW5kIHdyaXRlIHRvIHRoZSBvdXRwdXQuIiwKICAgICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgICAidHlwZSIgOiAic3RyaW5nIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImZpbHRlciIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkEgSmF2YVNjcmlwdCBleHByZXNzaW9uIGFuIFRlblhPYmplY3QgbXVzdCBldmFsdWF0ZSBhcyAndHJ1dGh5JyBhZ2FpbnN0IHRvIGJlIHdyaXR0ZW4gdG8gdGhpcyBvdXRwdXRcblxuU3BlY2lmaWVzIGEgSmF2YVNjcmlwdCBleHByZXNzaW9uIHRoYXQgYW4gVGVuWE9iamVjdCBtdXN0IGV2YWx1YXRlIGFzIHRydXRoeSB0byB3cml0ZSBpdHMgaW5zdGFuY2UvdGVtcGxhdGUgZmllbGQgdmFsdWVzIHRvIHRoaXMgb3V0cHV0LiBGb3IgZXhhbXBsZSwgJ291dHB1dFVuaXhTb2NrZXRGaWx0ZXI6IHRoaXMudGltZXN0YW1wJyB3aWxsIG9ubHkgZW1pdCBbdGltZXN0YW1wZWRdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YQmFzZU9iamVjdCt0aW1lc3RhbXBlZCkgVGVuWE9iamVjdHMuIgogICAgICAgICAgfSwKICAgICAgICAgICJ3cml0ZU9iamVjdHMiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJZiB0cnVlLCBlbmNvZGUgVGVuWE9iamVjdHMgW291dHB1dFVuaXhTb2NrZXRGaWVsZHNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL291dHB1dC9ldmVudC91bml4LyNvdXRwdXR1bml4c29ja2V0ZmllbGRzKSB0byB0aGlzIG91dHB1dFxuXG5EZXRlcm1pbmUgd2hldGhlciB0byB3cml0ZSBbb3V0cHV0VW5peFNvY2tldEZpZWxkc10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vb3V0cHV0L2V2ZW50L3VuaXgvI291dHB1dHVuaXhzb2NrZXRmaWVsZHMpIHZhbHVlcyBvZiBhbiBUZW5YT2JqZWN0IHBhc3NlZCB0byB0aGlzIG91dHB1dC4gVGhpcyBjb25maWd1cmF0aW9uIGlzIHR5cGljYWxseSBkZWZpbmVkIHVzaW5nIGEgSmF2YVNjcmlwdCBleHByZXNzaW9uLiAgVG8gZW5hYmxlL2Rpc2FibGUgdGhlIG91dHB1dCBkZXBlbmRpbmcgb24gd2hldGhlciBhIGxhdW5jaCBhcmd1bWVudCwgZW52aXJvbm1lbnQgdmFyaWFibGUsIG9yIEpWTSAtRCBvcHRpb24gZXZhbHVhdGVzIGFzIHRydXRoeSwgdXNlOiBgYGAgeWFtbCAgIG91dHB1dFVuaXhTb2NrZXRXcml0ZU9iamVjdHM6ICQ9VGVuWEVudi5nZXQoXCJ1bml4U29ja2V0QWRkcmVzc1wiKSBgYGAgVG8gbGVhcm4gbW9yZSBzZWUgW1RlblhFbnYuZ2V0XShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEVudi5nZXQpLiAoRGVmYXVsdDogdHJ1ZSkiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiAidHJ1ZSIKICAgICAgICAgIH0sCiAgICAgICAgICAid3JpdGVUZW1wbGF0ZXMiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJZiB0cnVlLCB3cml0ZSBuZXcgVGVuWFRlbXBsYXRlcyB0byB0aGlzIG91dHB1dFxuXG5Db250cm9scyB3aGV0aGVyIHRvIHdyaXRlIHRlbXBsYXRlIHZhbHVlcyBvZiBUZW5YT2JqZWN0cyBwYXNzZWQgdG8gdGhpcyBvdXRwdXQuIFRoZSBvdXRwdXQgd2lsbCBvbmx5IGVtaXQgVGVuWFRlbXBsYXRlcyB0aGF0IHRoZSBwaXBlbGluZSBkaWQgbm90IGxvYWQgYXQgc3RhcnR1cCB2aWEgdGhlIFt0ZW1wbGF0ZUZpbGVdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL3RlbXBsYXRlLyN0ZW1wbGF0ZWZpbGVzKSBhcmd1bWVudCwgYW5kIHdpbGwgb25seSBlbWl0IGFuIFRlblhUZW1wbGF0ZSBvbmNlIGJhc2VkIG9uIGl0cyBbdGVtcGxhdGVIYXNoXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEJhc2VPYmplY3QrdGVtcGxhdGVIYXNoKSB2YWx1ZS4gKERlZmF1bHQ6IGZhbHNlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6ICJmYWxzZSIKICAgICAgICAgIH0sCiAgICAgICAgICAiZW5jb2RlVHlwZSIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlRoZSBvdXRwdXQgZm9ybWF0IGluIHdoaWNoIHRvIGVuY29kZSBUZW5YT2JqZWN0IHZhbHVlcy4gUG9zc2libGUgdmFsdWVzOltqc29uLCBkZWxpbWl0ZWRdXG5cblNwZWNpZmllcyBob3cgdG8gZW5jb2RlIFtvdXRwdXRVbml4U29ja2V0RmllbGRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvdW5peC8jb3V0cHV0dW5peHNvY2tldGZpZWxkcykgdmFsdWVzIHRvIHRoaXMgb3V0cHV0LiBQb3NzaWJsZSB2YWx1ZXM6IC0gKipqc29uKio6IGZvcm1hdHMgbmFtZXMgYW5kIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgVGVuWE9iamVjdCBhczoge1wiZmllbGRcIjpcInN0clwiLFwiZmllbGQyXCI6MSwgXCJmaWVsZDNcIjogdHJ1ZX0gLSAqKmRlbGltaXRlZCoqOiBmb3JtYXRzIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgVGVuWE9iamVjdCBhczogXCJzdHJcIiwxLHRydWUgICAgVGhlIFtvdXRwdXRVbml4U29ja2V0RW5jb2RlRGVsaW1pdGVyXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvdW5peC8jb3V0cHV0dW5peHNvY2tldGVuY29kZWRlbGltaXRlcikgYXJndW1lbnQgZGV0ZXJtaW5lcyB0aGUgc2VwYXJhdG9yIHRvIHVzZS4gKERlZmF1bHQ6IGRlbGltaXRlZCkiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiAiZGVsaW1pdGVkIgogICAgICAgICAgfSwKICAgICAgICAgICJlbmNvZGVkTGluZVByZWZpeCIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlRoZSBsaW5lIHByZWZpeCBwcmVwZW5kZWQgdG8gdGhlIGVuY29kZWQgZXZlbnQgaWYgJ291dHB1dFVuaXhTb2NrZXRFbmNvZGVUeXBlJyBpcyAnZGVsaW1pdGVkJ1xuXG5TZXRzIHRoZSBjaGFyIHdoaWNoIGlzIHByZXBlbmRlZCB0byB0aGUgZW1pdHRlZCBUZW5YT2JqZWN0IGZpZWxkIHZhbHVlcyB3aGVuIFtvdXRwdXRVbml4U29ja2V0RW5jb2RlVHlwZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vb3V0cHV0L2V2ZW50L3VuaXgvI291dHB1dHVuaXhzb2NrZXRlbmNvZGV0eXBlKSBpcyBgZGVsaW1pdGVkYC4gKERlZmF1bHQ6ICkiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiAiIgogICAgICAgICAgfSwKICAgICAgICAgICJlbmNvZGUiIDogewogICAgICAgICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAgICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgICAgICAgImRlbGltaXRlciIgOiB7CiAgICAgICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiVGhlIGRlbGltaXRlciBwbGFjZWQgYmV0d2VlbiBrZXkgYW5kIHZhbHVlcyBwYWlycyBpZiAnb3V0cHV0VW5peFNvY2tldEVuY29kZVR5cGUnIGlzICdkZWxpbWl0ZWQnXG5cblNldHMgdGhlIGRlbGltaXRlciB0byBzZXBhcmF0ZSBUZW5YT2JqZWN0IGZpZWxkIHZhbHVlcyB3aGVuIFtvdXRwdXRVbml4U29ja2V0RW5jb2RlVHlwZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vb3V0cHV0L2V2ZW50L3VuaXgvI291dHB1dHVuaXhzb2NrZXRlbmNvZGV0eXBlKSBpcyBgZGVsaW1pdGVkYC4gKERlZmF1bHQ6ICApIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IiA6ICIgIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImdyb3VwRGVsaW1pdGVyIiA6IHsKICAgICAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJTdHJpbmcgZGVsaW1pdGVyIHRvIHVzZSB3aGVuIHNlcGFyYXRpbmcgaW5kaXZpZHVhbCAxMHggZXZlbnRzIGluc2lkZSBhIGdyb3VwXG5cblNldHMgdGhlIHN0cmluZyBkZWxpbWl0ZXIgdXNlZCB0byBzZXBhcmF0ZSBpbmRpdmlkdWFsIDEweCBldmVudHMgaW5zaWRlIGEgZ3JvdXAgd2hlbiBlbmNvZGVkIHRvIGEgc3RyZWFtL2V2ZW50IG91dHB1dCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZXF1aXJlZCIgOiBbCiAgICAgICAgICAiYWRkcmVzcyIKICAgICAgICBdCiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'run' Unix socket output configuration
# Configure a UNIX socket output to write TenXObject instance and template field values.
# To learn more see https://doc.log10x.com/run/output/event/unix
# Set the 10x pipeline to 'run'
tenx: run
# =============================== Dependencies ================================
include: run/modules/output/event/unix
# ============================== UNIX Socket Options ==========================
# Multiple UNIX socket outputs can be defined below
outputUnixSocket:
# ----------------------------- Object Output ------------------------------
# 'writeObjects' controls whether to write TenXObject field values to output.
- writeObjects: false # (❗ REQUIRED)
# ---------------------------- UNIX Options -----------------------------
# 'url' sets the target socket address to write TenXObject instance values.
address: /var/run/socket
# --------------------------- Encoding Options ----------------------------
# 'filter' sets a JavaScript expression that TenXObjects must evaluate as truthy to write to the output.
# To learn more see https://doc.log10x.com/run/output/regulate/#filter-expressions
filter: isObject
# 'fields' defines the fields to write for each TenXObject sent to this output.
# To learn more see https://doc.log10x.com/run/output/stream/#outputfields
fields:
- encode()
# 'encodeType' specifies how 'fields' are encoded to output. Possible values: [json,delimited].
# To learn more see https://doc.log10x.com/run/output/event/outputStream/#outputstreamencodetype
encodeType: json
# ---------------------------- Template Output ----------------------------
# 'writeTemplates' controls whether to write new templates for TenXObjects written to
# this output. To learn more see https://doc.log10x.com/run/template
- writeTemplates: false
# ---------------------------- UNIX Options -----------------------------
# 'url' sets the target socket address to write new TenXTemplate values.
address: /var/run/socket
Options
Specify the options below to configure multiple Unix domain socket output:
| Name | Description |
|---|---|
| outputUnixSocketAddress | Path address for the Unix domain socket |
| outputUnixSocketConnectTimeout | Connection timeout in ms |
| outputUnixSocketFields | List of TenXObject field names to encode |
| outputUnixSocketFilter | A JavaScript expression an TenXObject must evaluate as 'truthy' against to be written to this output |
| outputUnixSocketWriteObjects | If true, encode TenXObjects [outputUnixSocketFields](https://doc.log10x.com/run/output/event/unix/#outputunixsocketfields) to this output |
| outputUnixSocketWriteTemplates | If true, write new TenXTemplates to this output |
| outputUnixSocketEncodeType | The output format in which to encode TenXObject values. Possible values:[json, delimited] |
| outputUnixSocketEncodedLinePrefix | The line prefix prepended to the encoded event if 'outputUnixSocketEncodeType' is 'delimited' |
| outputUnixSocketEncodeDelimiter | The delimiter placed between key and values pairs if 'outputUnixSocketEncodeType' is 'delimited' |
| outputUnixSocketEncodeGroupDelimiter | String delimiter to use when separating individual 10x events inside a group |
outputUnixSocketAddress
Path address for the Unix domain socket.
| Type | Required |
|---|---|
| File | ✔ |
Specifies a Unix file path (e.g., /tmp/foo) to TenXObject instance/template field values to.
outputUnixSocketConnectTimeout
Connection timeout in ms.
| Type | Default |
|---|---|
| Number | 5000 |
Sets the connection timeout in ms for connecting to outputUnixSocketAddress To learn more see connection timeouts.
outputUnixSocketFields
List of TenXObject field names to encode.
| Type | Default |
|---|---|
| List | [] |
Specifies a list of TenXObject intrinsic/calculated/extracted field names to extract and write to the output.
outputUnixSocketFilter
A JavaScript expression an TenXObject must evaluate as 'truthy' against to be written to this output.
| Type | Default |
|---|---|
| String | "" |
Specifies a JavaScript expression that an TenXObject must evaluate as truthy to write its instance/template field values to this output. For example, 'outputUnixSocketFilter: this.timestamp' will only emit timestamped TenXObjects.
outputUnixSocketWriteObjects
If true, encode TenXObjects [outputUnixSocketFields](https://doc.log10x.com/run/output/event/unix/#outputunixsocketfields) to this output.
| Type | Default |
|---|---|
| String | true |
Determine whether to write outputUnixSocketFields values of an TenXObject passed to this output. This configuration is typically defined using a JavaScript expression.
To enable/disable the output depending on whether a launch argument, environment variable, or JVM -D option evaluates as truthy, use:
To learn more see TenXEnv.get.
outputUnixSocketWriteTemplates
If true, write new TenXTemplates to this output.
| Type | Default |
|---|---|
| String | false |
Controls whether to write template values of TenXObjects passed to this output. The output will only emit TenXTemplates that the pipeline did not load at startup via the templateFile argument, and will only emit an TenXTemplate once based on its templateHash value.
outputUnixSocketEncodeType
The output format in which to encode TenXObject values. Possible values:[json, delimited].
| Type | Default |
|---|---|
| String | delimited |
Specifies how to encode outputUnixSocketFields values to this output. Possible values:
- json: formats names and values for the current TenXObject as: {"field":"str","field2":1, "field3": true}
- delimited: formats values for the current TenXObject as: "str",1,true The outputUnixSocketEncodeDelimiter argument determines the separator to use.
outputUnixSocketEncodedLinePrefix
The line prefix prepended to the encoded event if 'outputUnixSocketEncodeType' is 'delimited'.
| Type | Default |
|---|---|
| String |
Sets the char which is prepended to the emitted TenXObject field values when outputUnixSocketEncodeType is delimited.
outputUnixSocketEncodeDelimiter
The delimiter placed between key and values pairs if 'outputUnixSocketEncodeType' is 'delimited'.
| Type | Default |
|---|---|
| String |
Sets the delimiter to separate TenXObject field values when outputUnixSocketEncodeType is delimited.
outputUnixSocketEncodeGroupDelimiter
String delimiter to use when separating individual 10x events inside a group.
| Type | Default |
|---|---|
| String | "" |
Sets the string delimiter used to separate individual 10x events inside a group when encoded to a stream/event output.
This module is defined in unix/module.yaml.