From 3c43132647c41ca9a95704396722bd88a8ce7c15 Mon Sep 17 00:00:00 2001 From: calyptia-ci <98808777+calyptia-ci@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:10:00 +0100 Subject: [PATCH] ci: add core container images index (#318) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: jasmingacic <8327751+jasmingacic@users.noreply.github.com> --- operator.index.json | 3 +- .../core-fluent-bit-default-versions.json | 4 +- .../24.6.2/core-fluent-bit-lua-pretty.json | 1106 ++ schemas/24.6.2/core-fluent-bit-lua.json | 1 + .../core-fluent-bit-plugins-pretty.json | 64 + schemas/24.6.2/core-fluent-bit-plugins.json | 64 + schemas/24.6.2/core-fluent-bit-pretty.json | 13676 ++++++++++++++++ schemas/24.6.2/core-fluent-bit.json | 1 + .../24.6.3/core-fluent-bit-lua-pretty.json | 1106 ++ schemas/24.6.3/core-fluent-bit-lua.json | 1 + .../core-fluent-bit-plugins-pretty.json | 64 + schemas/24.6.3/core-fluent-bit-plugins.json | 64 + schemas/24.6.3/core-fluent-bit-pretty.json | 13676 ++++++++++++++++ schemas/24.6.3/core-fluent-bit.json | 1 + .../24.6.4/core-fluent-bit-lua-pretty.json | 1106 ++ schemas/24.6.4/core-fluent-bit-lua.json | 1 + .../core-fluent-bit-plugins-pretty.json | 64 + schemas/24.6.4/core-fluent-bit-plugins.json | 64 + schemas/24.6.4/core-fluent-bit-pretty.json | 13676 ++++++++++++++++ schemas/24.6.4/core-fluent-bit.json | 1 + .../24.6.5/core-fluent-bit-lua-pretty.json | 1106 ++ schemas/24.6.5/core-fluent-bit-lua.json | 1 + .../core-fluent-bit-plugins-pretty.json | 64 + schemas/24.6.5/core-fluent-bit-plugins.json | 64 + schemas/24.6.5/core-fluent-bit-pretty.json | 13676 ++++++++++++++++ schemas/24.6.5/core-fluent-bit.json | 1 + 26 files changed, 59652 insertions(+), 3 deletions(-) create mode 100644 schemas/24.6.2/core-fluent-bit-lua-pretty.json create mode 100644 schemas/24.6.2/core-fluent-bit-lua.json create mode 100644 schemas/24.6.2/core-fluent-bit-plugins-pretty.json create mode 100644 schemas/24.6.2/core-fluent-bit-plugins.json create mode 100644 schemas/24.6.2/core-fluent-bit-pretty.json create mode 100644 schemas/24.6.2/core-fluent-bit.json create mode 100644 schemas/24.6.3/core-fluent-bit-lua-pretty.json create mode 100644 schemas/24.6.3/core-fluent-bit-lua.json create mode 100644 schemas/24.6.3/core-fluent-bit-plugins-pretty.json create mode 100644 schemas/24.6.3/core-fluent-bit-plugins.json create mode 100644 schemas/24.6.3/core-fluent-bit-pretty.json create mode 100644 schemas/24.6.3/core-fluent-bit.json create mode 100644 schemas/24.6.4/core-fluent-bit-lua-pretty.json create mode 100644 schemas/24.6.4/core-fluent-bit-lua.json create mode 100644 schemas/24.6.4/core-fluent-bit-plugins-pretty.json create mode 100644 schemas/24.6.4/core-fluent-bit-plugins.json create mode 100644 schemas/24.6.4/core-fluent-bit-pretty.json create mode 100644 schemas/24.6.4/core-fluent-bit.json create mode 100644 schemas/24.6.5/core-fluent-bit-lua-pretty.json create mode 100644 schemas/24.6.5/core-fluent-bit-lua.json create mode 100644 schemas/24.6.5/core-fluent-bit-plugins-pretty.json create mode 100644 schemas/24.6.5/core-fluent-bit-plugins.json create mode 100644 schemas/24.6.5/core-fluent-bit-pretty.json create mode 100644 schemas/24.6.5/core-fluent-bit.json diff --git a/operator.index.json b/operator.index.json index 64b378d..45d6e8d 100644 --- a/operator.index.json +++ b/operator.index.json @@ -73,5 +73,6 @@ "v2.12.3", "v2.12.4", "v2.12.5", - "v2.12.6" + "v2.12.6", + "v2.12.7" ] diff --git a/operator/core-fluent-bit-default-versions.json b/operator/core-fluent-bit-default-versions.json index d636ee4..f6ecb41 100644 --- a/operator/core-fluent-bit-default-versions.json +++ b/operator/core-fluent-bit-default-versions.json @@ -1,4 +1,5 @@ { +"v2.12.7": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.6.5", "v2.12.6": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.5.8", "v2.12.5": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.5.7", "v2.12.4": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.5.7", @@ -28,6 +29,5 @@ "v2.1.1": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.11.3", "v2.1.0": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.11.3", "v2.0.25": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.11.3", -"v2.0.24": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.11.3", -"latest": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.5.8" +"latest": "ghcr.io/calyptia/core/calyptia-fluent-bit:24.6.5" } diff --git a/schemas/24.6.2/core-fluent-bit-lua-pretty.json b/schemas/24.6.2/core-fluent-bit-lua-pretty.json new file mode 100644 index 0000000..50e7a84 --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit-lua-pretty.json @@ -0,0 +1,1106 @@ +{ + "processingRules": { + "aggregate": { + "description": "Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "compute": { + "additionalProperties": { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "description": "Additional keys which will be computed for each group", + "type": "object" + }, + "keys": { + "description": "Keys which will be used for grouping", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + } + ] + }, + "type": "array" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "keys", + "window", + "compute" + ], + "type": "object" + }, + "label": "Aggregate records (preview)", + "uiSchema": { + "labels": { + "compute": "Compute keys (Should be formatted as a JSON object)", + "keys": "Select keys (Should be formatted as a JSON array of strings)", + "window": "Time window" + }, + "ordering": [ + "window", + "keys", + "compute" + ] + } + }, + "allow_keys": { + "description": "Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match allowed keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow keys" + }, + "allow_records": { + "description": "Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow records" + }, + "block_keys": { + "description": "Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match blocked keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block keys" + }, + "block_records": { + "description": "Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block records" + }, + "copy": { + "description": "Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "dst", + "src" + ], + "type": "object" + }, + "label": "Copy keys" + }, + "csv_decode": { + "description": "Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_csv", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "header": { + "default": "", + "description": "Preset header for the parsed CSV stream.", + "type": "string" + }, + "parseHeader": { + "default": false, + "type": "boolean" + }, + "src": { + "default": "log", + "description": "Source key which contains raw CSV data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode CSV", + "uiSchema": { + "labels": { + "parseHeader": "Parse header" + } + } + }, + "csv_encode": { + "description": "Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_csv", + "description": "Destination key which will receive the serialized CSV.", + "type": "string" + }, + "header": { + "description": "Preset header for the generated CSV stream", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode CSV (preview)", + "uiSchema": { + "labels": { + "header": "Header (JSON array of strings)" + } + } + }, + "custom_script": { + "description": "Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "script": { + "default": "-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n", + "description": "Lua script implemented similarly to fluent-bit Lua filters.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Custom Lua", + "uiSchema": { + "form": { + "script": "code:lua" + }, + "labels": { + "script": "Lua script" + } + } + }, + "deduplicate": { + "description": "Deduplicate records in a time window(specified in seconds), based on a single key.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key to use for deduplicating records", + "type": "string" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "key" + ], + "type": "object" + }, + "label": "Deduplicate records", + "uiSchema": { + "labels": { + "key": "Select key", + "window": "Time window" + }, + "ordering": [ + "window", + "key" + ] + } + }, + "delete": { + "description": "Delete `key` from the record.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be deleted", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Delete key" + }, + "extract_kv": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "dst", + "src", + "regex" + ], + "type": "object" + }, + "label": "Extract keys/values" + }, + "flatten": { + "description": "Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the flattened object will not be removed from the record.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Flatten subrecord", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "hash": { + "description": "Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "algo": { + "default": "sha256", + "description": "Hash algorithm", + "enum": [ + "sha256", + "md5" + ], + "type": "string" + }, + "dst": { + "description": "Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".", + "type": "string" + }, + "encoding": { + "default": "hex", + "description": "Encoding algorithm", + "enum": [ + "hex", + "binary", + "base64" + ], + "type": "string" + }, + "src": { + "description": "Source key from which will be used to compute the hash", + "type": "string" + } + }, + "required": [ + "src", + "algo", + "encoding" + ], + "type": "object" + }, + "label": "Hash key", + "uiSchema": { + "labels": { + "base64": "Base64", + "binary": "Binary", + "hex": "Hexadecimal", + "md5": "MD5", + "sha256": "SHA256" + } + } + }, + "join": { + "description": "Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains the nested array items in each split record.", + "type": "string" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not found, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Join records by tag and timestamp", + "uiSchema": { + "labels": { + "key": "Key which will be joined in an array" + } + } + }, + "json_decode": { + "description": "Decode JSON data in the key `src` into key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_json", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key which contains raw JSON data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode JSON" + }, + "json_encode": { + "description": "Encode the object in the key `src` as JSON into the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_json", + "description": "Destination key which will receive the serialized JSON.", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode JSON" + }, + "lift": { + "description": "Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the original key will not be removed from the parent.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "levels": { + "default": 1, + "description": "How many levels the keys will be lifted.", + "type": "integer" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Lift submap", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "multiline_join": { + "description": "Use regular expression to match start of a new record and join previously buffered lines together.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "lineLimit": { + "default": 1000, + "description": "Maximum number of lines to join.", + "minimum": 2, + "type": "integer" + }, + "regex": { + "description": "Regular expression to match the start of a new record.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key from which lines will be joined.", + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Multiline Join" + }, + "nest": { + "description": "Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "nested", + "description": "Destination key which will receive the nested keys.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive (regexMode only).", + "type": "boolean" + }, + "merge": { + "default": false, + "description": "If the destination map already exists, merge the nested keys.", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be interpreted as a regex.", + "type": "boolean" + }, + "src": { + "description": "Source keys which will be nested. If missing, the whole record will be nested.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Nest keys", + "uiSchema": { + "labels": { + "merge": "Merge to existing map" + } + } + }, + "parse": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "parsed", + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have named capture groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "src", + "regex" + ], + "type": "object" + }, + "label": "Parse" + }, + "parse_number": { + "description": "Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "base": { + "default": 10, + "description": "Numeric base", + "type": "integer" + }, + "key": { + "description": "Key from which a number will be extracted.", + "type": "string" + }, + "regex": { + "default": "[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)", + "description": "Regular expression used to extract number from the value.", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Parse number" + }, + "put": { + "description": "Add or Set `key` = `value`. If the key already exists, it will be overriden.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be added/updated", + "type": "string" + }, + "value": { + "description": "New value for the key", + "type": "string" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "label": "Add/Set key/value", + "uiSchema": { + "labels": { + "value": "Value" + }, + "ordering": [ + "key", + "value" + ] + } + }, + "redact": { + "description": "Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be redacted.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be redacted.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replaceChar": { + "default": "*", + "description": "Characters which will replace the value.", + "type": "string" + } + }, + "required": [ + "key", + "regex" + ], + "type": "object" + }, + "label": "Redact/mask value", + "uiSchema": { + "labels": { + "replaceChar": "Replacement characters" + }, + "ordering": [ + "key", + "regex", + "replaceChar" + ] + } + }, + "rename": { + "description": "Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "src", + "dst" + ], + "type": "object" + }, + "label": "Rename keys" + }, + "replace": { + "description": "Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be replaced.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be replaced.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replacement": { + "description": "Replacement pattern. Can reference capture groups in the `regex`.", + "type": "string" + }, + "submax": { + "description": "Maximum number of substitutions", + "type": "integer" + } + }, + "required": [ + "key", + "regex", + "replacement" + ], + "type": "object" + }, + "label": "Search/replace value", + "uiSchema": { + "labels": { + "replacement": "Replacement (can specify captures with %1, %2, ...)" + }, + "ordering": [ + "key", + "regex", + "matchCase", + "submax" + ] + } + }, + "sampling": { + "description": "Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "percentage": { + "description": "Percentage of records to be flushed", + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "seed": { + "description": "Optional seed for random number generator", + "type": "integer" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "percentage" + ], + "type": "object" + }, + "label": "Random sampling (preview)", + "uiSchema": { + "labels": { + "percentage": "Sample %", + "window": "Time window" + }, + "ordering": [ + "window", + "percentage" + ] + } + }, + "split": { + "description": "Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dest": { + "default": "", + "description": "Destination key to contain the array item. If empty, defaults to \"key\"", + "type": "string" + }, + "keepOrig": { + "default": false, + "description": "Keep \"key\" when it is different than \"dest\"", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested array.", + "type": "string" + }, + "skipEmpty": { + "default": false, + "description": "If the specified key is an empty array, don't touch the record", + "type": "boolean" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not an array, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Split record", + "uiSchema": { + "labels": { + "dest": "Destination key", + "keepOrig": "Keep original array", + "skipEmpty": "Ignore if array is empty", + "skipMissing": "Ignore if missing" + } + } + } + }, + "uiSchemaFallback": { + "errors": { + "should be integer": "Should be an integer" + }, + "labels": { + "dst": "Destination key", + "gnu": "GNU", + "key": "Key", + "matchCase": "Match case", + "onig": "Oniguruma", + "pcre2": "PCRE2", + "posix": "POSIX", + "regex": "Regex", + "regexEngine": "Regex engine", + "regexExtended": "Extended regex syntax", + "regexMode": "Regex mode", + "src": "Source key", + "tre": "TRE" + }, + "ordering": [ + "src", + "dst", + "key", + "regex", + "matchCase", + "regexEngine", + "regexExtended" + ] + }, + "version": "v0.1-dev" +} diff --git a/schemas/24.6.2/core-fluent-bit-lua.json b/schemas/24.6.2/core-fluent-bit-lua.json new file mode 100644 index 0000000..ca28c98 --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit-lua.json @@ -0,0 +1 @@ +{"processingRules":{"aggregate":{"description":"Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"compute":{"additionalProperties":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"},"description":"Additional keys which will be computed for each group","type":"object"},"keys":{"description":"Keys which will be used for grouping","items":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"}]},"type":"array"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["keys","window","compute"],"type":"object"},"label":"Aggregate records (preview)","uiSchema":{"labels":{"compute":"Compute keys (Should be formatted as a JSON object)","keys":"Select keys (Should be formatted as a JSON array of strings)","window":"Time window"},"ordering":["window","keys","compute"]}},"allow_keys":{"description":"Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match allowed keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow keys"},"allow_records":{"description":"Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow records"},"block_keys":{"description":"Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match blocked keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block keys"},"block_records":{"description":"Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block records"},"copy":{"description":"Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["dst","src"],"type":"object"},"label":"Copy keys"},"csv_decode":{"description":"Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_csv","description":"Destination key which will receive the parsed object.","type":"string"},"header":{"default":"","description":"Preset header for the parsed CSV stream.","type":"string"},"parseHeader":{"default":false,"type":"boolean"},"src":{"default":"log","description":"Source key which contains raw CSV data.","type":"string"}},"type":"object"},"label":"Decode CSV","uiSchema":{"labels":{"parseHeader":"Parse header"}}},"csv_encode":{"description":"Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_csv","description":"Destination key which will receive the serialized CSV.","type":"string"},"header":{"description":"Preset header for the generated CSV stream","type":"string"},"src":{"description":"Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.","type":"string"}},"type":"object"},"label":"Encode CSV (preview)","uiSchema":{"labels":{"header":"Header (JSON array of strings)"}}},"custom_script":{"description":"Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.","jsonSchema":{"additionalProperties":false,"properties":{"script":{"default":"-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n","description":"Lua script implemented similarly to fluent-bit Lua filters.","type":"string"}},"type":"object"},"label":"Custom Lua","uiSchema":{"form":{"script":"code:lua"},"labels":{"script":"Lua script"}}},"deduplicate":{"description":"Deduplicate records in a time window(specified in seconds), based on a single key.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key to use for deduplicating records","type":"string"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","key"],"type":"object"},"label":"Deduplicate records","uiSchema":{"labels":{"key":"Select key","window":"Time window"},"ordering":["window","key"]}},"delete":{"description":"Delete `key` from the record.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be deleted","type":"string"}},"required":["key"],"type":"object"},"label":"Delete key"},"extract_kv":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["dst","src","regex"],"type":"object"},"label":"Extract keys/values"},"flatten":{"description":"Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the flattened object will not be removed from the record.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"}},"required":["key"],"type":"object"},"label":"Flatten subrecord","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"hash":{"description":"Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"algo":{"default":"sha256","description":"Hash algorithm","enum":["sha256","md5"],"type":"string"},"dst":{"description":"Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".","type":"string"},"encoding":{"default":"hex","description":"Encoding algorithm","enum":["hex","binary","base64"],"type":"string"},"src":{"description":"Source key from which will be used to compute the hash","type":"string"}},"required":["src","algo","encoding"],"type":"object"},"label":"Hash key","uiSchema":{"labels":{"base64":"Base64","binary":"Binary","hex":"Hexadecimal","md5":"MD5","sha256":"SHA256"}}},"join":{"description":"Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains the nested array items in each split record.","type":"string"},"skipMissing":{"default":false,"description":"If the specified key is not found, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Join records by tag and timestamp","uiSchema":{"labels":{"key":"Key which will be joined in an array"}}},"json_decode":{"description":"Decode JSON data in the key `src` into key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_json","description":"Destination key which will receive the parsed object.","type":"string"},"src":{"default":"log","description":"Source key which contains raw JSON data.","type":"string"}},"type":"object"},"label":"Decode JSON"},"json_encode":{"description":"Encode the object in the key `src` as JSON into the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_json","description":"Destination key which will receive the serialized JSON.","type":"string"},"src":{"description":"Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.","type":"string"}},"type":"object"},"label":"Encode JSON"},"lift":{"description":"Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the original key will not be removed from the parent.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"levels":{"default":1,"description":"How many levels the keys will be lifted.","type":"integer"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["key"],"type":"object"},"label":"Lift submap","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"multiline_join":{"description":"Use regular expression to match start of a new record and join previously buffered lines together.","jsonSchema":{"additionalProperties":false,"properties":{"lineLimit":{"default":1000,"description":"Maximum number of lines to join.","minimum":2,"type":"integer"},"regex":{"description":"Regular expression to match the start of a new record.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"default":"log","description":"Source key from which lines will be joined.","type":"string"}},"required":["regex"],"type":"object"},"label":"Multiline Join"},"nest":{"description":"Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"nested","description":"Destination key which will receive the nested keys.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive (regexMode only).","type":"boolean"},"merge":{"default":false,"description":"If the destination map already exists, merge the nested keys.","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be interpreted as a regex.","type":"boolean"},"src":{"description":"Source keys which will be nested. If missing, the whole record will be nested.","type":"string"}},"type":"object"},"label":"Nest keys","uiSchema":{"labels":{"merge":"Merge to existing map"}}},"parse":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"parsed","description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have named capture groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["src","regex"],"type":"object"},"label":"Parse"},"parse_number":{"description":"Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.","jsonSchema":{"additionalProperties":false,"properties":{"base":{"default":10,"description":"Numeric base","type":"integer"},"key":{"description":"Key from which a number will be extracted.","type":"string"},"regex":{"default":"[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)","description":"Regular expression used to extract number from the value.","type":"string"}},"required":["key"],"type":"object"},"label":"Parse number"},"put":{"description":"Add or Set `key` = `value`. If the key already exists, it will be overriden.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be added/updated","type":"string"},"value":{"description":"New value for the key","type":"string"}},"required":["key","value"],"type":"object"},"label":"Add/Set key/value","uiSchema":{"labels":{"value":"Value"},"ordering":["key","value"]}},"redact":{"description":"Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be redacted.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be redacted.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replaceChar":{"default":"*","description":"Characters which will replace the value.","type":"string"}},"required":["key","regex"],"type":"object"},"label":"Redact/mask value","uiSchema":{"labels":{"replaceChar":"Replacement characters"},"ordering":["key","regex","replaceChar"]}},"rename":{"description":"Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["src","dst"],"type":"object"},"label":"Rename keys"},"replace":{"description":"Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be replaced.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be replaced.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replacement":{"description":"Replacement pattern. Can reference capture groups in the `regex`.","type":"string"},"submax":{"description":"Maximum number of substitutions","type":"integer"}},"required":["key","regex","replacement"],"type":"object"},"label":"Search/replace value","uiSchema":{"labels":{"replacement":"Replacement (can specify captures with %1, %2, ...)"},"ordering":["key","regex","matchCase","submax"]}},"sampling":{"description":"Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"percentage":{"description":"Percentage of records to be flushed","maximum":100,"minimum":1,"type":"integer"},"seed":{"description":"Optional seed for random number generator","type":"integer"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","percentage"],"type":"object"},"label":"Random sampling (preview)","uiSchema":{"labels":{"percentage":"Sample %","window":"Time window"},"ordering":["window","percentage"]}},"split":{"description":"Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field","jsonSchema":{"additionalProperties":false,"properties":{"dest":{"default":"","description":"Destination key to contain the array item. If empty, defaults to \"key\"","type":"string"},"keepOrig":{"default":false,"description":"Keep \"key\" when it is different than \"dest\"","type":"boolean"},"key":{"description":"Key which contains the nested array.","type":"string"},"skipEmpty":{"default":false,"description":"If the specified key is an empty array, don't touch the record","type":"boolean"},"skipMissing":{"default":false,"description":"If the specified key is not an array, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Split record","uiSchema":{"labels":{"dest":"Destination key","keepOrig":"Keep original array","skipEmpty":"Ignore if array is empty","skipMissing":"Ignore if missing"}}}},"uiSchemaFallback":{"errors":{"should be integer":"Should be an integer"},"labels":{"dst":"Destination key","gnu":"GNU","key":"Key","matchCase":"Match case","onig":"Oniguruma","pcre2":"PCRE2","posix":"POSIX","regex":"Regex","regexEngine":"Regex engine","regexExtended":"Extended regex syntax","regexMode":"Regex mode","src":"Source key","tre":"TRE"},"ordering":["src","dst","key","regex","matchCase","regexEngine","regexExtended"]},"version":"v0.1-dev"} diff --git a/schemas/24.6.2/core-fluent-bit-plugins-pretty.json b/schemas/24.6.2/core-fluent-bit-plugins-pretty.json new file mode 100644 index 0000000..540e226 --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit-plugins-pretty.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.1.0", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.2/core-fluent-bit-plugins.json b/schemas/24.6.2/core-fluent-bit-plugins.json new file mode 100644 index 0000000..540e226 --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit-plugins.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.1.0", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.2/core-fluent-bit-pretty.json b/schemas/24.6.2/core-fluent-bit-pretty.json new file mode 100644 index 0000000..fcbcb8e --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit-pretty.json @@ -0,0 +1,13676 @@ +{ + "fluent-bit": { + "version": "24.6.2", + "schema_version": "1", + "os": "linux" + }, + "customs": [ + { + "type": "custom", + "name": "calyptia", + "description": "Calyptia Cloud", + "properties": { + "options": [ + { + "name": "api_key", + "description": "Calyptia Cloud API Key.", + "default": null, + "type": "string" + }, + { + "name": "store_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "calyptia_host", + "description": "", + "default": "cloud-api.calyptia.com", + "type": "string" + }, + { + "name": "calyptia_port", + "description": "", + "default": "443", + "type": "string" + }, + { + "name": "calyptia_tls", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "calyptia_tls.verify", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Label to append to the generated metric.", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "machine_id", + "description": "Custom machine_id to be used when registering agent", + "default": null, + "type": "string" + }, + { + "name": "fleet_id", + "description": "Fleet id to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "fleet.config_dir", + "description": "Base path for the configuration directory.", + "default": null, + "type": "string" + }, + { + "name": "fleet.interval_sec", + "description": "Set the collector interval", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet.interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet_name", + "description": "Fleet name to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "pipeline_id", + "description": "Pipeline ID for reporting to calyptia cloud.", + "default": null, + "type": "string" + } + ] + } + } + ], + "inputs": [ + { + "type": "input", + "name": "cpu", + "description": "CPU Usage", + "properties": { + "options": [ + { + "name": "pid", + "description": "Configure a single process to measure usage via their PID", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "mem", + "description": "Memory Usage", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (subseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "pid", + "description": "Set the PID of the process to measure", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "thermal", + "description": "Thermal", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "name_regex", + "description": "Set thermal name regular expression filter", + "default": null, + "type": "string" + }, + { + "name": "type_regex", + "description": "Set thermal type regular expression filter", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kmsg", + "description": "Kernel Log Buffer", + "properties": { + "options": [ + { + "name": "prio_level", + "description": "The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.", + "default": "8", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "proc", + "description": "Check Process health", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate alerts if process is down", + "default": "false", + "type": "boolean" + }, + { + "name": "mem", + "description": "Append memory usage to record", + "default": "true", + "type": "boolean" + }, + { + "name": "fd", + "description": "Append fd count to record", + "default": "true", + "type": "boolean" + }, + { + "name": "proc_name", + "description": "Define process name to health check", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "disk", + "description": "Diskstats", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "dev_name", + "description": "Set the device name", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "systemd", + "description": "Systemd (Journal) reader", + "properties": { + "options": [ + { + "name": "path", + "description": "Set the systemd journal path", + "default": null, + "type": "string" + }, + { + "name": "max_fields", + "description": "Set the maximum fields per notification", + "default": "8000", + "type": "integer" + }, + { + "name": "max_entries", + "description": "Set the maximum entries per notification", + "default": "5000", + "type": "integer" + }, + { + "name": "systemd_filter_type", + "description": "Set the systemd filter type to either 'and' or 'or'", + "default": null, + "type": "string" + }, + { + "name": "systemd_filter", + "description": "Add a systemd filter, can be set multiple times", + "default": null, + "type": "string" + }, + { + "name": "read_from_tail", + "description": "Read the journal from the end (tail)", + "default": "false", + "type": "boolean" + }, + { + "name": "lowercase", + "description": "Lowercase the fields", + "default": "false", + "type": "boolean" + }, + { + "name": "strip_underscores", + "description": "Strip undersecores from fields", + "default": "false", + "type": "boolean" + }, + { + "name": "db.sync", + "description": "Set the database sync mode: extra, full, normal or off", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "Set the database path", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "netif", + "description": "Network Interface Usage", + "properties": { + "options": [ + { + "name": "interface", + "description": "Set the interface, eg: eth0 or enp1s0", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "verbose", + "description": "Enable verbosity", + "default": "false", + "type": "boolean" + }, + { + "name": "test_at_init", + "description": "Testing interface at initialization", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "docker", + "description": "Docker containers metrics", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "include", + "description": "A space-separated list of containers to include", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "A space-separated list of containers to exclude", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.containers", + "description": "containers directory", + "default": "/var/lib/docker/containers", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "docker_events", + "description": "Docker events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "unix_path", + "description": "Define Docker unix socket path to read events", + "default": "/var/run/docker.sock", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set buffer size to read events", + "default": "8k", + "type": "size" + }, + { + "name": "parser", + "description": "Optional parser for records, if not set, records are packages under 'key'", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the key name to store unparsed Docker events", + "default": "message", + "type": "string" + }, + { + "name": "reconnect.retry_limits", + "description": "Maximum number to retry to connect docker socket", + "default": "5", + "type": "integer" + }, + { + "name": "reconnect.retry_interval", + "description": "Retry interval to connect docker socket", + "default": "1", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "podman_metrics", + "description": "Podman metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "Scrape interval to collect the metrics of podman containers(defaults to 30s)", + "default": "30", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + }, + { + "name": "path.config", + "description": "Path to podman config file", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "Path to sysfs subsystem directory", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.procfs", + "description": "Path to proc subsystem directory", + "default": "/proc", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "process_exporter_metrics", + "description": "Process Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "process_include_pattern", + "description": "include list regular expression", + "default": ".+", + "type": "string" + }, + { + "name": "process_exclude_pattern", + "description": "exclude list regular expression", + "default": null, + "type": "string" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread", + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "node_exporter_metrics", + "description": "Node Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "collector.cpu.scrape_interval", + "description": "scrape interval to collect cpu metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.cpufreq.scrape_interval", + "description": "scrape interval to collect cpufreq metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.meminfo.scrape_interval", + "description": "scrape interval to collect meminfo metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.diskstats.scrape_interval", + "description": "scrape interval to collect diskstats metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filesystem.scrape_interval", + "description": "scrape interval to collect filesystem metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.uname.scrape_interval", + "description": "scrape interval to collect uname metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.stat.scrape_interval", + "description": "scrape interval to collect stat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.time.scrape_interval", + "description": "scrape interval to collect time metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.loadavg.scrape_interval", + "description": "scrape interval to collect loadavg metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.vmstat.scrape_interval", + "description": "scrape interval to collect vmstat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.netdev.scrape_interval", + "description": "scrape interval to collect netdev metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filefd.scrape_interval", + "description": "scrape interval to collect filefd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.textfile.scrape_interval", + "description": "scrape interval to collect textfile metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.systemd.scrape_interval", + "description": "scrape interval to collect systemd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.processes.scrape_interval", + "description": "scrape interval to collect processes metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.thermalzone.scrape_interval", + "description": "scrape interval to collect thermal zone metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.nvme.scrape_interval", + "description": "scrape interval to collect nvme metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone", + "type": "multiple comma delimited strings" + }, + { + "name": "collector.textfile.path", + "description": "Specify file path or directory to collect textfile metrics from the node.", + "default": null, + "type": "string" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys", + "type": "string" + }, + { + "name": "systemd_service_restart_metrics", + "description": "include systemd service restart metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_unit_start_time_metrics", + "description": "include systemd unit start time metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_service_task_metrics", + "description": "include systemd service task metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_pattern", + "description": "include list regular expression", + "default": null, + "type": "string" + }, + { + "name": "systemd_exclude_pattern", + "description": "exclude list regular expression", + "default": ".+\\.(automount|device|mount|scope|slice)", + "type": "string" + }, + { + "name": "filesystem.ignore_mount_point_regex", + "description": "ignore regular expression for mount points", + "default": "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)", + "type": "string" + }, + { + "name": "filesystem.ignore_filesystem_type_regex", + "description": "ignore regular expression for filesystem types", + "default": "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$", + "type": "string" + }, + { + "name": "diskstats.ignore_device_regex", + "description": "ignore regular expression for disk devices", + "default": "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kubernetes_events", + "description": "Kubernetes Events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the polling interval for each channel", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the polling interval for each channel (sub seconds)", + "default": "500000000", + "type": "integer" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_request_limit", + "description": "kubernetes limit parameter for events query, no limit applied when set to 0", + "default": "0", + "type": "integer" + }, + { + "name": "kube_retention_time", + "description": "kubernetes retention time for events. Default: 1h", + "default": "1h", + "type": "time" + }, + { + "name": "kube_namespace", + "description": "kubernetes namespace to get events from, gets event from all namespaces by default.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Deprecated. To be removed in v3.0", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of recorded kubernetes events.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kafka", + "description": "Kafka consumer input plugin", + "properties": { + "options": [ + { + "name": "poll_ms", + "description": "Interval in milliseconds to check for new messages.", + "default": "500", + "type": "integer" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the data format which will be used for parsing records.", + "default": "none", + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the librdkafka options", + "default": null, + "type": "prefixed string" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of chunk", + "default": "4M", + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "fluentbit_metrics", + "description": "Fluent Bit internal metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect the internal metrics of Fluent Bit.", + "default": "2", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "prometheus_scrape", + "description": "Scrape metrics from Prometheus Endpoint", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "scrape_interval", + "description": "Scraping interval.", + "default": "10s", + "type": "time" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "10M", + "type": "size" + }, + { + "name": "metrics_path", + "description": "Set the metrics URI endpoint, it must start with a forward slash.", + "default": "/metrics", + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "tail", + "description": "Tail files", + "properties": { + "options": [ + { + "name": "path", + "description": "pattern specifying log files or multiple ones through the use of common wildcards.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "exclude_path", + "description": "Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "key", + "description": "when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.", + "default": "log", + "type": "string" + }, + { + "name": "read_from_head", + "description": "For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.", + "default": "false", + "type": "boolean" + }, + { + "name": "refresh_interval", + "description": "interval to refresh the list of watched files expressed in seconds.", + "default": "60", + "type": "string" + }, + { + "name": "watcher_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval_nsec", + "description": "", + "default": "0", + "type": "integer" + }, + { + "name": "rotate_wait", + "description": "specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.", + "default": "5", + "type": "time" + }, + { + "name": "docker_mode", + "description": "If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.", + "default": "false", + "type": "boolean" + }, + { + "name": "docker_mode_flush", + "description": "wait period time in seconds to flush queued unfinished split lines.", + "default": "4", + "type": "integer" + }, + { + "name": "docker_mode_parser", + "description": "specify the parser name to fetch log first line for muliline log", + "default": null, + "type": "string" + }, + { + "name": "path_key", + "description": "set the 'key' name where the name of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "offset_key", + "description": "set the 'key' name where the offset of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "ignore_older", + "description": "ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.", + "default": "0", + "type": "time" + }, + { + "name": "buffer_chunk_size", + "description": "set the initial buffer size to read data from files. This value is used too to increase buffer size.", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.", + "default": "32768", + "type": "size" + }, + { + "name": "static_batch_size", + "description": "On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.", + "default": "50M", + "type": "size" + }, + { + "name": "event_batch_size", + "description": "When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).", + "default": "50M", + "type": "size" + }, + { + "name": "skip_long_lines", + "description": "if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_on_eof", + "description": "exit Fluent Bit when reaching EOF on a monitored file.", + "default": "false", + "type": "boolean" + }, + { + "name": "skip_empty_lines", + "description": "Allows to skip empty lines.", + "default": "false", + "type": "boolean" + }, + { + "name": "inotify_watcher", + "description": "set to false to use file stat watcher instead of inotify.", + "default": "true", + "type": "boolean" + }, + { + "name": "parser", + "description": "specify the parser name to process an unstructured message.", + "default": null, + "type": "string" + }, + { + "name": "tag_regex", + "description": "set a regex to extract fields from the file name and use them later to compose the Tag.", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of monitored files and it offsets.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + }, + { + "name": "db.locking", + "description": "set exclusive locking mode, increase performance but don't allow external connections to the database file.", + "default": "false", + "type": "boolean" + }, + { + "name": "db.journal_mode", + "description": "Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.", + "default": "WAL", + "type": "string" + }, + { + "name": "db.compare_filename", + "description": "This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline", + "description": "if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline_flush", + "description": "wait period time in seconds to process queued multiline messages.", + "default": "4", + "type": "time" + }, + { + "name": "parser_firstline", + "description": "name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).", + "default": null, + "type": "string" + }, + { + "name": "parser_", + "description": "optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.", + "default": null, + "type": "prefixed string" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "dummy", + "description": "Generate dummy data", + "properties": { + "options": [ + { + "name": "samples", + "description": "set a number of times to generate event.", + "default": "0", + "type": "integer" + }, + { + "name": "dummy", + "description": "set the sample record to be generated. It should be a JSON object.", + "default": "{\"message\":\"dummy\"}", + "type": "string" + }, + { + "name": "metadata", + "description": "set the sample metadata to be generated. It should be a JSON object.", + "default": "{}", + "type": "string" + }, + { + "name": "rate", + "description": "set a number of events per second.", + "default": "1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "set seconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "set nanoseconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "copies", + "description": "set the number of copies to generate per collectd.", + "default": "1", + "type": "integer" + }, + { + "name": "start_time_sec", + "description": "set a dummy base timestamp in seconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "start_time_nsec", + "description": "set a dummy base timestamp in nanoseconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "fixed_timestamp", + "description": "used a fixed timestamp, allows the message to pre-generated once.", + "default": "off", + "type": "boolean" + }, + { + "name": "flush_on_startup", + "description": "generate the first event on startup", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "head", + "description": "Head Input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the file", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the record key", + "default": "head", + "type": "string" + }, + { + "name": "buf_size", + "description": "Set the read buffer size", + "default": "256", + "type": "integer" + }, + { + "name": "split_line", + "description": "generate key/value pair per line", + "default": "false", + "type": "boolean" + }, + { + "name": "lines", + "description": "Line number to read", + "default": "0", + "type": "integer" + }, + { + "name": "add_path", + "description": "append filepath to records", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "health", + "description": "Check TCP server health", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate records when the port is down", + "default": "false", + "type": "boolean" + }, + { + "name": "add_host", + "description": "Append hostname to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "add_port", + "description": "Append port to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "http", + "description": "HTTP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "collectd", + "description": "collectd input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "typesdb", + "description": "Set the types database filename", + "default": "/usr/share/collectd/types.db", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "statsd", + "description": "StatsD input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "tag_from_uri", + "description": "If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .", + "default": "true", + "type": "boolean" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + }, + { + "name": "raw_traces", + "description": "Forward traces without processing", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "elasticsearch", + "description": "HTTP Endpoints for Elasticsearch (Bulk API)", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of buffer", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "Specify a key name for extracting as a tag", + "default": null, + "type": "string" + }, + { + "name": "meta_key", + "description": "Specify a key name for meta information", + "default": "@meta", + "type": "string" + }, + { + "name": "hostname", + "description": "Specify hostname or FQDN. This parameter is effective for sniffering node information.", + "default": "localhost", + "type": "string" + }, + { + "name": "version", + "description": "Specify returning Elasticsearch server version.", + "default": "8.0.0", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "splunk", + "description": "Input plugin for Splunk HEC payloads", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "splunk_token", + "description": "Set valid Splunk HEC tokens for the requests", + "default": null, + "type": "string" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "event_type", + "description": "Event tests for input plugins", + "properties": { + "options": [ + { + "name": "type", + "description": "Set the type of event to deliver, optionsa are: logs, metrics or traces", + "default": "logs", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the interval seconds between events generation", + "default": "2", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the nanoseconds interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "nginx_metrics", + "description": "Nginx status metrics", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "status_url", + "description": "Define URL of stub status handler", + "default": "/status", + "type": "string" + }, + { + "name": "nginx_plus", + "description": "Turn on NGINX plus mode", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "serial", + "description": "Serial input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the serial character device file name", + "default": null, + "type": "string" + }, + { + "name": "bitrate", + "description": "Set the serial bitrate (baudrate)", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set the record separator", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the serial format: json or none", + "default": null, + "type": "string" + }, + { + "name": "min_bytes", + "description": "Set the serial minimum bytes", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "stdin", + "description": "Standard Input", + "properties": { + "options": [ + { + "name": "parser", + "description": "Set and use a fluent-bit parser", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the read buffer size", + "default": null, + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "mode", + "description": "Set the socket mode: unix_tcp, unix_udp, tcp or udp", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set the path for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "Set the buffer chunk size", + "default": null, + "type": "size" + }, + { + "name": "parser", + "description": "Set the parser", + "default": null, + "type": "string" + }, + { + "name": "receive_buffer_size", + "description": "Set the socket receiving buffer size", + "default": null, + "type": "size" + }, + { + "name": "raw_message_key", + "description": "Key where the raw message will be preserved", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "exec", + "description": "Exec Input", + "properties": { + "options": [ + { + "name": "command", + "description": "Set the command to execute", + "default": null, + "type": "string" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "oneshot", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_after_oneshot", + "description": "exit fluent-bit after the command terminates in one-shot mode", + "default": "false", + "type": "boolean" + }, + { + "name": "propagate_exit_code", + "description": "propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "udp", + "description": "UDP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "exec_wasi", + "description": "Exec WASI Input", + "properties": { + "options": [ + { + "name": "wasi_path", + "description": "Set the path of WASM program to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "bool", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "tcp", + "description": "TCP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "mqtt", + "description": "MQTT, listen for Publish messages", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "payload_key", + "description": "Key where the payload will be preserved", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "lib", + "description": "Library mode Input", + "properties": {} + }, + { + "type": "input", + "name": "forward", + "description": "Fluentd in-forward", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "tag_prefix", + "description": "Prefix incoming tag with the defined value.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "security.users", + "description": "Specify username and password pairs.", + "default": null, + "type": "string" + }, + { + "name": "unix_path", + "description": "The path to unix socket to receive a Forward message.", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "The buffer memory size used to receive a Forward message.", + "default": "1024000", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "The maximum buffer memory size used to receive a Forward message.", + "default": "6144000", + "type": "size" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "random", + "description": "Random", + "properties": { + "options": [ + { + "name": "samples", + "description": "Number of samples to send, -1 for infinite", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + } + ], + "filters": [ + { + "type": "filter", + "name": "alter_size", + "description": "Alter incoming chunk size", + "properties": { + "options": [ + { + "name": "add", + "description": "add N records to the chunk", + "default": "0", + "type": "integer" + }, + { + "name": "remove", + "description": "remove N records from the chunk", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "aws", + "description": "Add AWS Metadata", + "properties": { + "options": [ + { + "name": "imds_version", + "description": "Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.", + "default": "v2", + "type": "string" + }, + { + "name": "az", + "description": "Enable EC2 instance availability zone", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_id", + "description": "Enable EC2 instance ID", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_type", + "description": "Enable EC2 instance type", + "default": "false", + "type": "boolean" + }, + { + "name": "private_ip", + "description": "Enable EC2 instance private IP", + "default": "false", + "type": "boolean" + }, + { + "name": "vpc_id", + "description": "Enable EC2 instance VPC ID", + "default": "false", + "type": "boolean" + }, + { + "name": "ami_id", + "description": "Enable EC2 instance Image ID", + "default": "false", + "type": "boolean" + }, + { + "name": "account_id", + "description": "Enable EC2 instance Account ID", + "default": "false", + "type": "boolean" + }, + { + "name": "hostname", + "description": "Enable EC2 instance hostname", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_enabled", + "description": "Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_include", + "description": "Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"", + "default": "", + "type": "string" + }, + { + "name": "tags_exclude", + "description": "Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails", + "default": "", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "checklist", + "description": "Check records and flag them", + "properties": { + "options": [ + { + "name": "file", + "description": "Specify the file that contains the patterns to lookup.", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the check mode: 'exact' or 'partial'.", + "default": "exact", + "type": "string" + }, + { + "name": "print_query_time", + "description": "Print to stdout the elapseed query time for every matched record", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_case", + "description": "Compare strings by ignoring case.", + "default": "false", + "type": "boolean" + }, + { + "name": "lookup_key", + "description": "Name of the key to lookup.", + "default": "log", + "type": "string" + }, + { + "name": "record", + "description": "Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ] + } + }, + { + "type": "filter", + "name": "ecs", + "description": "Add AWS ECS Metadata", + "properties": { + "options": [ + { + "name": "add", + "description": "Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.", + "default": null, + "type": "string" + }, + { + "name": "ecs_tag_prefix", + "description": "This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).", + "default": "", + "type": "string" + }, + { + "name": "cluster_metadata_only", + "description": "Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).", + "default": "false", + "type": "boolean" + }, + { + "name": "ecs_meta_cache_ttl", + "description": "Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.", + "default": "3600", + "type": "time" + }, + { + "name": "ecs_meta_host", + "description": "The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "ecs_meta_port", + "description": "The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678", + "default": "51678", + "type": "integer" + }, + { + "name": "agent_endpoint_retries", + "description": "Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.", + "default": "2", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "record_modifier", + "description": "modify record", + "properties": { + "options": [ + { + "name": "record", + "description": "Append fields. This parameter needs key and value pair.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "remove_key", + "description": "If the key is matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "allowlist_key", + "description": "If the key is not matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "whitelist_key", + "description": "(Alias of allowlist_key)", + "default": null, + "type": "string" + }, + { + "name": "uuid_key", + "description": "If set, the plugin generates uuid per record.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "sysinfo", + "description": "Filter for system info", + "properties": { + "options": [ + { + "name": "fluentbit_version_key", + "description": "Specify the key name for fluent-bit version.", + "default": null, + "type": "string" + }, + { + "name": "os_name_key", + "description": "Specify the key name for os name. e.g. linux, win64 or macos.", + "default": null, + "type": "string" + }, + { + "name": "hostname_key", + "description": "Specify the key name for hostname.", + "default": null, + "type": "string" + }, + { + "name": "os_version_key", + "description": "Specify the key name for os version. It is not supported on some platforms.", + "default": null, + "type": "string" + }, + { + "name": "kernel_version_key", + "description": "Specify the key name for kernel version. It is not supported on some platforms.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "throttle", + "description": "Throttle messages using sliding window algorithm", + "properties": { + "options": [ + { + "name": "rate", + "description": "Set throttle rate", + "default": "1", + "type": "double" + }, + { + "name": "window", + "description": "Set throttle window", + "default": "5", + "type": "integer" + }, + { + "name": "print_status", + "description": "Set whether or not to print status information", + "default": "false", + "type": "boolean" + }, + { + "name": "interval", + "description": "Set the slide interval", + "default": "1", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "type_converter", + "description": "Data type converter", + "properties": { + "options": [ + { + "name": "int_key", + "description": "Convert integer to other type. e.g. int_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "uint_key", + "description": "Convert unsinged integer to other type. e.g. uint_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "float_key", + "description": "Convert float to other type. e.g. float_key ratio id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "str_key", + "description": "Convert string to other type. e.g. str_key id id_val integer", + "default": null, + "type": "space delimited strings (minimum 3)" + } + ] + } + }, + { + "type": "filter", + "name": "kubernetes", + "description": "Filter to append Kubernetes metadata", + "properties": { + "options": [ + { + "name": "buffer_size", + "description": "buffer size to receive response from API server", + "default": "32K", + "type": "size" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "merge_log", + "description": "merge 'log' key content as individual keys", + "default": "false", + "type": "boolean" + }, + { + "name": "merge_parser", + "description": "specify a 'parser' name to parse the 'log' key content", + "default": null, + "type": "string" + }, + { + "name": "merge_log_key", + "description": "set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled", + "default": null, + "type": "string" + }, + { + "name": "merge_log_trim", + "description": "remove ending '\\n' or '\\r' characters from the log content", + "default": "true", + "type": "boolean" + }, + { + "name": "keep_log", + "description": "keep original log content if it was successfully parsed and merged", + "default": "true", + "type": "boolean" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "kube_meta_preload_cache_dir", + "description": "set directory with metadata files", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_tag_prefix", + "description": "prefix used in tag by the input plugin", + "default": "kube.var.log.containers.", + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_command", + "description": "command to get Kubernetes authorization token", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "include Kubernetes labels on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "annotations", + "description": "include Kubernetes annotations on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "namespace_labels", + "description": "include Kubernetes namespace labels on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_annotations", + "description": "include Kubernetes namespace annotations on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_metadata_only", + "description": "ignore pod metadata entirely and only fetch namespace metadata", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.parser", + "description": "allow Pods to suggest a parser", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.exclude", + "description": "allow Pods to exclude themselves from the logging pipeline", + "default": "false", + "type": "boolean" + }, + { + "name": "use_journal", + "description": "use Journald (Systemd) mode", + "default": "false", + "type": "boolean" + }, + { + "name": "regex_parser", + "description": "optional regex parser to extract metadata from container name or container log file name", + "default": null, + "type": "string" + }, + { + "name": "dummy_meta", + "description": "use 'dummy' metadata, do not talk to API server", + "default": "false", + "type": "boolean" + }, + { + "name": "dns_retries", + "description": "dns lookup retries N times until the network start working", + "default": "6", + "type": "integer" + }, + { + "name": "dns_wait_time", + "description": "dns interval between network status checks", + "default": "30", + "type": "time" + }, + { + "name": "cache_use_docker_id", + "description": "fetch K8s meta when docker_id is changed", + "default": "false", + "type": "boolean" + }, + { + "name": "use_tag_for_meta", + "description": "use tag associated to retrieve metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "use_kubelet", + "description": "use kubelet to get metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "kubelet_host", + "description": "kubelet host to connect with when using kubelet", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "kubelet_port", + "description": "kubelet port to connect with when using kubelet", + "default": "10250", + "type": "integer" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_meta_cache_ttl", + "description": "configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted", + "default": "0", + "type": "time" + }, + { + "name": "kube_meta_namespace_cache_ttl", + "description": "configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.", + "default": "15m", + "type": "time" + } + ] + } + }, + { + "type": "filter", + "name": "modify", + "description": "modify records by applying rules", + "properties": { + "options": [ + { + "name": "Set", + "description": "Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.", + "default": null, + "type": "string" + }, + { + "name": "Add", + "description": "Add a key/value pair with key KEY and value VALUE if KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Remove", + "description": "Remove a key/value pair with key KEY if it exists", + "default": null, + "type": "string" + }, + { + "name": "Remove_wildcard", + "description": "Remove all key/value pairs with key matching wildcard KEY", + "default": null, + "type": "string" + }, + { + "name": "Remove_regex", + "description": "Remove all key/value pairs with key matching regexp KEY", + "default": null, + "type": "string" + }, + { + "name": "Move_To_Start", + "description": "Move key/value pairs with keys matching KEY to the start of the message", + "default": null, + "type": "string" + }, + { + "name": "Move_To_End", + "description": "Move key/value pairs with keys matching KEY to the end of the message", + "default": null, + "type": "string" + }, + { + "name": "Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Condition", + "description": "Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "multiline", + "description": "Concatenate multiline messages", + "properties": { + "options": [ + { + "name": "debug_flush", + "description": "enable debugging for concatenation flush to stdout", + "default": "false", + "type": "boolean" + }, + { + "name": "buffer", + "description": "Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.", + "default": "true", + "type": "boolean" + }, + { + "name": "mode", + "description": "Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.", + "default": "parser", + "type": "string" + }, + { + "name": "flush_ms", + "description": "Flush time for pending multiline records", + "default": "2000", + "type": "integer" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "multiline.key_content", + "description": "specify the key name that holds the content to process.", + "default": null, + "type": "string" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "nest", + "description": "nest events by specified field values", + "properties": { + "options": [ + { + "name": "Operation", + "description": "Select the operation nest or lift", + "default": null, + "type": "string" + }, + { + "name": "Wildcard", + "description": "Nest records which field matches the wildcard", + "default": null, + "type": "string" + }, + { + "name": "Nest_under", + "description": "Nest records matching the Wildcard under this key", + "default": null, + "type": "string" + }, + { + "name": "Nested_under", + "description": "Lift records nested under the Nested_under key", + "default": null, + "type": "string" + }, + { + "name": "Add_prefix", + "description": "Prefix affected keys with this string", + "default": null, + "type": "string" + }, + { + "name": "Remove_prefix", + "description": "Remove prefix from affected keys if it matches this string", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "parser", + "description": "Parse events", + "properties": { + "options": [ + { + "name": "Key_Name", + "description": "Specify field name in record to parse.", + "default": null, + "type": "string" + }, + { + "name": "Parser", + "description": "Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).", + "default": null, + "type": "string" + }, + { + "name": "Preserve_Key", + "description": "Keep original Key_Name field in the parsed result. If false, the field will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Reserve_Data", + "description": "Keep all other original fields in the parsed result. If false, all other original fields will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Unescape_key", + "description": "(deprecated)", + "default": null, + "type": "deprecated" + } + ] + } + }, + { + "type": "filter", + "name": "expect", + "description": "Validate expected keys and values", + "properties": { + "options": [ + { + "name": "key_exists", + "description": "check that the given key name exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_not_exists", + "description": "check that the given key name do not exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_null", + "description": "check that the value of the key is NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_not_null", + "description": "check that the value of the key is NOT NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_eq", + "description": "check that the value of the key equals the given value", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "action", + "description": "action to take when a rule does not match: 'warn', 'exit' or 'result_key'.", + "default": "warn", + "type": "string" + }, + { + "name": "result_key", + "description": "specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.", + "default": "matched", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "grep", + "description": "grep events by specified field values", + "properties": { + "options": [ + { + "name": "regex", + "description": "Keep records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Exclude records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "logical_op", + "description": "Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.", + "default": "legacy", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "rewrite_tag", + "description": "Rewrite records tags", + "properties": { + "options": [ + { + "name": "rule", + "description": "", + "default": null, + "type": "space delimited strings (minimum 4)" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "log_to_metrics", + "description": "generate log derived metrics", + "properties": { + "options": [ + { + "name": "regex", + "description": "Optional filter for records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Optional filter for records in which the content of KEY does not matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "metric_mode", + "description": "Mode selector. Values counter, gauge, or histogram. Summary is not supported", + "default": "counter", + "type": "string" + }, + { + "name": "value_field", + "description": "Numeric field to use for gauge or histogram", + "default": null, + "type": "string" + }, + { + "name": "metric_name", + "description": "Name of metric", + "default": null, + "type": "string" + }, + { + "name": "metric_description", + "description": "Help text for metric", + "default": null, + "type": "string" + }, + { + "name": "kubernetes_mode", + "description": "Enable kubernetes log metric fields", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Add a label to the metric by supporting record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "label_field", + "description": "Specify message field that should be included in the metric", + "default": null, + "type": "string" + }, + { + "name": "bucket", + "description": "Specify bucket for histogram metric", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Metric Tag", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "lua", + "description": "Lua Scripting Filter", + "properties": { + "options": [ + { + "name": "script", + "description": "The path of lua script.", + "default": null, + "type": "string" + }, + { + "name": "code", + "description": "String that contains the Lua script source code", + "default": null, + "type": "string" + }, + { + "name": "call", + "description": "Lua function name that will be triggered to do filtering.", + "default": null, + "type": "string" + }, + { + "name": "type_int_key", + "description": "If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "type_array_key", + "description": "If these keys are matched, the fields are converted to array. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "protected_mode", + "description": "If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_as_table", + "description": "If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.", + "default": "false", + "type": "boolean" + }, + { + "name": "enable_flb_null", + "description": "If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "filter", + "name": "stdout", + "description": "Filter events to STDOUT", + "properties": { + "options": [] + } + }, + { + "type": "filter", + "name": "geoip2", + "description": "add geoip information to records", + "properties": { + "options": [ + { + "name": "database", + "description": "Set the geoip2 database path", + "default": null, + "type": "string" + }, + { + "name": "lookup_key", + "description": "Add a lookup_key", + "default": null, + "type": "string" + }, + { + "name": "record", + "description": "Add a record to the output base on geoip2", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "nightfall", + "description": "scans records for sensitive content", + "properties": { + "options": [ + { + "name": "nightfall_api_key", + "description": "The Nightfall API key to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "policy_id", + "description": "The Nightfall policy ID to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "sampling_rate", + "description": "The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.", + "default": "1", + "type": "double" + }, + { + "name": "tls.debug", + "description": "Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "Enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "Set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Path to root certificates on the system", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "wasm", + "description": "WASM program filter", + "properties": { + "options": [ + { + "name": "event_format", + "description": "Sepecify the ingesting event format for wasm program", + "default": null, + "type": "string" + }, + { + "name": "wasm_path", + "description": "Set the wasm path to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "function_name", + "description": "Set the function name in wasm to execute", + "default": null, + "type": "string" + } + ] + } + } + ], + "outputs": [ + { + "type": "output", + "name": "azure", + "description": "Send events to Azure HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "customer_id", + "description": "Customer ID or WorkspaceID string.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "The primary or the secondary Connected Sources client authentication key.", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "The name of the event type.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "log_type_key", + "description": "If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Optional parameter to specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_blob", + "description": "Azure Blob Storage", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "account_name", + "description": "Azure account name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "container_name", + "description": "Container name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "auto_create_container", + "description": "Auto create container if it don't exists", + "default": "true", + "type": "boolean" + }, + { + "name": "blob_type", + "description": "Set the block type: appendblob or blockblob", + "default": "appendblob", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "compress_blob", + "description": "Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type", + "default": "false", + "type": "boolean" + }, + { + "name": "emulator_mode", + "description": "Use emulator mode, enable it if you want to use Azurite", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Azure shared key", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom full URL endpoint to use an emulator", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set a path for your blob", + "default": null, + "type": "string" + }, + { + "name": "date_key", + "description": "Name of the key that will have the record timestamp", + "default": "@timestamp", + "type": "string" + }, + { + "name": "auth_type", + "description": "Set the auth type: key or sas", + "default": "key", + "type": "string" + }, + { + "name": "sas_token", + "description": "Azure Blob SAS token", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_logs_ingestion", + "description": "Send logs to Log Analytics with Log Ingestion API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client/app ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "dce_url", + "description": "Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)", + "default": null, + "type": "string" + }, + { + "name": "dcr_id", + "description": "Data Collection Rule (DCR) immutable ID", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "The name of the custom log table, including '_CL' suffix", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "[Optional] Specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Enable HTTP payload compression (gzip).", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_kusto", + "description": "Send events to Kusto (Azure Data Explorer)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client ID (Application ID) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret (Application Password) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "ingestion_endpoint", + "description": "Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)", + "default": null, + "type": "string" + }, + { + "name": "database_name", + "description": "Set the database name", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "Set the table name", + "default": null, + "type": "string" + }, + { + "name": "ingestion_mapping_reference", + "description": "Set the ingestion mapping reference", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "The key name of event payload", + "default": "log", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tag", + "type": "string" + }, + { + "name": "include_time_key", + "description": "If enabled, time is appended to output. The key name is used 'time_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_key", + "description": "The key name of the time. If 'include_time_key' is false, This property is ignored", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "bigquery", + "description": "Send events to BigQuery via streaming insert", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "enable_identity_federation", + "description": "Enable identity federation", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "Enable identity federation", + "default": null, + "type": "string" + }, + { + "name": "project_number", + "description": "Set project number", + "default": null, + "type": "string" + }, + { + "name": "pool_id", + "description": "Set the pool id", + "default": null, + "type": "string" + }, + { + "name": "provider_id", + "description": "Set the provider id", + "default": null, + "type": "string" + }, + { + "name": "google_service_account", + "description": "Set the google service account", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "dataset_id", + "description": "Set the dataset id", + "default": null, + "type": "string" + }, + { + "name": "table_id", + "description": "Set the table id", + "default": null, + "type": "string" + }, + { + "name": "skip_invalid_rows", + "description": "Enable skipping of invalid rows", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_unknown_values", + "description": "Enable ignoring unknown value", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "counter", + "description": "Records counter", + "properties": { + "options": [] + } + }, + { + "type": "output", + "name": "datadog", + "description": "Send events to DataDog HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.", + "default": "false", + "type": "string" + }, + { + "name": "apikey", + "description": "Datadog API key", + "default": null, + "type": "string" + }, + { + "name": "dd_service", + "description": "The human readable name for your service generating the logs - the name of your application or database.", + "default": null, + "type": "string" + }, + { + "name": "dd_source", + "description": "A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.", + "default": null, + "type": "string" + }, + { + "name": "dd_tags", + "description": "The tags you want to assign to your logs in Datadog.", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.", + "default": null, + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tagkey", + "type": "string" + }, + { + "name": "dd_message_key", + "description": "By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.", + "default": null, + "type": "string" + }, + { + "name": "provider", + "description": "To activate the remapping, specify configuration flag provider with value 'ecs'", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Date key name for output.", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "es", + "description": "Elasticsearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for Elastic X-Pack access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in HTTP_User", + "default": "", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "cloud_id", + "description": "Elastic cloud ID of the cluster to connect to", + "default": null, + "type": "string" + }, + { + "name": "cloud_auth", + "description": "Elastic cloud authentication credentials", + "default": null, + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the Elasticsearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the Elasticsearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "exit", + "description": "Exit after a number of flushes (test purposes)", + "properties": { + "options": [ + { + "name": "flush_count", + "description": "", + "default": "1", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "file", + "description": "Generate log file", + "properties": { + "options": [ + { + "name": "path", + "description": "Absolute path to store the files. This parameter is optional", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "Name of the target file to write the records. If 'path' is specified, the value is prefixed", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json", + "default": null, + "type": "string" + }, + { + "name": "delimiter", + "description": "Set a custom delimiter for the records", + "default": null, + "type": "string" + }, + { + "name": "label_delimiter", + "description": "Set a custom label delimiter, to be used with 'ltsv' format", + "default": null, + "type": "string" + }, + { + "name": "template", + "description": "Set a custom template format for the data", + "default": "{time} {message}", + "type": "string" + }, + { + "name": "csv_column_names", + "description": "Add column names (keys) in the first line of the target file", + "default": "false", + "type": "boolean" + }, + { + "name": "mkdir", + "description": "Recursively create output directory if it does not exist. Permissions set to 0755", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "forward", + "description": "Forward (Fluentd protocol)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "time_as_integer", + "description": "Set timestamp in integer format (compat mode for old Fluentd v0.12)", + "default": "false", + "type": "boolean" + }, + { + "name": "retain_metadata_in_forward_mode", + "description": "Retain metadata when operating in forward mode", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "empty_shared_key", + "description": "Set an empty shared key for authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "send_options", + "description": "Send 'forward protocol options' to remote endpoint", + "default": "false", + "type": "boolean" + }, + { + "name": "require_ack_response", + "description": "Require that remote endpoint confirms data reception", + "default": "false", + "type": "boolean" + }, + { + "name": "username", + "description": "Username for authentication", + "default": "", + "type": "string" + }, + { + "name": "password", + "description": "Password for authentication", + "default": "", + "type": "string" + }, + { + "name": "unix_path", + "description": "Path to unix socket. It is ignored when 'upstream' property is set", + "default": null, + "type": "string" + }, + { + "name": "upstream", + "description": "Path to 'upstream' configuration file (define multiple nodes)", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Set a custom Tag for the outgoing records", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Compression mode", + "default": null, + "type": "string" + }, + { + "name": "fluentd_compat", + "description": "Send metrics and traces with Fluentd compatible format", + "default": "false", + "type": "boolean" + }, + { + "name": "add_option", + "description": "Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "http", + "description": "HTTP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "allow_duplicated_headers", + "description": "Specify if duplicated headers are allowed or not", + "default": "true", + "type": "boolean" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": null, + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header_tag", + "description": "Set a HTTP header which value is the Tag", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": "json", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Specify the key to use for 'timestamp' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Specify the key to use for the 'host' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Specify the key to use as the 'short' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Specify the key to use for the 'full' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Specify the key to use for the 'level' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "body_key", + "description": "Specify the key which contains the body", + "default": null, + "type": "string" + }, + { + "name": "headers_key", + "description": "Specify the key which contains the headers", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "influxdb", + "description": "InfluxDB Time Series", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "database", + "description": "Set the database name.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "bucket", + "description": "Specify the bucket name, used on InfluxDB API v2.", + "default": null, + "type": "string" + }, + { + "name": "org", + "description": "Set the Organization name.", + "default": "fluent", + "type": "string" + }, + { + "name": "sequence_tag", + "description": "Specify the sequence tag.", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom URI endpoint (must start with '/').", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "HTTP Basic Auth username.", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "HTTP Basic Auth password.", + "default": "", + "type": "string" + }, + { + "name": "http_token", + "description": "Set InfluxDB HTTP Token API v2.", + "default": null, + "type": "string" + }, + { + "name": "http_header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "auto_tags", + "description": "Automatically tag keys where value is string.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_keys", + "description": "Space separated list of keys that needs to be tagged.", + "default": null, + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "logdna", + "description": "LogDNA", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "logdna_host", + "description": "LogDNA Host address", + "default": "logs.logdna.com", + "type": "string" + }, + { + "name": "logdna_port", + "description": "LogDNA TCP port", + "default": "443", + "type": "integer" + }, + { + "name": "api_key", + "description": "Logdna API key", + "default": null, + "type": "string" + }, + { + "name": "hostname", + "description": "Local Server or device host name", + "default": null, + "type": "string" + }, + { + "name": "mac", + "description": "MAC address (optional)", + "default": "", + "type": "string" + }, + { + "name": "ip", + "description": "IP address (optional)", + "default": "", + "type": "string" + }, + { + "name": "tags", + "description": "Tags (optional)", + "default": "", + "type": "multiple comma delimited strings" + }, + { + "name": "file", + "description": "Name of the monitored file (optional)", + "default": null, + "type": "string" + }, + { + "name": "app", + "description": "Name of the application generating the data (optional)", + "default": "Fluent Bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "loki", + "description": "Loki", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom HTTP URI. It must start with forward slash.", + "default": "/loki/api/v1/push", + "type": "string" + }, + { + "name": "tenant_id", + "description": "Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.", + "default": null, + "type": "string" + }, + { + "name": "tenant_id_key", + "description": "If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "labels for API requests. If no value is set, the default label is 'job=fluent-bit'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "auto_kubernetes_labels", + "description": "If set to true, it will add all Kubernetes labels to Loki labels.", + "default": "false", + "type": "boolean" + }, + { + "name": "drop_single_key", + "description": "If set to true and only a single key remains, the log line sent to Loki will be the value of that key.", + "default": "false", + "type": "boolean" + }, + { + "name": "label_keys", + "description": "Comma separated list of keys to use as stream labels.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "remove_keys", + "description": "Comma separated list of keys to remove.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "line_format", + "description": "Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.", + "default": "json", + "type": "string" + }, + { + "name": "label_map_path", + "description": "A label map file path", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kafka", + "description": "Kafka", + "properties": { + "options": [ + { + "name": "topic_key", + "description": "Which record to use as the kafka topic.", + "default": null, + "type": "string" + }, + { + "name": "dynamic_topic", + "description": "Activate dynamic topics.", + "default": "false", + "type": "boolean" + }, + { + "name": "format", + "description": "Set the record output format.", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Which record key to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "message_key_field", + "description": "Which record key field to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Set the key for the the timestamp.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "timestamp_format", + "description": "Set the format the timestamp is in.", + "default": null, + "type": "string" + }, + { + "name": "queue_full_retries", + "description": "Set the number of local retries to enqueue the data.", + "default": "10", + "type": "integer" + }, + { + "name": "gelf_timestamp_key", + "description": "Set the timestamp key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Set the host key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Set the short message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Set the full message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Set the level key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "schema_str", + "description": "Set AVRO schema.", + "default": null, + "type": "string" + }, + { + "name": "schema_id", + "description": "Set AVRO schema ID.", + "default": null, + "type": "string" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the kafka group_id.", + "default": null, + "type": "prefixed string" + } + ] + } + }, + { + "type": "output", + "name": "kafka-rest", + "description": "Kafka REST Proxy", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Specify a message key. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Specify the name of the field that holds the record timestamp. ", + "default": null, + "type": "string" + }, + { + "name": "topic", + "description": "Specify the kafka topic. ", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "url_path", + "description": "Specify an optional HTTP URL path for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "partition", + "description": "Specify kafka partition number. ", + "default": "-1", + "type": "double" + }, + { + "name": "time_key_format", + "description": "Specify the format of the timestamp. ", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "Specify whether to append tag name to final record. ", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "Specify the key name of the record if include_tag_key is enabled. ", + "default": "_flb-key", + "type": "string" + }, + { + "name": "avro_http_header", + "description": "Specify if the format has avro header in http request", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "nats", + "description": "NATS Server", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "nrlogs", + "description": "New Relic", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "base_uri", + "description": "New Relic Host address", + "default": "https://log-api.newrelic.com/log/v1", + "type": "string" + }, + { + "name": "api_key", + "description": "New Relic API Key", + "default": null, + "type": "string" + }, + { + "name": "license_key", + "description": "New Relic License Key", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism", + "default": "gzip", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "null", + "description": "Throws away events", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specifies the name of the date field in output.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opensearch", + "description": "OpenSearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in 'http_user'", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": "default", + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the OpenSearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the OpenSearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "oracle_log_analytics", + "description": "Oracle log analytics", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "config_file_location", + "description": "Location of the oci config file for user api key signing", + "default": "", + "type": "string" + }, + { + "name": "profile_name", + "description": "name of the profile in the config file from which the user configs should be loaded", + "default": "DEFAULT", + "type": "string" + }, + { + "name": "oci_config_in_record", + "description": "If true, oci_la_* configs will be read from the record", + "default": "false", + "type": "boolean" + }, + { + "name": "uri", + "description": "Set the uri for rest api request", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_group_id", + "description": "log group id", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_type", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_source_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_global_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "oci_la_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "namespace", + "description": "namespace in your tenancy where the log objects reside", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "define proxy if required, in http://host:port format, supports only http protocol", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "plot", + "description": "Generate data file for GNU Plot", + "properties": { + "options": [ + { + "name": "key", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "scalyr_dataset", + "description": "Send events to scalyr's dataset HTTP API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "token", + "description": "Specify the Authentication Bearer Token for the Dataset API.", + "default": null, + "type": "string" + }, + { + "name": "server_host", + "description": "Specify the serverHost in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "server_type", + "description": "Specify the serverType in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Specify the region in the Scalyr sessionInfo.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "skywalking", + "description": "Send logs into log collector on SkyWalking OAP", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "auth_token", + "description": "Auth token for SkyWalking OAP", + "default": null, + "type": "string" + }, + { + "name": "svc_name", + "description": "Service name", + "default": "sw-service", + "type": "string" + }, + { + "name": "svc_inst_name", + "description": "Instance name", + "default": "fluent-bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "slack", + "description": "Send events to a Slack channel", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "webhook", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "splunk", + "description": "Send events to Splunk HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "event_key", + "description": "Specify the key name that will be used to send a single value as part of the record.", + "default": null, + "type": "string" + }, + { + "name": "event_host", + "description": "Set the host value to the event data. The value allows a record accessor pattern.", + "default": null, + "type": "string" + }, + { + "name": "event_source", + "description": "Set the source value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype", + "description": "Set the sourcetype value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype_key", + "description": "Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.", + "default": null, + "type": "string" + }, + { + "name": "event_index", + "description": "The name of the index by which the event data is to be indexed.", + "default": null, + "type": "string" + }, + { + "name": "event_index_key", + "description": "Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.", + "default": null, + "type": "string" + }, + { + "name": "event_field", + "description": "Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "splunk_token", + "description": "Specify the Authentication Token for the HTTP Event Collector interface.", + "default": null, + "type": "string" + }, + { + "name": "splunk_send_raw", + "description": "When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.", + "default": "off", + "type": "boolean" + }, + { + "name": "channel", + "description": "Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stackdriver", + "description": "Send events to Google Stackdriver Logging", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "metadata_server", + "description": "Set the metadata server", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "export_to_project_id", + "description": "Export to project id", + "default": null, + "type": "string" + }, + { + "name": "project_id_key", + "description": "Set the gcp project id key", + "default": "logging.googleapis.com/projectId", + "type": "string" + }, + { + "name": "resource", + "description": "Set the resource", + "default": "global", + "type": "string" + }, + { + "name": "severity_key", + "description": "Set the severity key", + "default": "logging.googleapis.com/severity", + "type": "string" + }, + { + "name": "autoformat_stackdriver_trace", + "description": "Autoformat the stackdriver trace", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_key", + "description": "Set the trace key", + "default": "logging.googleapis.com/trace", + "type": "string" + }, + { + "name": "span_id_key", + "description": "Set the span id key", + "default": "logging.googleapis.com/spanId", + "type": "string" + }, + { + "name": "trace_sampled_key", + "description": "Set the trace sampled key", + "default": "logging.googleapis.com/traceSampled", + "type": "string" + }, + { + "name": "log_name_key", + "description": "Set the logname key", + "default": "logging.googleapis.com/logName", + "type": "string" + }, + { + "name": "http_request_key", + "description": "Set the http request key", + "default": "logging.googleapis.com/http_request", + "type": "string" + }, + { + "name": "k8s_cluster_name", + "description": "Set the kubernetes cluster name", + "default": null, + "type": "string" + }, + { + "name": "k8s_cluster_location", + "description": "Set the kubernetes cluster location", + "default": null, + "type": "string" + }, + { + "name": "location", + "description": "Set the resource location", + "default": null, + "type": "string" + }, + { + "name": "namespace", + "description": "Set the resource namespace", + "default": null, + "type": "string" + }, + { + "name": "node_id", + "description": "Set the resource node id", + "default": null, + "type": "string" + }, + { + "name": "job", + "description": "Set the resource job", + "default": null, + "type": "string" + }, + { + "name": "task_id", + "description": "Set the resource task id", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set log payload compression method. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "Set the labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "labels_key", + "description": "Set the labels key", + "default": "logging.googleapis.com/labels", + "type": "string" + }, + { + "name": "tag_prefix", + "description": "Set the tag prefix", + "default": null, + "type": "string" + }, + { + "name": "stackdriver_agent", + "description": "Set the stackdriver agent", + "default": null, + "type": "string" + }, + { + "name": "custom_k8s_regex", + "description": "Set a custom kubernetes regex filter", + "default": "(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$", + "type": "string" + }, + { + "name": "resource_labels", + "description": "Set the resource labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "test_log_entry_format", + "description": "Test log entry format", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stdout", + "description": "Prints events to STDOUT", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.", + "default": "udp", + "type": "string" + }, + { + "name": "syslog_format", + "description": "Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.", + "default": "rfc5424", + "type": "string" + }, + { + "name": "syslog_maxsize", + "description": "Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.", + "default": "0", + "type": "size" + }, + { + "name": "syslog_severity_key", + "description": "Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_severity_preset", + "description": "Specify the preset severity number. It must be 0-7. This configuration is optional.", + "default": "6", + "type": "integer" + }, + { + "name": "syslog_facility_key", + "description": "Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_facility_preset", + "description": "Specify the preset facility number. It must be 0-23. This configuration is optional.", + "default": "1", + "type": "integer" + }, + { + "name": "syslog_hostname_key", + "description": "Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_hostname_preset", + "description": "Specify the preset hostname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_key", + "description": "Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_preset", + "description": "Specify the preset appname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_key", + "description": "Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_preset", + "description": "Specify the preset procid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_key", + "description": "Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_preset", + "description": "Specify the preset msgid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_sd_key", + "description": "Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.", + "default": null, + "type": "string" + }, + { + "name": "syslog_message_key", + "description": "Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.", + "default": null, + "type": "string" + }, + { + "name": "allow_longer_sd_id", + "description": "If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "tcp", + "description": "TCP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "msgpack", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "udp", + "description": "UDP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "json_lines", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "td", + "description": "Treasure Data", + "properties": { + "options": [ + { + "name": "API", + "description": "Set the API key", + "default": null, + "type": "string" + }, + { + "name": "Database", + "description": "Set the Database file", + "default": null, + "type": "string" + }, + { + "name": "Table", + "description": "Set the Database Table", + "default": null, + "type": "string" + }, + { + "name": "Region", + "description": "Set the Region: us or jp", + "default": null, + "type": "string" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "lib", + "description": "Library mode Output", + "properties": {} + }, + { + "type": "output", + "name": "flowcounter", + "description": "FlowCounter", + "properties": { + "options": [ + { + "name": "unit", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "event_based", + "description": "", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "gelf", + "description": "GELF Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "The protocol to use. 'tls', 'tcp' or 'udp'", + "default": "udp", + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "A short descriptive message (MUST be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Timestamp key name (SHOULD be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "packet_size", + "description": "If transport protocol is udp, you can set the size of packets to be sent.", + "default": "1420", + "type": "integer" + }, + { + "name": "compress", + "description": "If transport protocol is udp, you can set this if you want your UDP packets to be compressed.", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "websocket", + "description": "Websocket", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify an optional URI for the target web socket server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "cloudwatch_logs", + "description": "Send logs to Amazon CloudWatch", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region to send logs to", + "default": null, + "type": "string" + }, + { + "name": "log_group_name", + "description": "CloudWatch Log Group Name", + "default": null, + "type": "string" + }, + { + "name": "log_stream_name", + "description": "CloudWatch Log Stream Name; not compatible with `log_stream_prefix`", + "default": null, + "type": "string" + }, + { + "name": "log_stream_prefix", + "description": "Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name", + "default": null, + "type": "string" + }, + { + "name": "log_group_template", + "description": "Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_stream_template", + "description": "Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.", + "default": null, + "type": "string" + }, + { + "name": "extra_user_agent", + "description": "This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.", + "default": null, + "type": "string" + }, + { + "name": "log_format", + "description": "An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "auto_create_group", + "description": "Automatically create the log group (log streams will always automatically be created)", + "default": "false", + "type": "boolean" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_retention_days", + "description": "If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]", + "default": "0", + "type": "integer" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the CloudWatch Logs API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Specify a custom endpoint for the STS API, can be used with the role_arn parameter", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "metric_namespace", + "description": "Metric namespace for CloudWatch EMF logs", + "default": null, + "type": "string" + }, + { + "name": "metric_dimensions", + "description": "Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_firehose", + "description": "Send logs to Amazon Kinesis Firehose", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your delivery stream", + "default": null, + "type": "string" + }, + { + "name": "delivery_stream", + "description": "Firehose delivery stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Firehose API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_streams", + "description": "Send logs to Amazon Kinesis Streams", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your kinesis stream", + "default": null, + "type": "string" + }, + { + "name": "stream", + "description": "Kinesis stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Kinesis API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "metrics_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/metrics", + "type": "string" + }, + { + "name": "batch_size", + "description": "Set the maximum number of log records to be flushed at a time", + "default": "1000", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "logs_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/logs", + "type": "string" + }, + { + "name": "logs_body_key", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": null, + "type": "string" + }, + { + "name": "logs_body_key_attributes", + "description": "If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.", + "default": "false", + "type": "boolean" + }, + { + "name": "traces_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/traces", + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "logs_observed_timestamp_metadata_key", + "description": "Specify an ObservedTimestamp key", + "default": "$ObservedTimestamp", + "type": "string" + }, + { + "name": "logs_timestamp_metadata_key", + "description": "Specify a Timestamp key", + "default": "$Timestamp", + "type": "string" + }, + { + "name": "logs_severity_text_metadata_key", + "description": "Specify a SeverityText key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_metadata_key", + "description": "Specify a SeverityNumber key", + "default": "$SeverityNumber", + "type": "string" + }, + { + "name": "logs_trace_flags_metadata_key", + "description": "Specify a TraceFlags key", + "default": "$TraceFlags", + "type": "string" + }, + { + "name": "logs_span_id_metadata_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_metadata_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_attributes_metadata_key", + "description": "Specify an Attributes key", + "default": "$Attributes", + "type": "string" + }, + { + "name": "logs_instrumentation_scope_metadata_key", + "description": "Specify an InstrumentationScope key", + "default": "InstrumentationScope", + "type": "string" + }, + { + "name": "logs_resource_metadata_key", + "description": "Specify a Resource key", + "default": "Resource", + "type": "string" + }, + { + "name": "logs_span_id_message_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_message_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_severity_text_message_key", + "description": "Specify a Severity Text key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_message_key", + "description": "Specify a Severity Number key", + "default": "$SeverityNumber", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_exporter", + "description": "Prometheus Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "add_timestamp", + "description": "Add timestamp to every metric honoring collection time.", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "TCP port for listening for HTTP connections.", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_remote_write", + "description": "Prometheus remote write", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "compression", + "description": "Compress the payload with either snappy, gzip if set", + "default": "snappy", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": "aps", + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "s3", + "description": "Send to S3", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "aws_shared_credentials_file", + "description": "Path to the AWS shared credentials file.", + "default": "", + "type": "string" + }, + { + "name": "aws_config_file", + "description": "Path to the AWS default configuration file.", + "default": "", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "total_file_size", + "description": "Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB", + "default": "100000000", + "type": "size" + }, + { + "name": "upload_chunk_size", + "description": "This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.", + "default": "5242880", + "type": "size" + }, + { + "name": "upload_timeout", + "description": "Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.", + "default": "10m", + "type": "time" + }, + { + "name": "bucket", + "description": "S3 bucket name.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "AWS region.", + "default": "us-east-1", + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom endpoint for the S3 API.", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "canned_acl", + "description": "Predefined Canned ACL policy for S3 objects.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.", + "default": null, + "type": "string" + }, + { + "name": "content_type", + "description": "A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.", + "default": null, + "type": "string" + }, + { + "name": "store_dir", + "description": "Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.", + "default": "/tmp/fluent-bit/s3", + "type": "string" + }, + { + "name": "store_dir_limit_size", + "description": "S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.", + "default": null, + "type": "size" + }, + { + "name": "s3_key_format", + "description": "Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.", + "default": "/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S", + "type": "string" + }, + { + "name": "s3_key_format_tag_delimiters", + "description": "A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.", + "default": ".", + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "use_put_object", + "description": "Use the S3 PutObject API, instead of the multipart upload API", + "default": "false", + "type": "boolean" + }, + { + "name": "send_content_md5", + "description": "Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled", + "default": "false", + "type": "boolean" + }, + { + "name": "preserve_data_ordering", + "description": "Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "static_file_path", + "description": "Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.", + "default": "false", + "type": "boolean" + }, + { + "name": "storage_class", + "description": "Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "vivo_exporter", + "description": "Vivo Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "empty_stream_on_read", + "description": "If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed", + "default": "off", + "type": "boolean" + }, + { + "name": "stream_queue_size", + "description": "Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.", + "default": "20M", + "type": "size" + }, + { + "name": "http_cors_allow_origin", + "description": "Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "chronicle", + "description": "Send logs to Google Chronicle as unstructured log", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "customer_id", + "description": "Set the customer id", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "Set the log type", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Set the region", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "Set the log key", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + } + ] +} diff --git a/schemas/24.6.2/core-fluent-bit.json b/schemas/24.6.2/core-fluent-bit.json new file mode 100644 index 0000000..570c12e --- /dev/null +++ b/schemas/24.6.2/core-fluent-bit.json @@ -0,0 +1 @@ +{"fluent-bit":{"version":"24.6.2","schema_version":"1","os":"linux"},"customs":[{"type":"custom","name":"calyptia","description":"Calyptia Cloud","properties":{"options":[{"name":"api_key","description":"Calyptia Cloud API Key.","default":null,"type":"string"},{"name":"store_path","description":"","default":null,"type":"string"},{"name":"calyptia_host","description":"","default":"cloud-api.calyptia.com","type":"string"},{"name":"calyptia_port","description":"","default":"443","type":"string"},{"name":"calyptia_tls","description":"","default":"true","type":"boolean"},{"name":"calyptia_tls.verify","description":"","default":"true","type":"boolean"},{"name":"add_label","description":"Label to append to the generated metric.","default":null,"type":"space delimited strings (minimum 1)"},{"name":"machine_id","description":"Custom machine_id to be used when registering agent","default":null,"type":"string"},{"name":"fleet_id","description":"Fleet id to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"fleet.config_dir","description":"Base path for the configuration directory.","default":null,"type":"string"},{"name":"fleet.interval_sec","description":"Set the collector interval","default":"-1","type":"integer"},{"name":"fleet.interval_nsec","description":"Set the collector interval (nanoseconds)","default":"-1","type":"integer"},{"name":"fleet_name","description":"Fleet name to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"pipeline_id","description":"Pipeline ID for reporting to calyptia cloud.","default":null,"type":"string"}]}}],"inputs":[{"type":"input","name":"cpu","description":"CPU Usage","properties":{"options":[{"name":"pid","description":"Configure a single process to measure usage via their PID","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"mem","description":"Memory Usage","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (subseconds)","default":"0","type":"integer"},{"name":"pid","description":"Set the PID of the process to measure","default":"0","type":"integer"}]}},{"type":"input","name":"thermal","description":"Thermal","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"name_regex","description":"Set thermal name regular expression filter","default":null,"type":"string"},{"name":"type_regex","description":"Set thermal type regular expression filter","default":null,"type":"string"}]}},{"type":"input","name":"kmsg","description":"Kernel Log Buffer","properties":{"options":[{"name":"prio_level","description":"The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.","default":"8","type":"integer"}]}},{"type":"input","name":"proc","description":"Check Process health","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"alert","description":"Only generate alerts if process is down","default":"false","type":"boolean"},{"name":"mem","description":"Append memory usage to record","default":"true","type":"boolean"},{"name":"fd","description":"Append fd count to record","default":"true","type":"boolean"},{"name":"proc_name","description":"Define process name to health check","default":null,"type":"string"}]}},{"type":"input","name":"disk","description":"Diskstats","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"dev_name","description":"Set the device name","default":null,"type":"string"}]}},{"type":"input","name":"systemd","description":"Systemd (Journal) reader","properties":{"options":[{"name":"path","description":"Set the systemd journal path","default":null,"type":"string"},{"name":"max_fields","description":"Set the maximum fields per notification","default":"8000","type":"integer"},{"name":"max_entries","description":"Set the maximum entries per notification","default":"5000","type":"integer"},{"name":"systemd_filter_type","description":"Set the systemd filter type to either 'and' or 'or'","default":null,"type":"string"},{"name":"systemd_filter","description":"Add a systemd filter, can be set multiple times","default":null,"type":"string"},{"name":"read_from_tail","description":"Read the journal from the end (tail)","default":"false","type":"boolean"},{"name":"lowercase","description":"Lowercase the fields","default":"false","type":"boolean"},{"name":"strip_underscores","description":"Strip undersecores from fields","default":"false","type":"boolean"},{"name":"db.sync","description":"Set the database sync mode: extra, full, normal or off","default":null,"type":"string"},{"name":"db","description":"Set the database path","default":null,"type":"string"}]}},{"type":"input","name":"netif","description":"Network Interface Usage","properties":{"options":[{"name":"interface","description":"Set the interface, eg: eth0 or enp1s0","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"verbose","description":"Enable verbosity","default":"false","type":"boolean"},{"name":"test_at_init","description":"Testing interface at initialization","default":"false","type":"boolean"}]}},{"type":"input","name":"docker","description":"Docker containers metrics","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"include","description":"A space-separated list of containers to include","default":null,"type":"string"},{"name":"exclude","description":"A space-separated list of containers to exclude","default":null,"type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys/fs/cgroup","type":"string"},{"name":"path.containers","description":"containers directory","default":"/var/lib/docker/containers","type":"string"}]}},{"type":"input","name":"docker_events","description":"Docker events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"unix_path","description":"Define Docker unix socket path to read events","default":"/var/run/docker.sock","type":"string"},{"name":"buffer_size","description":"Set buffer size to read events","default":"8k","type":"size"},{"name":"parser","description":"Optional parser for records, if not set, records are packages under 'key'","default":null,"type":"string"},{"name":"key","description":"Set the key name to store unparsed Docker events","default":"message","type":"string"},{"name":"reconnect.retry_limits","description":"Maximum number to retry to connect docker socket","default":"5","type":"integer"},{"name":"reconnect.retry_interval","description":"Retry interval to connect docker socket","default":"1","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"podman_metrics","description":"Podman metrics","properties":{"options":[{"name":"scrape_interval","description":"Scrape interval to collect the metrics of podman containers(defaults to 30s)","default":"30","type":"time"},{"name":"scrape_on_start","description":"Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"},{"name":"path.config","description":"Path to podman config file","default":null,"type":"string"},{"name":"path.sysfs","description":"Path to sysfs subsystem directory","default":"/sys/fs/cgroup","type":"string"},{"name":"path.procfs","description":"Path to proc subsystem directory","default":"/proc","type":"string"}]}},{"type":"input","name":"process_exporter_metrics","description":"Process Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"process_include_pattern","description":"include list regular expression","default":".+","type":"string"},{"name":"process_exclude_pattern","description":"exclude list regular expression","default":null,"type":"string"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread","type":"multiple comma delimited strings"}]}},{"type":"input","name":"node_exporter_metrics","description":"Node Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"collector.cpu.scrape_interval","description":"scrape interval to collect cpu metrics from the node.","default":"0","type":"time"},{"name":"collector.cpufreq.scrape_interval","description":"scrape interval to collect cpufreq metrics from the node.","default":"0","type":"time"},{"name":"collector.meminfo.scrape_interval","description":"scrape interval to collect meminfo metrics from the node.","default":"0","type":"time"},{"name":"collector.diskstats.scrape_interval","description":"scrape interval to collect diskstats metrics from the node.","default":"0","type":"time"},{"name":"collector.filesystem.scrape_interval","description":"scrape interval to collect filesystem metrics from the node.","default":"0","type":"time"},{"name":"collector.uname.scrape_interval","description":"scrape interval to collect uname metrics from the node.","default":"0","type":"time"},{"name":"collector.stat.scrape_interval","description":"scrape interval to collect stat metrics from the node.","default":"0","type":"time"},{"name":"collector.time.scrape_interval","description":"scrape interval to collect time metrics from the node.","default":"0","type":"time"},{"name":"collector.loadavg.scrape_interval","description":"scrape interval to collect loadavg metrics from the node.","default":"0","type":"time"},{"name":"collector.vmstat.scrape_interval","description":"scrape interval to collect vmstat metrics from the node.","default":"0","type":"time"},{"name":"collector.netdev.scrape_interval","description":"scrape interval to collect netdev metrics from the node.","default":"0","type":"time"},{"name":"collector.filefd.scrape_interval","description":"scrape interval to collect filefd metrics from the node.","default":"0","type":"time"},{"name":"collector.textfile.scrape_interval","description":"scrape interval to collect textfile metrics from the node.","default":"0","type":"time"},{"name":"collector.systemd.scrape_interval","description":"scrape interval to collect systemd metrics from the node.","default":"0","type":"time"},{"name":"collector.processes.scrape_interval","description":"scrape interval to collect processes metrics from the node.","default":"0","type":"time"},{"name":"collector.thermalzone.scrape_interval","description":"scrape interval to collect thermal zone metrics from the node.","default":"0","type":"time"},{"name":"collector.nvme.scrape_interval","description":"scrape interval to collect nvme metrics from the node.","default":"0","type":"time"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone","type":"multiple comma delimited strings"},{"name":"collector.textfile.path","description":"Specify file path or directory to collect textfile metrics from the node.","default":null,"type":"string"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys","type":"string"},{"name":"systemd_service_restart_metrics","description":"include systemd service restart metrics","default":"false","type":"boolean"},{"name":"systemd_unit_start_time_metrics","description":"include systemd unit start time metrics","default":"false","type":"boolean"},{"name":"systemd_include_service_task_metrics","description":"include systemd service task metrics","default":"false","type":"boolean"},{"name":"systemd_include_pattern","description":"include list regular expression","default":null,"type":"string"},{"name":"systemd_exclude_pattern","description":"exclude list regular expression","default":".+\\.(automount|device|mount|scope|slice)","type":"string"},{"name":"filesystem.ignore_mount_point_regex","description":"ignore regular expression for mount points","default":"^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)","type":"string"},{"name":"filesystem.ignore_filesystem_type_regex","description":"ignore regular expression for filesystem types","default":"^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$","type":"string"},{"name":"diskstats.ignore_device_regex","description":"ignore regular expression for disk devices","default":"^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$","type":"string"}]}},{"type":"input","name":"kubernetes_events","description":"Kubernetes Events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"interval_sec","description":"Set the polling interval for each channel","default":"0","type":"integer"},{"name":"interval_nsec","description":"Set the polling interval for each channel (sub seconds)","default":"500000000","type":"integer"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_request_limit","description":"kubernetes limit parameter for events query, no limit applied when set to 0","default":"0","type":"integer"},{"name":"kube_retention_time","description":"kubernetes retention time for events. Default: 1h","default":"1h","type":"time"},{"name":"kube_namespace","description":"kubernetes namespace to get events from, gets event from all namespaces by default.","default":null,"type":"string"},{"name":"timestamp_key","description":"Deprecated. To be removed in v3.0","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of recorded kubernetes events.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"kafka","description":"Kafka consumer input plugin","properties":{"options":[{"name":"poll_ms","description":"Interval in milliseconds to check for new messages.","default":"500","type":"integer"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"format","description":"Set the data format which will be used for parsing records.","default":"none","type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the librdkafka options","default":null,"type":"prefixed string"},{"name":"buffer_max_size","description":"Set the maximum size of chunk","default":"4M","type":"size"}]}},{"type":"input","name":"fluentbit_metrics","description":"Fluent Bit internal metrics","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect the internal metrics of Fluent Bit.","default":"2","type":"time"},{"name":"scrape_on_start","description":"scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"}]}},{"type":"input","name":"prometheus_scrape","description":"Scrape metrics from Prometheus Endpoint","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"scrape_interval","description":"Scraping interval.","default":"10s","type":"time"},{"name":"buffer_max_size","description":"","default":"10M","type":"size"},{"name":"metrics_path","description":"Set the metrics URI endpoint, it must start with a forward slash.","default":"/metrics","type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"tail","description":"Tail files","properties":{"options":[{"name":"path","description":"pattern specifying log files or multiple ones through the use of common wildcards.","default":null,"type":"multiple comma delimited strings"},{"name":"exclude_path","description":"Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'","default":null,"type":"multiple comma delimited strings"},{"name":"key","description":"when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.","default":"log","type":"string"},{"name":"read_from_head","description":"For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.","default":"false","type":"boolean"},{"name":"refresh_interval","description":"interval to refresh the list of watched files expressed in seconds.","default":"60","type":"string"},{"name":"watcher_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval_nsec","description":"","default":"0","type":"integer"},{"name":"rotate_wait","description":"specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.","default":"5","type":"time"},{"name":"docker_mode","description":"If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.","default":"false","type":"boolean"},{"name":"docker_mode_flush","description":"wait period time in seconds to flush queued unfinished split lines.","default":"4","type":"integer"},{"name":"docker_mode_parser","description":"specify the parser name to fetch log first line for muliline log","default":null,"type":"string"},{"name":"path_key","description":"set the 'key' name where the name of monitored file will be appended.","default":null,"type":"string"},{"name":"offset_key","description":"set the 'key' name where the offset of monitored file will be appended.","default":null,"type":"string"},{"name":"ignore_older","description":"ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.","default":"0","type":"time"},{"name":"buffer_chunk_size","description":"set the initial buffer size to read data from files. This value is used too to increase buffer size.","default":"32768","type":"size"},{"name":"buffer_max_size","description":"set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.","default":"32768","type":"size"},{"name":"static_batch_size","description":"On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.","default":"50M","type":"size"},{"name":"event_batch_size","description":"When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).","default":"50M","type":"size"},{"name":"skip_long_lines","description":"if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.","default":"false","type":"boolean"},{"name":"exit_on_eof","description":"exit Fluent Bit when reaching EOF on a monitored file.","default":"false","type":"boolean"},{"name":"skip_empty_lines","description":"Allows to skip empty lines.","default":"false","type":"boolean"},{"name":"inotify_watcher","description":"set to false to use file stat watcher instead of inotify.","default":"true","type":"boolean"},{"name":"parser","description":"specify the parser name to process an unstructured message.","default":null,"type":"string"},{"name":"tag_regex","description":"set a regex to extract fields from the file name and use them later to compose the Tag.","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of monitored files and it offsets.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"},{"name":"db.locking","description":"set exclusive locking mode, increase performance but don't allow external connections to the database file.","default":"false","type":"boolean"},{"name":"db.journal_mode","description":"Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.","default":"WAL","type":"string"},{"name":"db.compare_filename","description":"This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).","default":"false","type":"boolean"},{"name":"multiline","description":"if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.","default":"false","type":"boolean"},{"name":"multiline_flush","description":"wait period time in seconds to process queued multiline messages.","default":"4","type":"time"},{"name":"parser_firstline","description":"name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).","default":null,"type":"string"},{"name":"parser_","description":"optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.","default":null,"type":"prefixed string"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"}]}},{"type":"input","name":"dummy","description":"Generate dummy data","properties":{"options":[{"name":"samples","description":"set a number of times to generate event.","default":"0","type":"integer"},{"name":"dummy","description":"set the sample record to be generated. It should be a JSON object.","default":"{\"message\":\"dummy\"}","type":"string"},{"name":"metadata","description":"set the sample metadata to be generated. It should be a JSON object.","default":"{}","type":"string"},{"name":"rate","description":"set a number of events per second.","default":"1","type":"integer"},{"name":"interval_sec","description":"set seconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"interval_nsec","description":"set nanoseconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"copies","description":"set the number of copies to generate per collectd.","default":"1","type":"integer"},{"name":"start_time_sec","description":"set a dummy base timestamp in seconds.","default":"-1","type":"integer"},{"name":"start_time_nsec","description":"set a dummy base timestamp in nanoseconds.","default":"-1","type":"integer"},{"name":"fixed_timestamp","description":"used a fixed timestamp, allows the message to pre-generated once.","default":"off","type":"boolean"},{"name":"flush_on_startup","description":"generate the first event on startup","default":"false","type":"boolean"}]}},{"type":"input","name":"head","description":"Head Input","properties":{"options":[{"name":"file","description":"Set the file","default":null,"type":"string"},{"name":"key","description":"Set the record key","default":"head","type":"string"},{"name":"buf_size","description":"Set the read buffer size","default":"256","type":"integer"},{"name":"split_line","description":"generate key/value pair per line","default":"false","type":"boolean"},{"name":"lines","description":"Line number to read","default":"0","type":"integer"},{"name":"add_path","description":"append filepath to records","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}]}},{"type":"input","name":"health","description":"Check TCP server health","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"alert","description":"Only generate records when the port is down","default":"false","type":"boolean"},{"name":"add_host","description":"Append hostname to each record","default":"false","type":"boolean"},{"name":"add_port","description":"Append port to each record","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"http","description":"HTTP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"collectd","description":"collectd input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"typesdb","description":"Set the types database filename","default":"/usr/share/collectd/types.db","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"statsd","description":"StatsD input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"tag_from_uri","description":"If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .","default":"true","type":"boolean"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"},{"name":"raw_traces","description":"Forward traces without processing","default":"false","type":"boolean"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"elasticsearch","description":"HTTP Endpoints for Elasticsearch (Bulk API)","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"Set the maximum size of buffer","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"512K","type":"size"},{"name":"tag_key","description":"Specify a key name for extracting as a tag","default":null,"type":"string"},{"name":"meta_key","description":"Specify a key name for meta information","default":"@meta","type":"string"},{"name":"hostname","description":"Specify hostname or FQDN. This parameter is effective for sniffering node information.","default":"localhost","type":"string"},{"name":"version","description":"Specify returning Elasticsearch server version.","default":"8.0.0","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"splunk","description":"Input plugin for Splunk HEC payloads","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"splunk_token","description":"Set valid Splunk HEC tokens for the requests","default":null,"type":"string"},{"name":"tag_key","description":"","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"event_type","description":"Event tests for input plugins","properties":{"options":[{"name":"type","description":"Set the type of event to deliver, optionsa are: logs, metrics or traces","default":"logs","type":"string"},{"name":"interval_sec","description":"Set the interval seconds between events generation","default":"2","type":"integer"},{"name":"interval_nsec","description":"Set the nanoseconds interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"nginx_metrics","description":"Nginx status metrics","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"status_url","description":"Define URL of stub status handler","default":"/status","type":"string"},{"name":"nginx_plus","description":"Turn on NGINX plus mode","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"serial","description":"Serial input","properties":{"options":[{"name":"file","description":"Set the serial character device file name","default":null,"type":"string"},{"name":"bitrate","description":"Set the serial bitrate (baudrate)","default":null,"type":"string"},{"name":"separator","description":"Set the record separator","default":null,"type":"string"},{"name":"format","description":"Set the serial format: json or none","default":null,"type":"string"},{"name":"min_bytes","description":"Set the serial minimum bytes","default":"0","type":"integer"}]}},{"type":"input","name":"stdin","description":"Standard Input","properties":{"options":[{"name":"parser","description":"Set and use a fluent-bit parser","default":null,"type":"string"},{"name":"buffer_size","description":"Set the read buffer size","default":null,"type":"size"}]}},{"type":"input","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"mode","description":"Set the socket mode: unix_tcp, unix_udp, tcp or udp","default":null,"type":"string"},{"name":"path","description":"Set the path for the UNIX socket","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"32768","type":"size"},{"name":"buffer_max_size","description":"Set the buffer chunk size","default":null,"type":"size"},{"name":"parser","description":"Set the parser","default":null,"type":"string"},{"name":"receive_buffer_size","description":"Set the socket receiving buffer size","default":null,"type":"size"},{"name":"raw_message_key","description":"Key where the raw message will be preserved","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"exec","description":"Exec Input","properties":{"options":[{"name":"command","description":"Set the command to execute","default":null,"type":"string"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"oneshot","description":"execute the command only once","default":"false","type":"boolean"},{"name":"exit_after_oneshot","description":"exit fluent-bit after the command terminates in one-shot mode","default":"false","type":"boolean"},{"name":"propagate_exit_code","description":"propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions","default":"false","type":"boolean"}]}},{"type":"input","name":"udp","description":"UDP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"exec_wasi","description":"Exec WASI Input","properties":{"options":[{"name":"wasi_path","description":"Set the path of WASM program to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"bool","description":"execute the command only once","default":"false","type":"boolean"}]}},{"type":"input","name":"tcp","description":"TCP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"mqtt","description":"MQTT, listen for Publish messages","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"payload_key","description":"Key where the payload will be preserved","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"lib","description":"Library mode Input","properties":{}},{"type":"input","name":"forward","description":"Fluentd in-forward","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"tag_prefix","description":"Prefix incoming tag with the defined value.","default":null,"type":"string"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"security.users","description":"Specify username and password pairs.","default":null,"type":"string"},{"name":"unix_path","description":"The path to unix socket to receive a Forward message.","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"The buffer memory size used to receive a Forward message.","default":"1024000","type":"size"},{"name":"buffer_max_size","description":"The maximum buffer memory size used to receive a Forward message.","default":"6144000","type":"size"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"random","description":"Random","properties":{"options":[{"name":"samples","description":"Number of samples to send, -1 for infinite","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}}],"filters":[{"type":"filter","name":"alter_size","description":"Alter incoming chunk size","properties":{"options":[{"name":"add","description":"add N records to the chunk","default":"0","type":"integer"},{"name":"remove","description":"remove N records from the chunk","default":"0","type":"integer"}]}},{"type":"filter","name":"aws","description":"Add AWS Metadata","properties":{"options":[{"name":"imds_version","description":"Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.","default":"v2","type":"string"},{"name":"az","description":"Enable EC2 instance availability zone","default":"true","type":"boolean"},{"name":"ec2_instance_id","description":"Enable EC2 instance ID","default":"true","type":"boolean"},{"name":"ec2_instance_type","description":"Enable EC2 instance type","default":"false","type":"boolean"},{"name":"private_ip","description":"Enable EC2 instance private IP","default":"false","type":"boolean"},{"name":"vpc_id","description":"Enable EC2 instance VPC ID","default":"false","type":"boolean"},{"name":"ami_id","description":"Enable EC2 instance Image ID","default":"false","type":"boolean"},{"name":"account_id","description":"Enable EC2 instance Account ID","default":"false","type":"boolean"},{"name":"hostname","description":"Enable EC2 instance hostname","default":"false","type":"boolean"},{"name":"tags_enabled","description":"Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty","default":"false","type":"boolean"},{"name":"tags_include","description":"Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"","default":"","type":"string"},{"name":"tags_exclude","description":"Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails","default":"","type":"string"}]}},{"type":"filter","name":"checklist","description":"Check records and flag them","properties":{"options":[{"name":"file","description":"Specify the file that contains the patterns to lookup.","default":null,"type":"string"},{"name":"mode","description":"Set the check mode: 'exact' or 'partial'.","default":"exact","type":"string"},{"name":"print_query_time","description":"Print to stdout the elapseed query time for every matched record","default":"false","type":"boolean"},{"name":"ignore_case","description":"Compare strings by ignoring case.","default":"false","type":"boolean"},{"name":"lookup_key","description":"Name of the key to lookup.","default":"log","type":"string"},{"name":"record","description":"Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.","default":null,"type":"space delimited strings (minimum 2)"}]}},{"type":"filter","name":"ecs","description":"Add AWS ECS Metadata","properties":{"options":[{"name":"add","description":"Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.","default":null,"type":"string"},{"name":"ecs_tag_prefix","description":"This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).","default":"","type":"string"},{"name":"cluster_metadata_only","description":"Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).","default":"false","type":"boolean"},{"name":"ecs_meta_cache_ttl","description":"Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.","default":"3600","type":"time"},{"name":"ecs_meta_host","description":"The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1","default":"127.0.0.1","type":"string"},{"name":"ecs_meta_port","description":"The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678","default":"51678","type":"integer"},{"name":"agent_endpoint_retries","description":"Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.","default":"2","type":"integer"}]}},{"type":"filter","name":"record_modifier","description":"modify record","properties":{"options":[{"name":"record","description":"Append fields. This parameter needs key and value pair.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"remove_key","description":"If the key is matched, that field is removed.","default":null,"type":"string"},{"name":"allowlist_key","description":"If the key is not matched, that field is removed.","default":null,"type":"string"},{"name":"whitelist_key","description":"(Alias of allowlist_key)","default":null,"type":"string"},{"name":"uuid_key","description":"If set, the plugin generates uuid per record.","default":null,"type":"string"}]}},{"type":"filter","name":"sysinfo","description":"Filter for system info","properties":{"options":[{"name":"fluentbit_version_key","description":"Specify the key name for fluent-bit version.","default":null,"type":"string"},{"name":"os_name_key","description":"Specify the key name for os name. e.g. linux, win64 or macos.","default":null,"type":"string"},{"name":"hostname_key","description":"Specify the key name for hostname.","default":null,"type":"string"},{"name":"os_version_key","description":"Specify the key name for os version. It is not supported on some platforms.","default":null,"type":"string"},{"name":"kernel_version_key","description":"Specify the key name for kernel version. It is not supported on some platforms.","default":null,"type":"string"}]}},{"type":"filter","name":"throttle","description":"Throttle messages using sliding window algorithm","properties":{"options":[{"name":"rate","description":"Set throttle rate","default":"1","type":"double"},{"name":"window","description":"Set throttle window","default":"5","type":"integer"},{"name":"print_status","description":"Set whether or not to print status information","default":"false","type":"boolean"},{"name":"interval","description":"Set the slide interval","default":"1","type":"string"}]}},{"type":"filter","name":"type_converter","description":"Data type converter","properties":{"options":[{"name":"int_key","description":"Convert integer to other type. e.g. int_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"uint_key","description":"Convert unsinged integer to other type. e.g. uint_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"float_key","description":"Convert float to other type. e.g. float_key ratio id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"str_key","description":"Convert string to other type. e.g. str_key id id_val integer","default":null,"type":"space delimited strings (minimum 3)"}]}},{"type":"filter","name":"kubernetes","description":"Filter to append Kubernetes metadata","properties":{"options":[{"name":"buffer_size","description":"buffer size to receive response from API server","default":"32K","type":"size"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"merge_log","description":"merge 'log' key content as individual keys","default":"false","type":"boolean"},{"name":"merge_parser","description":"specify a 'parser' name to parse the 'log' key content","default":null,"type":"string"},{"name":"merge_log_key","description":"set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled","default":null,"type":"string"},{"name":"merge_log_trim","description":"remove ending '\\n' or '\\r' characters from the log content","default":"true","type":"boolean"},{"name":"keep_log","description":"keep original log content if it was successfully parsed and merged","default":"true","type":"boolean"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"kube_meta_preload_cache_dir","description":"set directory with metadata files","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_tag_prefix","description":"prefix used in tag by the input plugin","default":"kube.var.log.containers.","type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_command","description":"command to get Kubernetes authorization token","default":null,"type":"string"},{"name":"labels","description":"include Kubernetes labels on every record","default":"true","type":"boolean"},{"name":"annotations","description":"include Kubernetes annotations on every record","default":"true","type":"boolean"},{"name":"namespace_labels","description":"include Kubernetes namespace labels on every record","default":"false","type":"boolean"},{"name":"namespace_annotations","description":"include Kubernetes namespace annotations on every record","default":"false","type":"boolean"},{"name":"namespace_metadata_only","description":"ignore pod metadata entirely and only fetch namespace metadata","default":"false","type":"boolean"},{"name":"k8s-logging.parser","description":"allow Pods to suggest a parser","default":"false","type":"boolean"},{"name":"k8s-logging.exclude","description":"allow Pods to exclude themselves from the logging pipeline","default":"false","type":"boolean"},{"name":"use_journal","description":"use Journald (Systemd) mode","default":"false","type":"boolean"},{"name":"regex_parser","description":"optional regex parser to extract metadata from container name or container log file name","default":null,"type":"string"},{"name":"dummy_meta","description":"use 'dummy' metadata, do not talk to API server","default":"false","type":"boolean"},{"name":"dns_retries","description":"dns lookup retries N times until the network start working","default":"6","type":"integer"},{"name":"dns_wait_time","description":"dns interval between network status checks","default":"30","type":"time"},{"name":"cache_use_docker_id","description":"fetch K8s meta when docker_id is changed","default":"false","type":"boolean"},{"name":"use_tag_for_meta","description":"use tag associated to retrieve metadata instead of kube-server","default":"false","type":"boolean"},{"name":"use_kubelet","description":"use kubelet to get metadata instead of kube-server","default":"false","type":"boolean"},{"name":"kubelet_host","description":"kubelet host to connect with when using kubelet","default":"127.0.0.1","type":"string"},{"name":"kubelet_port","description":"kubelet port to connect with when using kubelet","default":"10250","type":"integer"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_meta_cache_ttl","description":"configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted","default":"0","type":"time"},{"name":"kube_meta_namespace_cache_ttl","description":"configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.","default":"15m","type":"time"}]}},{"type":"filter","name":"modify","description":"modify records by applying rules","properties":{"options":[{"name":"Set","description":"Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.","default":null,"type":"string"},{"name":"Add","description":"Add a key/value pair with key KEY and value VALUE if KEY does not exist","default":null,"type":"string"},{"name":"Remove","description":"Remove a key/value pair with key KEY if it exists","default":null,"type":"string"},{"name":"Remove_wildcard","description":"Remove all key/value pairs with key matching wildcard KEY","default":null,"type":"string"},{"name":"Remove_regex","description":"Remove all key/value pairs with key matching regexp KEY","default":null,"type":"string"},{"name":"Move_To_Start","description":"Move key/value pairs with keys matching KEY to the start of the message","default":null,"type":"string"},{"name":"Move_To_End","description":"Move key/value pairs with keys matching KEY to the end of the message","default":null,"type":"string"},{"name":"Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Condition","description":"Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.","default":null,"type":"string"}]}},{"type":"filter","name":"multiline","description":"Concatenate multiline messages","properties":{"options":[{"name":"debug_flush","description":"enable debugging for concatenation flush to stdout","default":"false","type":"boolean"},{"name":"buffer","description":"Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.","default":"true","type":"boolean"},{"name":"mode","description":"Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.","default":"parser","type":"string"},{"name":"flush_ms","description":"Flush time for pending multiline records","default":"2000","type":"integer"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"},{"name":"multiline.key_content","description":"specify the key name that holds the content to process.","default":null,"type":"string"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"nest","description":"nest events by specified field values","properties":{"options":[{"name":"Operation","description":"Select the operation nest or lift","default":null,"type":"string"},{"name":"Wildcard","description":"Nest records which field matches the wildcard","default":null,"type":"string"},{"name":"Nest_under","description":"Nest records matching the Wildcard under this key","default":null,"type":"string"},{"name":"Nested_under","description":"Lift records nested under the Nested_under key","default":null,"type":"string"},{"name":"Add_prefix","description":"Prefix affected keys with this string","default":null,"type":"string"},{"name":"Remove_prefix","description":"Remove prefix from affected keys if it matches this string","default":null,"type":"string"}]}},{"type":"filter","name":"parser","description":"Parse events","properties":{"options":[{"name":"Key_Name","description":"Specify field name in record to parse.","default":null,"type":"string"},{"name":"Parser","description":"Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).","default":null,"type":"string"},{"name":"Preserve_Key","description":"Keep original Key_Name field in the parsed result. If false, the field will be removed.","default":"false","type":"boolean"},{"name":"Reserve_Data","description":"Keep all other original fields in the parsed result. If false, all other original fields will be removed.","default":"false","type":"boolean"},{"name":"Unescape_key","description":"(deprecated)","default":null,"type":"deprecated"}]}},{"type":"filter","name":"expect","description":"Validate expected keys and values","properties":{"options":[{"name":"key_exists","description":"check that the given key name exists in the record","default":null,"type":"string"},{"name":"key_not_exists","description":"check that the given key name do not exists in the record","default":null,"type":"string"},{"name":"key_val_is_null","description":"check that the value of the key is NULL","default":null,"type":"string"},{"name":"key_val_is_not_null","description":"check that the value of the key is NOT NULL","default":null,"type":"string"},{"name":"key_val_eq","description":"check that the value of the key equals the given value","default":null,"type":"space delimited strings (minimum 1)"},{"name":"action","description":"action to take when a rule does not match: 'warn', 'exit' or 'result_key'.","default":"warn","type":"string"},{"name":"result_key","description":"specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.","default":"matched","type":"string"}]}},{"type":"filter","name":"grep","description":"grep events by specified field values","properties":{"options":[{"name":"regex","description":"Keep records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Exclude records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"logical_op","description":"Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.","default":"legacy","type":"string"}]}},{"type":"filter","name":"rewrite_tag","description":"Rewrite records tags","properties":{"options":[{"name":"rule","description":"","default":null,"type":"space delimited strings (minimum 4)"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"log_to_metrics","description":"generate log derived metrics","properties":{"options":[{"name":"regex","description":"Optional filter for records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Optional filter for records in which the content of KEY does not matches the regular expression.","default":null,"type":"string"},{"name":"metric_mode","description":"Mode selector. Values counter, gauge, or histogram. Summary is not supported","default":"counter","type":"string"},{"name":"value_field","description":"Numeric field to use for gauge or histogram","default":null,"type":"string"},{"name":"metric_name","description":"Name of metric","default":null,"type":"string"},{"name":"metric_description","description":"Help text for metric","default":null,"type":"string"},{"name":"kubernetes_mode","description":"Enable kubernetes log metric fields","default":"false","type":"boolean"},{"name":"add_label","description":"Add a label to the metric by supporting record accessor pattern","default":null,"type":"string"},{"name":"label_field","description":"Specify message field that should be included in the metric","default":null,"type":"string"},{"name":"bucket","description":"Specify bucket for histogram metric","default":null,"type":"string"},{"name":"tag","description":"Metric Tag","default":null,"type":"string"}]}},{"type":"filter","name":"lua","description":"Lua Scripting Filter","properties":{"options":[{"name":"script","description":"The path of lua script.","default":null,"type":"string"},{"name":"code","description":"String that contains the Lua script source code","default":null,"type":"string"},{"name":"call","description":"Lua function name that will be triggered to do filtering.","default":null,"type":"string"},{"name":"type_int_key","description":"If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"type_array_key","description":"If these keys are matched, the fields are converted to array. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"protected_mode","description":"If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.","default":"true","type":"boolean"},{"name":"time_as_table","description":"If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.","default":"false","type":"boolean"},{"name":"enable_flb_null","description":"If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.","default":"false","type":"boolean"}]}},{"type":"filter","name":"stdout","description":"Filter events to STDOUT","properties":{"options":[]}},{"type":"filter","name":"geoip2","description":"add geoip information to records","properties":{"options":[{"name":"database","description":"Set the geoip2 database path","default":null,"type":"string"},{"name":"lookup_key","description":"Add a lookup_key","default":null,"type":"string"},{"name":"record","description":"Add a record to the output base on geoip2","default":null,"type":"string"}]}},{"type":"filter","name":"nightfall","description":"scans records for sensitive content","properties":{"options":[{"name":"nightfall_api_key","description":"The Nightfall API key to scan your logs with.","default":null,"type":"string"},{"name":"policy_id","description":"The Nightfall policy ID to scan your logs with.","default":null,"type":"string"},{"name":"sampling_rate","description":"The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.","default":"1","type":"double"},{"name":"tls.debug","description":"Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"Enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"Set optional TLS virtual host","default":null,"type":"string"},{"name":"tls.ca_path","description":"Path to root certificates on the system","default":null,"type":"string"}]}},{"type":"filter","name":"wasm","description":"WASM program filter","properties":{"options":[{"name":"event_format","description":"Sepecify the ingesting event format for wasm program","default":null,"type":"string"},{"name":"wasm_path","description":"Set the wasm path to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"function_name","description":"Set the function name in wasm to execute","default":null,"type":"string"}]}}],"outputs":[{"type":"output","name":"azure","description":"Send events to Azure HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"customer_id","description":"Customer ID or WorkspaceID string.","default":null,"type":"string"},{"name":"shared_key","description":"The primary or the secondary Connected Sources client authentication key.","default":null,"type":"string"},{"name":"log_type","description":"The name of the event type.","default":"fluentbit","type":"string"},{"name":"log_type_key","description":"If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ","default":null,"type":"string"},{"name":"time_key","description":"Optional parameter to specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_blob","description":"Azure Blob Storage","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"account_name","description":"Azure account name (mandatory)","default":null,"type":"string"},{"name":"container_name","description":"Container name (mandatory)","default":null,"type":"string"},{"name":"auto_create_container","description":"Auto create container if it don't exists","default":"true","type":"boolean"},{"name":"blob_type","description":"Set the block type: appendblob or blockblob","default":"appendblob","type":"string"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"},{"name":"compress_blob","description":"Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type","default":"false","type":"boolean"},{"name":"emulator_mode","description":"Use emulator mode, enable it if you want to use Azurite","default":"false","type":"boolean"},{"name":"shared_key","description":"Azure shared key","default":null,"type":"string"},{"name":"endpoint","description":"Custom full URL endpoint to use an emulator","default":null,"type":"string"},{"name":"path","description":"Set a path for your blob","default":null,"type":"string"},{"name":"date_key","description":"Name of the key that will have the record timestamp","default":"@timestamp","type":"string"},{"name":"auth_type","description":"Set the auth type: key or sas","default":"key","type":"string"},{"name":"sas_token","description":"Azure Blob SAS token","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_logs_ingestion","description":"Send logs to Log Analytics with Log Ingestion API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application","default":null,"type":"string"},{"name":"client_id","description":"Set the client/app ID of the AAD application","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret of the AAD application","default":null,"type":"string"},{"name":"dce_url","description":"Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)","default":null,"type":"string"},{"name":"dcr_id","description":"Data Collection Rule (DCR) immutable ID","default":null,"type":"string"},{"name":"table_name","description":"The name of the custom log table, including '_CL' suffix","default":null,"type":"string"},{"name":"time_key","description":"[Optional] Specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter","default":"false","type":"boolean"},{"name":"compress","description":"Enable HTTP payload compression (gzip).","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_kusto","description":"Send events to Kusto (Azure Data Explorer)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_id","description":"Set the client ID (Application ID) of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret (Application Password) of the AAD application used for authentication","default":null,"type":"string"},{"name":"ingestion_endpoint","description":"Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)","default":null,"type":"string"},{"name":"database_name","description":"Set the database name","default":null,"type":"string"},{"name":"table_name","description":"Set the table name","default":null,"type":"string"},{"name":"ingestion_mapping_reference","description":"Set the ingestion mapping reference","default":null,"type":"string"},{"name":"log_key","description":"The key name of event payload","default":"log","type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"true","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tag","type":"string"},{"name":"include_time_key","description":"If enabled, time is appended to output. The key name is used 'time_key' property.","default":"true","type":"boolean"},{"name":"time_key","description":"The key name of the time. If 'include_time_key' is false, This property is ignored","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"bigquery","description":"Send events to BigQuery via streaming insert","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"enable_identity_federation","description":"Enable identity federation","default":"false","type":"boolean"},{"name":"aws_region","description":"Enable identity federation","default":null,"type":"string"},{"name":"project_number","description":"Set project number","default":null,"type":"string"},{"name":"pool_id","description":"Set the pool id","default":null,"type":"string"},{"name":"provider_id","description":"Set the provider id","default":null,"type":"string"},{"name":"google_service_account","description":"Set the google service account","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"dataset_id","description":"Set the dataset id","default":null,"type":"string"},{"name":"table_id","description":"Set the table id","default":null,"type":"string"},{"name":"skip_invalid_rows","description":"Enable skipping of invalid rows","default":"false","type":"boolean"},{"name":"ignore_unknown_values","description":"Enable ignoring unknown value","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"counter","description":"Records counter","properties":{"options":[]}},{"type":"output","name":"datadog","description":"Send events to DataDog HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.","default":"false","type":"string"},{"name":"apikey","description":"Datadog API key","default":null,"type":"string"},{"name":"dd_service","description":"The human readable name for your service generating the logs - the name of your application or database.","default":null,"type":"string"},{"name":"dd_source","description":"A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.","default":null,"type":"string"},{"name":"dd_tags","description":"The tags you want to assign to your logs in Datadog.","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.","default":null,"type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"false","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tagkey","type":"string"},{"name":"dd_message_key","description":"By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.","default":null,"type":"string"},{"name":"provider","description":"To activate the remapping, specify configuration flag provider with value 'ecs'","default":null,"type":"string"},{"name":"json_date_key","description":"Date key name for output.","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"es","description":"Elasticsearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for Elastic X-Pack access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in HTTP_User","default":"","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"cloud_id","description":"Elastic cloud ID of the cluster to connect to","default":null,"type":"string"},{"name":"cloud_auth","description":"Elastic cloud authentication credentials","default":null,"type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the Elasticsearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the Elasticsearch exception to stderr (for diag only)","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"exit","description":"Exit after a number of flushes (test purposes)","properties":{"options":[{"name":"flush_count","description":"","default":"1","type":"integer"}]}},{"type":"output","name":"file","description":"Generate log file","properties":{"options":[{"name":"path","description":"Absolute path to store the files. This parameter is optional","default":null,"type":"string"},{"name":"file","description":"Name of the target file to write the records. If 'path' is specified, the value is prefixed","default":null,"type":"string"},{"name":"format","description":"Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json","default":null,"type":"string"},{"name":"delimiter","description":"Set a custom delimiter for the records","default":null,"type":"string"},{"name":"label_delimiter","description":"Set a custom label delimiter, to be used with 'ltsv' format","default":null,"type":"string"},{"name":"template","description":"Set a custom template format for the data","default":"{time} {message}","type":"string"},{"name":"csv_column_names","description":"Add column names (keys) in the first line of the target file","default":"false","type":"boolean"},{"name":"mkdir","description":"Recursively create output directory if it does not exist. Permissions set to 0755","default":"false","type":"boolean"}]}},{"type":"output","name":"forward","description":"Forward (Fluentd protocol)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"time_as_integer","description":"Set timestamp in integer format (compat mode for old Fluentd v0.12)","default":"false","type":"boolean"},{"name":"retain_metadata_in_forward_mode","description":"Retain metadata when operating in forward mode","default":"false","type":"boolean"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"empty_shared_key","description":"Set an empty shared key for authentication","default":"false","type":"boolean"},{"name":"send_options","description":"Send 'forward protocol options' to remote endpoint","default":"false","type":"boolean"},{"name":"require_ack_response","description":"Require that remote endpoint confirms data reception","default":"false","type":"boolean"},{"name":"username","description":"Username for authentication","default":"","type":"string"},{"name":"password","description":"Password for authentication","default":"","type":"string"},{"name":"unix_path","description":"Path to unix socket. It is ignored when 'upstream' property is set","default":null,"type":"string"},{"name":"upstream","description":"Path to 'upstream' configuration file (define multiple nodes)","default":null,"type":"string"},{"name":"tag","description":"Set a custom Tag for the outgoing records","default":null,"type":"string"},{"name":"compress","description":"Compression mode","default":null,"type":"string"},{"name":"fluentd_compat","description":"Send metrics and traces with Fluentd compatible format","default":"false","type":"boolean"},{"name":"add_option","description":"Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.","default":null,"type":"space delimited strings (minimum 2)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"http","description":"HTTP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"allow_duplicated_headers","description":"Specify if duplicated headers are allowed or not","default":"true","type":"boolean"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":null,"type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header_tag","description":"Set a HTTP header which value is the Tag","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":"json","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Specify the key to use for 'timestamp' in gelf format","default":null,"type":"string"},{"name":"gelf_host_key","description":"Specify the key to use for the 'host' in gelf format","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Specify the key to use as the 'short' message in gelf format","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Specify the key to use for the 'full' message in gelf format","default":null,"type":"string"},{"name":"gelf_level_key","description":"Specify the key to use for the 'level' in gelf format","default":null,"type":"string"},{"name":"body_key","description":"Specify the key which contains the body","default":null,"type":"string"},{"name":"headers_key","description":"Specify the key which contains the headers","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"influxdb","description":"InfluxDB Time Series","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"database","description":"Set the database name.","default":"fluentbit","type":"string"},{"name":"bucket","description":"Specify the bucket name, used on InfluxDB API v2.","default":null,"type":"string"},{"name":"org","description":"Set the Organization name.","default":"fluent","type":"string"},{"name":"sequence_tag","description":"Specify the sequence tag.","default":null,"type":"string"},{"name":"uri","description":"Specify a custom URI endpoint (must start with '/').","default":null,"type":"string"},{"name":"http_user","description":"HTTP Basic Auth username.","default":null,"type":"string"},{"name":"http_passwd","description":"HTTP Basic Auth password.","default":"","type":"string"},{"name":"http_token","description":"Set InfluxDB HTTP Token API v2.","default":null,"type":"string"},{"name":"http_header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"auto_tags","description":"Automatically tag keys where value is string.","default":"false","type":"boolean"},{"name":"tag_keys","description":"Space separated list of keys that needs to be tagged.","default":null,"type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"logdna","description":"LogDNA","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"logdna_host","description":"LogDNA Host address","default":"logs.logdna.com","type":"string"},{"name":"logdna_port","description":"LogDNA TCP port","default":"443","type":"integer"},{"name":"api_key","description":"Logdna API key","default":null,"type":"string"},{"name":"hostname","description":"Local Server or device host name","default":null,"type":"string"},{"name":"mac","description":"MAC address (optional)","default":"","type":"string"},{"name":"ip","description":"IP address (optional)","default":"","type":"string"},{"name":"tags","description":"Tags (optional)","default":"","type":"multiple comma delimited strings"},{"name":"file","description":"Name of the monitored file (optional)","default":null,"type":"string"},{"name":"app","description":"Name of the application generating the data (optional)","default":"Fluent Bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"loki","description":"Loki","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify a custom HTTP URI. It must start with forward slash.","default":"/loki/api/v1/push","type":"string"},{"name":"tenant_id","description":"Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.","default":null,"type":"string"},{"name":"tenant_id_key","description":"If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.","default":null,"type":"string"},{"name":"labels","description":"labels for API requests. If no value is set, the default label is 'job=fluent-bit'","default":null,"type":"multiple comma delimited strings"},{"name":"auto_kubernetes_labels","description":"If set to true, it will add all Kubernetes labels to Loki labels.","default":"false","type":"boolean"},{"name":"drop_single_key","description":"If set to true and only a single key remains, the log line sent to Loki will be the value of that key.","default":"false","type":"boolean"},{"name":"label_keys","description":"Comma separated list of keys to use as stream labels.","default":null,"type":"multiple comma delimited strings"},{"name":"remove_keys","description":"Comma separated list of keys to remove.","default":null,"type":"multiple comma delimited strings"},{"name":"line_format","description":"Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.","default":"json","type":"string"},{"name":"label_map_path","description":"A label map file path","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"kafka","description":"Kafka","properties":{"options":[{"name":"topic_key","description":"Which record to use as the kafka topic.","default":null,"type":"string"},{"name":"dynamic_topic","description":"Activate dynamic topics.","default":"false","type":"boolean"},{"name":"format","description":"Set the record output format.","default":null,"type":"string"},{"name":"message_key","description":"Which record key to use as the message data.","default":null,"type":"string"},{"name":"message_key_field","description":"Which record key field to use as the message data.","default":null,"type":"string"},{"name":"timestamp_key","description":"Set the key for the the timestamp.","default":"@timestamp","type":"string"},{"name":"timestamp_format","description":"Set the format the timestamp is in.","default":null,"type":"string"},{"name":"queue_full_retries","description":"Set the number of local retries to enqueue the data.","default":"10","type":"integer"},{"name":"gelf_timestamp_key","description":"Set the timestamp key for gelf output.","default":null,"type":"string"},{"name":"gelf_host_key","description":"Set the host key for gelf output.","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Set the short message key for gelf output.","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Set the full message key for gelf output.","default":null,"type":"string"},{"name":"gelf_level_key","description":"Set the level key for gelf output.","default":null,"type":"string"},{"name":"schema_str","description":"Set AVRO schema.","default":null,"type":"string"},{"name":"schema_id","description":"Set AVRO schema ID.","default":null,"type":"string"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the kafka group_id.","default":null,"type":"prefixed string"}]}},{"type":"output","name":"kafka-rest","description":"Kafka REST Proxy","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"message_key","description":"Specify a message key. ","default":null,"type":"string"},{"name":"time_key","description":"Specify the name of the field that holds the record timestamp. ","default":null,"type":"string"},{"name":"topic","description":"Specify the kafka topic. ","default":"fluent-bit","type":"string"},{"name":"url_path","description":"Specify an optional HTTP URL path for the target web server, e.g: /something","default":null,"type":"string"},{"name":"partition","description":"Specify kafka partition number. ","default":"-1","type":"double"},{"name":"time_key_format","description":"Specify the format of the timestamp. ","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"include_tag_key","description":"Specify whether to append tag name to final record. ","default":"false","type":"boolean"},{"name":"tag_key","description":"Specify the key name of the record if include_tag_key is enabled. ","default":"_flb-key","type":"string"},{"name":"avro_http_header","description":"Specify if the format has avro header in http request","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"nats","description":"NATS Server","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"nrlogs","description":"New Relic","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"base_uri","description":"New Relic Host address","default":"https://log-api.newrelic.com/log/v1","type":"string"},{"name":"api_key","description":"New Relic API Key","default":null,"type":"string"},{"name":"license_key","description":"New Relic License Key","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism","default":"gzip","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"null","description":"Throws away events","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specifies the name of the date field in output.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"date","type":"string"}]}},{"type":"output","name":"opensearch","description":"OpenSearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in 'http_user'","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":"default","type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the OpenSearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the OpenSearch exception to stderr (for diag only)","default":"false","type":"boolean"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"oracle_log_analytics","description":"Oracle log analytics","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"config_file_location","description":"Location of the oci config file for user api key signing","default":"","type":"string"},{"name":"profile_name","description":"name of the profile in the config file from which the user configs should be loaded","default":"DEFAULT","type":"string"},{"name":"oci_config_in_record","description":"If true, oci_la_* configs will be read from the record","default":"false","type":"boolean"},{"name":"uri","description":"Set the uri for rest api request","default":null,"type":"string"},{"name":"oci_la_log_group_id","description":"log group id","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_type","description":"","default":null,"type":"string"},{"name":"oci_la_log_source_name","description":"","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_log_path","description":"","default":null,"type":"string"},{"name":"oci_la_global_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"oci_la_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"namespace","description":"namespace in your tenancy where the log objects reside","default":null,"type":"string"},{"name":"proxy","description":"define proxy if required, in http://host:port format, supports only http protocol","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"plot","description":"Generate data file for GNU Plot","properties":{"options":[{"name":"key","description":"set a number of times to generate event.","default":null,"type":"string"},{"name":"file","description":"set a number of times to generate event.","default":null,"type":"string"}]}},{"type":"output","name":"scalyr_dataset","description":"Send events to scalyr's dataset HTTP API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"token","description":"Specify the Authentication Bearer Token for the Dataset API.","default":null,"type":"string"},{"name":"server_host","description":"Specify the serverHost in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"server_type","description":"Specify the serverType in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"region","description":"Specify the region in the Scalyr sessionInfo.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"skywalking","description":"Send logs into log collector on SkyWalking OAP","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"auth_token","description":"Auth token for SkyWalking OAP","default":null,"type":"string"},{"name":"svc_name","description":"Service name","default":"sw-service","type":"string"},{"name":"svc_inst_name","description":"Instance name","default":"fluent-bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"slack","description":"Send events to a Slack channel","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"webhook","description":"","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"splunk","description":"Send events to Splunk HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"event_key","description":"Specify the key name that will be used to send a single value as part of the record.","default":null,"type":"string"},{"name":"event_host","description":"Set the host value to the event data. The value allows a record accessor pattern.","default":null,"type":"string"},{"name":"event_source","description":"Set the source value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype","description":"Set the sourcetype value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype_key","description":"Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.","default":null,"type":"string"},{"name":"event_index","description":"The name of the index by which the event data is to be indexed.","default":null,"type":"string"},{"name":"event_index_key","description":"Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.","default":null,"type":"string"},{"name":"event_field","description":"Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"splunk_token","description":"Specify the Authentication Token for the HTTP Event Collector interface.","default":null,"type":"string"},{"name":"splunk_send_raw","description":"When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.","default":"off","type":"boolean"},{"name":"channel","description":"Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stackdriver","description":"Send events to Google Stackdriver Logging","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"metadata_server","description":"Set the metadata server","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"export_to_project_id","description":"Export to project id","default":null,"type":"string"},{"name":"project_id_key","description":"Set the gcp project id key","default":"logging.googleapis.com/projectId","type":"string"},{"name":"resource","description":"Set the resource","default":"global","type":"string"},{"name":"severity_key","description":"Set the severity key","default":"logging.googleapis.com/severity","type":"string"},{"name":"autoformat_stackdriver_trace","description":"Autoformat the stackdriver trace","default":"false","type":"boolean"},{"name":"trace_key","description":"Set the trace key","default":"logging.googleapis.com/trace","type":"string"},{"name":"span_id_key","description":"Set the span id key","default":"logging.googleapis.com/spanId","type":"string"},{"name":"trace_sampled_key","description":"Set the trace sampled key","default":"logging.googleapis.com/traceSampled","type":"string"},{"name":"log_name_key","description":"Set the logname key","default":"logging.googleapis.com/logName","type":"string"},{"name":"http_request_key","description":"Set the http request key","default":"logging.googleapis.com/http_request","type":"string"},{"name":"k8s_cluster_name","description":"Set the kubernetes cluster name","default":null,"type":"string"},{"name":"k8s_cluster_location","description":"Set the kubernetes cluster location","default":null,"type":"string"},{"name":"location","description":"Set the resource location","default":null,"type":"string"},{"name":"namespace","description":"Set the resource namespace","default":null,"type":"string"},{"name":"node_id","description":"Set the resource node id","default":null,"type":"string"},{"name":"job","description":"Set the resource job","default":null,"type":"string"},{"name":"task_id","description":"Set the resource task id","default":null,"type":"string"},{"name":"compress","description":"Set log payload compression method. Option available is 'gzip'","default":null,"type":"string"},{"name":"labels","description":"Set the labels","default":null,"type":"multiple comma delimited strings"},{"name":"labels_key","description":"Set the labels key","default":"logging.googleapis.com/labels","type":"string"},{"name":"tag_prefix","description":"Set the tag prefix","default":null,"type":"string"},{"name":"stackdriver_agent","description":"Set the stackdriver agent","default":null,"type":"string"},{"name":"custom_k8s_regex","description":"Set a custom kubernetes regex filter","default":"(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$","type":"string"},{"name":"resource_labels","description":"Set the resource labels","default":null,"type":"multiple comma delimited strings"},{"name":"test_log_entry_format","description":"Test log entry format","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stdout","description":"Prints events to STDOUT","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"}]}},{"type":"output","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.","default":"udp","type":"string"},{"name":"syslog_format","description":"Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.","default":"rfc5424","type":"string"},{"name":"syslog_maxsize","description":"Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.","default":"0","type":"size"},{"name":"syslog_severity_key","description":"Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_severity_preset","description":"Specify the preset severity number. It must be 0-7. This configuration is optional.","default":"6","type":"integer"},{"name":"syslog_facility_key","description":"Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_facility_preset","description":"Specify the preset facility number. It must be 0-23. This configuration is optional.","default":"1","type":"integer"},{"name":"syslog_hostname_key","description":"Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_hostname_preset","description":"Specify the preset hostname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_key","description":"Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_preset","description":"Specify the preset appname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_key","description":"Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_preset","description":"Specify the preset procid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_key","description":"Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_preset","description":"Specify the preset msgid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_sd_key","description":"Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.","default":null,"type":"string"},{"name":"syslog_message_key","description":"Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.","default":null,"type":"string"},{"name":"allow_longer_sd_id","description":"If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"tcp","description":"TCP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"msgpack","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"udp","description":"UDP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"json_lines","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"td","description":"Treasure Data","properties":{"options":[{"name":"API","description":"Set the API key","default":null,"type":"string"},{"name":"Database","description":"Set the Database file","default":null,"type":"string"},{"name":"Table","description":"Set the Database Table","default":null,"type":"string"},{"name":"Region","description":"Set the Region: us or jp","default":null,"type":"string"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"lib","description":"Library mode Output","properties":{}},{"type":"output","name":"flowcounter","description":"FlowCounter","properties":{"options":[{"name":"unit","description":"","default":null,"type":"string"},{"name":"event_based","description":"","default":"false","type":"boolean"}]}},{"type":"output","name":"gelf","description":"GELF Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"The protocol to use. 'tls', 'tcp' or 'udp'","default":"udp","type":"string"},{"name":"gelf_short_message_key","description":"A short descriptive message (MUST be set in GELF)","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Timestamp key name (SHOULD be set in GELF)","default":null,"type":"string"},{"name":"gelf_host_key","description":"Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)","default":null,"type":"string"},{"name":"gelf_level_key","description":"Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)","default":null,"type":"string"},{"name":"packet_size","description":"If transport protocol is udp, you can set the size of packets to be sent.","default":"1420","type":"integer"},{"name":"compress","description":"If transport protocol is udp, you can set this if you want your UDP packets to be compressed.","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"websocket","description":"Websocket","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify an optional URI for the target web socket server, e.g: /something","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"cloudwatch_logs","description":"Send logs to Amazon CloudWatch","properties":{"options":[{"name":"region","description":"The AWS region to send logs to","default":null,"type":"string"},{"name":"log_group_name","description":"CloudWatch Log Group Name","default":null,"type":"string"},{"name":"log_stream_name","description":"CloudWatch Log Stream Name; not compatible with `log_stream_prefix`","default":null,"type":"string"},{"name":"log_stream_prefix","description":"Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name","default":null,"type":"string"},{"name":"log_group_template","description":"Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.","default":null,"type":"string"},{"name":"log_stream_template","description":"Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.","default":null,"type":"string"},{"name":"extra_user_agent","description":"This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.","default":null,"type":"string"},{"name":"log_format","description":"An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"auto_create_group","description":"Automatically create the log group (log streams will always automatically be created)","default":"false","type":"boolean"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"log_retention_days","description":"If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]","default":"0","type":"integer"},{"name":"endpoint","description":"Specify a custom endpoint for the CloudWatch Logs API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Specify a custom endpoint for the STS API, can be used with the role_arn parameter","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"metric_namespace","description":"Metric namespace for CloudWatch EMF logs","default":null,"type":"string"},{"name":"metric_dimensions","description":"Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_firehose","description":"Send logs to Amazon Kinesis Firehose","properties":{"options":[{"name":"region","description":"The AWS region of your delivery stream","default":null,"type":"string"},{"name":"delivery_stream","description":"Firehose delivery stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Firehose API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"compression","description":"Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_streams","description":"Send logs to Amazon Kinesis Streams","properties":{"options":[{"name":"region","description":"The AWS region of your kinesis stream","default":null,"type":"string"},{"name":"stream","description":"Kinesis stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Kinesis API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"metrics_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/metrics","type":"string"},{"name":"batch_size","description":"Set the maximum number of log records to be flushed at a time","default":"1000","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"logs_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/logs","type":"string"},{"name":"logs_body_key","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":null,"type":"string"},{"name":"logs_body_key_attributes","description":"If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.","default":"false","type":"boolean"},{"name":"traces_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/traces","type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"logs_observed_timestamp_metadata_key","description":"Specify an ObservedTimestamp key","default":"$ObservedTimestamp","type":"string"},{"name":"logs_timestamp_metadata_key","description":"Specify a Timestamp key","default":"$Timestamp","type":"string"},{"name":"logs_severity_text_metadata_key","description":"Specify a SeverityText key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_metadata_key","description":"Specify a SeverityNumber key","default":"$SeverityNumber","type":"string"},{"name":"logs_trace_flags_metadata_key","description":"Specify a TraceFlags key","default":"$TraceFlags","type":"string"},{"name":"logs_span_id_metadata_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_metadata_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_attributes_metadata_key","description":"Specify an Attributes key","default":"$Attributes","type":"string"},{"name":"logs_instrumentation_scope_metadata_key","description":"Specify an InstrumentationScope key","default":"InstrumentationScope","type":"string"},{"name":"logs_resource_metadata_key","description":"Specify a Resource key","default":"Resource","type":"string"},{"name":"logs_span_id_message_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_message_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_severity_text_message_key","description":"Specify a Severity Text key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_message_key","description":"Specify a Severity Number key","default":"$SeverityNumber","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"prometheus_exporter","description":"Prometheus Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"add_timestamp","description":"Add timestamp to every metric honoring collection time.","default":"false","type":"boolean"},{"name":"add_label","description":"TCP port for listening for HTTP connections.","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"prometheus_remote_write","description":"Prometheus remote write","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"compression","description":"Compress the payload with either snappy, gzip if set","default":"snappy","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":"aps","type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"s3","description":"Send to S3","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"aws_shared_credentials_file","description":"Path to the AWS shared credentials file.","default":"","type":"string"},{"name":"aws_config_file","description":"Path to the AWS default configuration file.","default":"","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"},{"name":"total_file_size","description":"Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB","default":"100000000","type":"size"},{"name":"upload_chunk_size","description":"This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.","default":"5242880","type":"size"},{"name":"upload_timeout","description":"Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.","default":"10m","type":"time"},{"name":"bucket","description":"S3 bucket name.","default":null,"type":"string"},{"name":"region","description":"AWS region.","default":"us-east-1","type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Custom endpoint for the S3 API.","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"canned_acl","description":"Predefined Canned ACL policy for S3 objects.","default":null,"type":"string"},{"name":"compression","description":"Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.","default":null,"type":"string"},{"name":"content_type","description":"A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.","default":null,"type":"string"},{"name":"store_dir","description":"Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.","default":"/tmp/fluent-bit/s3","type":"string"},{"name":"store_dir_limit_size","description":"S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.","default":null,"type":"size"},{"name":"s3_key_format","description":"Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.","default":"/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S","type":"string"},{"name":"s3_key_format_tag_delimiters","description":"A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.","default":".","type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"use_put_object","description":"Use the S3 PutObject API, instead of the multipart upload API","default":"false","type":"boolean"},{"name":"send_content_md5","description":"Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled","default":"false","type":"boolean"},{"name":"preserve_data_ordering","description":"Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.","default":"true","type":"boolean"},{"name":"log_key","description":"By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"static_file_path","description":"Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.","default":"false","type":"boolean"},{"name":"storage_class","description":"Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"vivo_exporter","description":"Vivo Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"empty_stream_on_read","description":"If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed","default":"off","type":"boolean"},{"name":"stream_queue_size","description":"Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.","default":"20M","type":"size"},{"name":"http_cors_allow_origin","description":"Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"chronicle","description":"Send logs to Google Chronicle as unstructured log","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"customer_id","description":"Set the customer id","default":null,"type":"string"},{"name":"log_type","description":"Set the log type","default":null,"type":"string"},{"name":"region","description":"Set the region","default":null,"type":"string"},{"name":"log_key","description":"Set the log key","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}}]} diff --git a/schemas/24.6.3/core-fluent-bit-lua-pretty.json b/schemas/24.6.3/core-fluent-bit-lua-pretty.json new file mode 100644 index 0000000..50e7a84 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit-lua-pretty.json @@ -0,0 +1,1106 @@ +{ + "processingRules": { + "aggregate": { + "description": "Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "compute": { + "additionalProperties": { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "description": "Additional keys which will be computed for each group", + "type": "object" + }, + "keys": { + "description": "Keys which will be used for grouping", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + } + ] + }, + "type": "array" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "keys", + "window", + "compute" + ], + "type": "object" + }, + "label": "Aggregate records (preview)", + "uiSchema": { + "labels": { + "compute": "Compute keys (Should be formatted as a JSON object)", + "keys": "Select keys (Should be formatted as a JSON array of strings)", + "window": "Time window" + }, + "ordering": [ + "window", + "keys", + "compute" + ] + } + }, + "allow_keys": { + "description": "Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match allowed keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow keys" + }, + "allow_records": { + "description": "Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow records" + }, + "block_keys": { + "description": "Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match blocked keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block keys" + }, + "block_records": { + "description": "Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block records" + }, + "copy": { + "description": "Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "dst", + "src" + ], + "type": "object" + }, + "label": "Copy keys" + }, + "csv_decode": { + "description": "Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_csv", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "header": { + "default": "", + "description": "Preset header for the parsed CSV stream.", + "type": "string" + }, + "parseHeader": { + "default": false, + "type": "boolean" + }, + "src": { + "default": "log", + "description": "Source key which contains raw CSV data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode CSV", + "uiSchema": { + "labels": { + "parseHeader": "Parse header" + } + } + }, + "csv_encode": { + "description": "Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_csv", + "description": "Destination key which will receive the serialized CSV.", + "type": "string" + }, + "header": { + "description": "Preset header for the generated CSV stream", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode CSV (preview)", + "uiSchema": { + "labels": { + "header": "Header (JSON array of strings)" + } + } + }, + "custom_script": { + "description": "Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "script": { + "default": "-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n", + "description": "Lua script implemented similarly to fluent-bit Lua filters.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Custom Lua", + "uiSchema": { + "form": { + "script": "code:lua" + }, + "labels": { + "script": "Lua script" + } + } + }, + "deduplicate": { + "description": "Deduplicate records in a time window(specified in seconds), based on a single key.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key to use for deduplicating records", + "type": "string" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "key" + ], + "type": "object" + }, + "label": "Deduplicate records", + "uiSchema": { + "labels": { + "key": "Select key", + "window": "Time window" + }, + "ordering": [ + "window", + "key" + ] + } + }, + "delete": { + "description": "Delete `key` from the record.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be deleted", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Delete key" + }, + "extract_kv": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "dst", + "src", + "regex" + ], + "type": "object" + }, + "label": "Extract keys/values" + }, + "flatten": { + "description": "Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the flattened object will not be removed from the record.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Flatten subrecord", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "hash": { + "description": "Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "algo": { + "default": "sha256", + "description": "Hash algorithm", + "enum": [ + "sha256", + "md5" + ], + "type": "string" + }, + "dst": { + "description": "Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".", + "type": "string" + }, + "encoding": { + "default": "hex", + "description": "Encoding algorithm", + "enum": [ + "hex", + "binary", + "base64" + ], + "type": "string" + }, + "src": { + "description": "Source key from which will be used to compute the hash", + "type": "string" + } + }, + "required": [ + "src", + "algo", + "encoding" + ], + "type": "object" + }, + "label": "Hash key", + "uiSchema": { + "labels": { + "base64": "Base64", + "binary": "Binary", + "hex": "Hexadecimal", + "md5": "MD5", + "sha256": "SHA256" + } + } + }, + "join": { + "description": "Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains the nested array items in each split record.", + "type": "string" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not found, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Join records by tag and timestamp", + "uiSchema": { + "labels": { + "key": "Key which will be joined in an array" + } + } + }, + "json_decode": { + "description": "Decode JSON data in the key `src` into key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_json", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key which contains raw JSON data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode JSON" + }, + "json_encode": { + "description": "Encode the object in the key `src` as JSON into the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_json", + "description": "Destination key which will receive the serialized JSON.", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode JSON" + }, + "lift": { + "description": "Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the original key will not be removed from the parent.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "levels": { + "default": 1, + "description": "How many levels the keys will be lifted.", + "type": "integer" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Lift submap", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "multiline_join": { + "description": "Use regular expression to match start of a new record and join previously buffered lines together.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "lineLimit": { + "default": 1000, + "description": "Maximum number of lines to join.", + "minimum": 2, + "type": "integer" + }, + "regex": { + "description": "Regular expression to match the start of a new record.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key from which lines will be joined.", + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Multiline Join" + }, + "nest": { + "description": "Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "nested", + "description": "Destination key which will receive the nested keys.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive (regexMode only).", + "type": "boolean" + }, + "merge": { + "default": false, + "description": "If the destination map already exists, merge the nested keys.", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be interpreted as a regex.", + "type": "boolean" + }, + "src": { + "description": "Source keys which will be nested. If missing, the whole record will be nested.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Nest keys", + "uiSchema": { + "labels": { + "merge": "Merge to existing map" + } + } + }, + "parse": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "parsed", + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have named capture groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "src", + "regex" + ], + "type": "object" + }, + "label": "Parse" + }, + "parse_number": { + "description": "Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "base": { + "default": 10, + "description": "Numeric base", + "type": "integer" + }, + "key": { + "description": "Key from which a number will be extracted.", + "type": "string" + }, + "regex": { + "default": "[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)", + "description": "Regular expression used to extract number from the value.", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Parse number" + }, + "put": { + "description": "Add or Set `key` = `value`. If the key already exists, it will be overriden.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be added/updated", + "type": "string" + }, + "value": { + "description": "New value for the key", + "type": "string" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "label": "Add/Set key/value", + "uiSchema": { + "labels": { + "value": "Value" + }, + "ordering": [ + "key", + "value" + ] + } + }, + "redact": { + "description": "Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be redacted.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be redacted.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replaceChar": { + "default": "*", + "description": "Characters which will replace the value.", + "type": "string" + } + }, + "required": [ + "key", + "regex" + ], + "type": "object" + }, + "label": "Redact/mask value", + "uiSchema": { + "labels": { + "replaceChar": "Replacement characters" + }, + "ordering": [ + "key", + "regex", + "replaceChar" + ] + } + }, + "rename": { + "description": "Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "src", + "dst" + ], + "type": "object" + }, + "label": "Rename keys" + }, + "replace": { + "description": "Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be replaced.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be replaced.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replacement": { + "description": "Replacement pattern. Can reference capture groups in the `regex`.", + "type": "string" + }, + "submax": { + "description": "Maximum number of substitutions", + "type": "integer" + } + }, + "required": [ + "key", + "regex", + "replacement" + ], + "type": "object" + }, + "label": "Search/replace value", + "uiSchema": { + "labels": { + "replacement": "Replacement (can specify captures with %1, %2, ...)" + }, + "ordering": [ + "key", + "regex", + "matchCase", + "submax" + ] + } + }, + "sampling": { + "description": "Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "percentage": { + "description": "Percentage of records to be flushed", + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "seed": { + "description": "Optional seed for random number generator", + "type": "integer" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "percentage" + ], + "type": "object" + }, + "label": "Random sampling (preview)", + "uiSchema": { + "labels": { + "percentage": "Sample %", + "window": "Time window" + }, + "ordering": [ + "window", + "percentage" + ] + } + }, + "split": { + "description": "Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dest": { + "default": "", + "description": "Destination key to contain the array item. If empty, defaults to \"key\"", + "type": "string" + }, + "keepOrig": { + "default": false, + "description": "Keep \"key\" when it is different than \"dest\"", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested array.", + "type": "string" + }, + "skipEmpty": { + "default": false, + "description": "If the specified key is an empty array, don't touch the record", + "type": "boolean" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not an array, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Split record", + "uiSchema": { + "labels": { + "dest": "Destination key", + "keepOrig": "Keep original array", + "skipEmpty": "Ignore if array is empty", + "skipMissing": "Ignore if missing" + } + } + } + }, + "uiSchemaFallback": { + "errors": { + "should be integer": "Should be an integer" + }, + "labels": { + "dst": "Destination key", + "gnu": "GNU", + "key": "Key", + "matchCase": "Match case", + "onig": "Oniguruma", + "pcre2": "PCRE2", + "posix": "POSIX", + "regex": "Regex", + "regexEngine": "Regex engine", + "regexExtended": "Extended regex syntax", + "regexMode": "Regex mode", + "src": "Source key", + "tre": "TRE" + }, + "ordering": [ + "src", + "dst", + "key", + "regex", + "matchCase", + "regexEngine", + "regexExtended" + ] + }, + "version": "v0.1-dev" +} diff --git a/schemas/24.6.3/core-fluent-bit-lua.json b/schemas/24.6.3/core-fluent-bit-lua.json new file mode 100644 index 0000000..ca28c98 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit-lua.json @@ -0,0 +1 @@ +{"processingRules":{"aggregate":{"description":"Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"compute":{"additionalProperties":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"},"description":"Additional keys which will be computed for each group","type":"object"},"keys":{"description":"Keys which will be used for grouping","items":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"}]},"type":"array"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["keys","window","compute"],"type":"object"},"label":"Aggregate records (preview)","uiSchema":{"labels":{"compute":"Compute keys (Should be formatted as a JSON object)","keys":"Select keys (Should be formatted as a JSON array of strings)","window":"Time window"},"ordering":["window","keys","compute"]}},"allow_keys":{"description":"Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match allowed keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow keys"},"allow_records":{"description":"Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow records"},"block_keys":{"description":"Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match blocked keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block keys"},"block_records":{"description":"Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block records"},"copy":{"description":"Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["dst","src"],"type":"object"},"label":"Copy keys"},"csv_decode":{"description":"Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_csv","description":"Destination key which will receive the parsed object.","type":"string"},"header":{"default":"","description":"Preset header for the parsed CSV stream.","type":"string"},"parseHeader":{"default":false,"type":"boolean"},"src":{"default":"log","description":"Source key which contains raw CSV data.","type":"string"}},"type":"object"},"label":"Decode CSV","uiSchema":{"labels":{"parseHeader":"Parse header"}}},"csv_encode":{"description":"Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_csv","description":"Destination key which will receive the serialized CSV.","type":"string"},"header":{"description":"Preset header for the generated CSV stream","type":"string"},"src":{"description":"Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.","type":"string"}},"type":"object"},"label":"Encode CSV (preview)","uiSchema":{"labels":{"header":"Header (JSON array of strings)"}}},"custom_script":{"description":"Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.","jsonSchema":{"additionalProperties":false,"properties":{"script":{"default":"-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n","description":"Lua script implemented similarly to fluent-bit Lua filters.","type":"string"}},"type":"object"},"label":"Custom Lua","uiSchema":{"form":{"script":"code:lua"},"labels":{"script":"Lua script"}}},"deduplicate":{"description":"Deduplicate records in a time window(specified in seconds), based on a single key.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key to use for deduplicating records","type":"string"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","key"],"type":"object"},"label":"Deduplicate records","uiSchema":{"labels":{"key":"Select key","window":"Time window"},"ordering":["window","key"]}},"delete":{"description":"Delete `key` from the record.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be deleted","type":"string"}},"required":["key"],"type":"object"},"label":"Delete key"},"extract_kv":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["dst","src","regex"],"type":"object"},"label":"Extract keys/values"},"flatten":{"description":"Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the flattened object will not be removed from the record.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"}},"required":["key"],"type":"object"},"label":"Flatten subrecord","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"hash":{"description":"Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"algo":{"default":"sha256","description":"Hash algorithm","enum":["sha256","md5"],"type":"string"},"dst":{"description":"Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".","type":"string"},"encoding":{"default":"hex","description":"Encoding algorithm","enum":["hex","binary","base64"],"type":"string"},"src":{"description":"Source key from which will be used to compute the hash","type":"string"}},"required":["src","algo","encoding"],"type":"object"},"label":"Hash key","uiSchema":{"labels":{"base64":"Base64","binary":"Binary","hex":"Hexadecimal","md5":"MD5","sha256":"SHA256"}}},"join":{"description":"Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains the nested array items in each split record.","type":"string"},"skipMissing":{"default":false,"description":"If the specified key is not found, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Join records by tag and timestamp","uiSchema":{"labels":{"key":"Key which will be joined in an array"}}},"json_decode":{"description":"Decode JSON data in the key `src` into key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_json","description":"Destination key which will receive the parsed object.","type":"string"},"src":{"default":"log","description":"Source key which contains raw JSON data.","type":"string"}},"type":"object"},"label":"Decode JSON"},"json_encode":{"description":"Encode the object in the key `src` as JSON into the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_json","description":"Destination key which will receive the serialized JSON.","type":"string"},"src":{"description":"Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.","type":"string"}},"type":"object"},"label":"Encode JSON"},"lift":{"description":"Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the original key will not be removed from the parent.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"levels":{"default":1,"description":"How many levels the keys will be lifted.","type":"integer"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["key"],"type":"object"},"label":"Lift submap","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"multiline_join":{"description":"Use regular expression to match start of a new record and join previously buffered lines together.","jsonSchema":{"additionalProperties":false,"properties":{"lineLimit":{"default":1000,"description":"Maximum number of lines to join.","minimum":2,"type":"integer"},"regex":{"description":"Regular expression to match the start of a new record.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"default":"log","description":"Source key from which lines will be joined.","type":"string"}},"required":["regex"],"type":"object"},"label":"Multiline Join"},"nest":{"description":"Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"nested","description":"Destination key which will receive the nested keys.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive (regexMode only).","type":"boolean"},"merge":{"default":false,"description":"If the destination map already exists, merge the nested keys.","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be interpreted as a regex.","type":"boolean"},"src":{"description":"Source keys which will be nested. If missing, the whole record will be nested.","type":"string"}},"type":"object"},"label":"Nest keys","uiSchema":{"labels":{"merge":"Merge to existing map"}}},"parse":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"parsed","description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have named capture groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["src","regex"],"type":"object"},"label":"Parse"},"parse_number":{"description":"Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.","jsonSchema":{"additionalProperties":false,"properties":{"base":{"default":10,"description":"Numeric base","type":"integer"},"key":{"description":"Key from which a number will be extracted.","type":"string"},"regex":{"default":"[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)","description":"Regular expression used to extract number from the value.","type":"string"}},"required":["key"],"type":"object"},"label":"Parse number"},"put":{"description":"Add or Set `key` = `value`. If the key already exists, it will be overriden.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be added/updated","type":"string"},"value":{"description":"New value for the key","type":"string"}},"required":["key","value"],"type":"object"},"label":"Add/Set key/value","uiSchema":{"labels":{"value":"Value"},"ordering":["key","value"]}},"redact":{"description":"Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be redacted.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be redacted.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replaceChar":{"default":"*","description":"Characters which will replace the value.","type":"string"}},"required":["key","regex"],"type":"object"},"label":"Redact/mask value","uiSchema":{"labels":{"replaceChar":"Replacement characters"},"ordering":["key","regex","replaceChar"]}},"rename":{"description":"Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["src","dst"],"type":"object"},"label":"Rename keys"},"replace":{"description":"Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be replaced.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be replaced.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replacement":{"description":"Replacement pattern. Can reference capture groups in the `regex`.","type":"string"},"submax":{"description":"Maximum number of substitutions","type":"integer"}},"required":["key","regex","replacement"],"type":"object"},"label":"Search/replace value","uiSchema":{"labels":{"replacement":"Replacement (can specify captures with %1, %2, ...)"},"ordering":["key","regex","matchCase","submax"]}},"sampling":{"description":"Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"percentage":{"description":"Percentage of records to be flushed","maximum":100,"minimum":1,"type":"integer"},"seed":{"description":"Optional seed for random number generator","type":"integer"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","percentage"],"type":"object"},"label":"Random sampling (preview)","uiSchema":{"labels":{"percentage":"Sample %","window":"Time window"},"ordering":["window","percentage"]}},"split":{"description":"Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field","jsonSchema":{"additionalProperties":false,"properties":{"dest":{"default":"","description":"Destination key to contain the array item. If empty, defaults to \"key\"","type":"string"},"keepOrig":{"default":false,"description":"Keep \"key\" when it is different than \"dest\"","type":"boolean"},"key":{"description":"Key which contains the nested array.","type":"string"},"skipEmpty":{"default":false,"description":"If the specified key is an empty array, don't touch the record","type":"boolean"},"skipMissing":{"default":false,"description":"If the specified key is not an array, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Split record","uiSchema":{"labels":{"dest":"Destination key","keepOrig":"Keep original array","skipEmpty":"Ignore if array is empty","skipMissing":"Ignore if missing"}}}},"uiSchemaFallback":{"errors":{"should be integer":"Should be an integer"},"labels":{"dst":"Destination key","gnu":"GNU","key":"Key","matchCase":"Match case","onig":"Oniguruma","pcre2":"PCRE2","posix":"POSIX","regex":"Regex","regexEngine":"Regex engine","regexExtended":"Extended regex syntax","regexMode":"Regex mode","src":"Source key","tre":"TRE"},"ordering":["src","dst","key","regex","matchCase","regexEngine","regexExtended"]},"version":"v0.1-dev"} diff --git a/schemas/24.6.3/core-fluent-bit-plugins-pretty.json b/schemas/24.6.3/core-fluent-bit-plugins-pretty.json new file mode 100644 index 0000000..beed2a6 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit-plugins-pretty.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.0", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.3/core-fluent-bit-plugins.json b/schemas/24.6.3/core-fluent-bit-plugins.json new file mode 100644 index 0000000..beed2a6 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit-plugins.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.0", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.3/core-fluent-bit-pretty.json b/schemas/24.6.3/core-fluent-bit-pretty.json new file mode 100644 index 0000000..00956d2 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit-pretty.json @@ -0,0 +1,13676 @@ +{ + "fluent-bit": { + "version": "24.6.3", + "schema_version": "1", + "os": "linux" + }, + "customs": [ + { + "type": "custom", + "name": "calyptia", + "description": "Calyptia Cloud", + "properties": { + "options": [ + { + "name": "api_key", + "description": "Calyptia Cloud API Key.", + "default": null, + "type": "string" + }, + { + "name": "store_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "calyptia_host", + "description": "", + "default": "cloud-api.calyptia.com", + "type": "string" + }, + { + "name": "calyptia_port", + "description": "", + "default": "443", + "type": "string" + }, + { + "name": "calyptia_tls", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "calyptia_tls.verify", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Label to append to the generated metric.", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "machine_id", + "description": "Custom machine_id to be used when registering agent", + "default": null, + "type": "string" + }, + { + "name": "fleet_id", + "description": "Fleet id to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "fleet.config_dir", + "description": "Base path for the configuration directory.", + "default": null, + "type": "string" + }, + { + "name": "fleet.interval_sec", + "description": "Set the collector interval", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet.interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet_name", + "description": "Fleet name to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "pipeline_id", + "description": "Pipeline ID for reporting to calyptia cloud.", + "default": null, + "type": "string" + } + ] + } + } + ], + "inputs": [ + { + "type": "input", + "name": "cpu", + "description": "CPU Usage", + "properties": { + "options": [ + { + "name": "pid", + "description": "Configure a single process to measure usage via their PID", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "mem", + "description": "Memory Usage", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (subseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "pid", + "description": "Set the PID of the process to measure", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "thermal", + "description": "Thermal", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "name_regex", + "description": "Set thermal name regular expression filter", + "default": null, + "type": "string" + }, + { + "name": "type_regex", + "description": "Set thermal type regular expression filter", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kmsg", + "description": "Kernel Log Buffer", + "properties": { + "options": [ + { + "name": "prio_level", + "description": "The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.", + "default": "8", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "proc", + "description": "Check Process health", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate alerts if process is down", + "default": "false", + "type": "boolean" + }, + { + "name": "mem", + "description": "Append memory usage to record", + "default": "true", + "type": "boolean" + }, + { + "name": "fd", + "description": "Append fd count to record", + "default": "true", + "type": "boolean" + }, + { + "name": "proc_name", + "description": "Define process name to health check", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "disk", + "description": "Diskstats", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "dev_name", + "description": "Set the device name", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "systemd", + "description": "Systemd (Journal) reader", + "properties": { + "options": [ + { + "name": "path", + "description": "Set the systemd journal path", + "default": null, + "type": "string" + }, + { + "name": "max_fields", + "description": "Set the maximum fields per notification", + "default": "8000", + "type": "integer" + }, + { + "name": "max_entries", + "description": "Set the maximum entries per notification", + "default": "5000", + "type": "integer" + }, + { + "name": "systemd_filter_type", + "description": "Set the systemd filter type to either 'and' or 'or'", + "default": null, + "type": "string" + }, + { + "name": "systemd_filter", + "description": "Add a systemd filter, can be set multiple times", + "default": null, + "type": "string" + }, + { + "name": "read_from_tail", + "description": "Read the journal from the end (tail)", + "default": "false", + "type": "boolean" + }, + { + "name": "lowercase", + "description": "Lowercase the fields", + "default": "false", + "type": "boolean" + }, + { + "name": "strip_underscores", + "description": "Strip undersecores from fields", + "default": "false", + "type": "boolean" + }, + { + "name": "db.sync", + "description": "Set the database sync mode: extra, full, normal or off", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "Set the database path", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "netif", + "description": "Network Interface Usage", + "properties": { + "options": [ + { + "name": "interface", + "description": "Set the interface, eg: eth0 or enp1s0", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "verbose", + "description": "Enable verbosity", + "default": "false", + "type": "boolean" + }, + { + "name": "test_at_init", + "description": "Testing interface at initialization", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "docker", + "description": "Docker containers metrics", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "include", + "description": "A space-separated list of containers to include", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "A space-separated list of containers to exclude", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.containers", + "description": "containers directory", + "default": "/var/lib/docker/containers", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "docker_events", + "description": "Docker events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "unix_path", + "description": "Define Docker unix socket path to read events", + "default": "/var/run/docker.sock", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set buffer size to read events", + "default": "8k", + "type": "size" + }, + { + "name": "parser", + "description": "Optional parser for records, if not set, records are packages under 'key'", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the key name to store unparsed Docker events", + "default": "message", + "type": "string" + }, + { + "name": "reconnect.retry_limits", + "description": "Maximum number to retry to connect docker socket", + "default": "5", + "type": "integer" + }, + { + "name": "reconnect.retry_interval", + "description": "Retry interval to connect docker socket", + "default": "1", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "podman_metrics", + "description": "Podman metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "Scrape interval to collect the metrics of podman containers(defaults to 30s)", + "default": "30", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + }, + { + "name": "path.config", + "description": "Path to podman config file", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "Path to sysfs subsystem directory", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.procfs", + "description": "Path to proc subsystem directory", + "default": "/proc", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "process_exporter_metrics", + "description": "Process Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "process_include_pattern", + "description": "include list regular expression", + "default": ".+", + "type": "string" + }, + { + "name": "process_exclude_pattern", + "description": "exclude list regular expression", + "default": null, + "type": "string" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread", + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "node_exporter_metrics", + "description": "Node Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "collector.cpu.scrape_interval", + "description": "scrape interval to collect cpu metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.cpufreq.scrape_interval", + "description": "scrape interval to collect cpufreq metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.meminfo.scrape_interval", + "description": "scrape interval to collect meminfo metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.diskstats.scrape_interval", + "description": "scrape interval to collect diskstats metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filesystem.scrape_interval", + "description": "scrape interval to collect filesystem metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.uname.scrape_interval", + "description": "scrape interval to collect uname metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.stat.scrape_interval", + "description": "scrape interval to collect stat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.time.scrape_interval", + "description": "scrape interval to collect time metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.loadavg.scrape_interval", + "description": "scrape interval to collect loadavg metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.vmstat.scrape_interval", + "description": "scrape interval to collect vmstat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.netdev.scrape_interval", + "description": "scrape interval to collect netdev metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filefd.scrape_interval", + "description": "scrape interval to collect filefd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.textfile.scrape_interval", + "description": "scrape interval to collect textfile metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.systemd.scrape_interval", + "description": "scrape interval to collect systemd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.processes.scrape_interval", + "description": "scrape interval to collect processes metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.thermalzone.scrape_interval", + "description": "scrape interval to collect thermal zone metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.nvme.scrape_interval", + "description": "scrape interval to collect nvme metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone", + "type": "multiple comma delimited strings" + }, + { + "name": "collector.textfile.path", + "description": "Specify file path or directory to collect textfile metrics from the node.", + "default": null, + "type": "string" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys", + "type": "string" + }, + { + "name": "systemd_service_restart_metrics", + "description": "include systemd service restart metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_unit_start_time_metrics", + "description": "include systemd unit start time metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_service_task_metrics", + "description": "include systemd service task metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_pattern", + "description": "include list regular expression", + "default": null, + "type": "string" + }, + { + "name": "systemd_exclude_pattern", + "description": "exclude list regular expression", + "default": ".+\\.(automount|device|mount|scope|slice)", + "type": "string" + }, + { + "name": "filesystem.ignore_mount_point_regex", + "description": "ignore regular expression for mount points", + "default": "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)", + "type": "string" + }, + { + "name": "filesystem.ignore_filesystem_type_regex", + "description": "ignore regular expression for filesystem types", + "default": "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$", + "type": "string" + }, + { + "name": "diskstats.ignore_device_regex", + "description": "ignore regular expression for disk devices", + "default": "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kubernetes_events", + "description": "Kubernetes Events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the polling interval for each channel", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the polling interval for each channel (sub seconds)", + "default": "500000000", + "type": "integer" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_request_limit", + "description": "kubernetes limit parameter for events query, no limit applied when set to 0", + "default": "0", + "type": "integer" + }, + { + "name": "kube_retention_time", + "description": "kubernetes retention time for events. Default: 1h", + "default": "1h", + "type": "time" + }, + { + "name": "kube_namespace", + "description": "kubernetes namespace to get events from, gets event from all namespaces by default.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Deprecated. To be removed in v3.0", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of recorded kubernetes events.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kafka", + "description": "Kafka consumer input plugin", + "properties": { + "options": [ + { + "name": "poll_ms", + "description": "Interval in milliseconds to check for new messages.", + "default": "500", + "type": "integer" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the data format which will be used for parsing records.", + "default": "none", + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the librdkafka options", + "default": null, + "type": "prefixed string" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of chunk", + "default": "4M", + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "fluentbit_metrics", + "description": "Fluent Bit internal metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect the internal metrics of Fluent Bit.", + "default": "2", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "prometheus_scrape", + "description": "Scrape metrics from Prometheus Endpoint", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "scrape_interval", + "description": "Scraping interval.", + "default": "10s", + "type": "time" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "10M", + "type": "size" + }, + { + "name": "metrics_path", + "description": "Set the metrics URI endpoint, it must start with a forward slash.", + "default": "/metrics", + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "tail", + "description": "Tail files", + "properties": { + "options": [ + { + "name": "path", + "description": "pattern specifying log files or multiple ones through the use of common wildcards.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "exclude_path", + "description": "Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "key", + "description": "when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.", + "default": "log", + "type": "string" + }, + { + "name": "read_from_head", + "description": "For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.", + "default": "false", + "type": "boolean" + }, + { + "name": "refresh_interval", + "description": "interval to refresh the list of watched files expressed in seconds.", + "default": "60", + "type": "string" + }, + { + "name": "watcher_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval_nsec", + "description": "", + "default": "0", + "type": "integer" + }, + { + "name": "rotate_wait", + "description": "specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.", + "default": "5", + "type": "time" + }, + { + "name": "docker_mode", + "description": "If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.", + "default": "false", + "type": "boolean" + }, + { + "name": "docker_mode_flush", + "description": "wait period time in seconds to flush queued unfinished split lines.", + "default": "4", + "type": "integer" + }, + { + "name": "docker_mode_parser", + "description": "specify the parser name to fetch log first line for muliline log", + "default": null, + "type": "string" + }, + { + "name": "path_key", + "description": "set the 'key' name where the name of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "offset_key", + "description": "set the 'key' name where the offset of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "ignore_older", + "description": "ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.", + "default": "0", + "type": "time" + }, + { + "name": "buffer_chunk_size", + "description": "set the initial buffer size to read data from files. This value is used too to increase buffer size.", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.", + "default": "32768", + "type": "size" + }, + { + "name": "static_batch_size", + "description": "On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.", + "default": "50M", + "type": "size" + }, + { + "name": "event_batch_size", + "description": "When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).", + "default": "50M", + "type": "size" + }, + { + "name": "skip_long_lines", + "description": "if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_on_eof", + "description": "exit Fluent Bit when reaching EOF on a monitored file.", + "default": "false", + "type": "boolean" + }, + { + "name": "skip_empty_lines", + "description": "Allows to skip empty lines.", + "default": "false", + "type": "boolean" + }, + { + "name": "inotify_watcher", + "description": "set to false to use file stat watcher instead of inotify.", + "default": "true", + "type": "boolean" + }, + { + "name": "parser", + "description": "specify the parser name to process an unstructured message.", + "default": null, + "type": "string" + }, + { + "name": "tag_regex", + "description": "set a regex to extract fields from the file name and use them later to compose the Tag.", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of monitored files and it offsets.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + }, + { + "name": "db.locking", + "description": "set exclusive locking mode, increase performance but don't allow external connections to the database file.", + "default": "false", + "type": "boolean" + }, + { + "name": "db.journal_mode", + "description": "Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.", + "default": "WAL", + "type": "string" + }, + { + "name": "db.compare_filename", + "description": "This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline", + "description": "if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline_flush", + "description": "wait period time in seconds to process queued multiline messages.", + "default": "4", + "type": "time" + }, + { + "name": "parser_firstline", + "description": "name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).", + "default": null, + "type": "string" + }, + { + "name": "parser_", + "description": "optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.", + "default": null, + "type": "prefixed string" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "dummy", + "description": "Generate dummy data", + "properties": { + "options": [ + { + "name": "samples", + "description": "set a number of times to generate event.", + "default": "0", + "type": "integer" + }, + { + "name": "dummy", + "description": "set the sample record to be generated. It should be a JSON object.", + "default": "{\"message\":\"dummy\"}", + "type": "string" + }, + { + "name": "metadata", + "description": "set the sample metadata to be generated. It should be a JSON object.", + "default": "{}", + "type": "string" + }, + { + "name": "rate", + "description": "set a number of events per second.", + "default": "1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "set seconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "set nanoseconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "copies", + "description": "set the number of copies to generate per collectd.", + "default": "1", + "type": "integer" + }, + { + "name": "start_time_sec", + "description": "set a dummy base timestamp in seconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "start_time_nsec", + "description": "set a dummy base timestamp in nanoseconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "fixed_timestamp", + "description": "used a fixed timestamp, allows the message to pre-generated once.", + "default": "off", + "type": "boolean" + }, + { + "name": "flush_on_startup", + "description": "generate the first event on startup", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "head", + "description": "Head Input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the file", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the record key", + "default": "head", + "type": "string" + }, + { + "name": "buf_size", + "description": "Set the read buffer size", + "default": "256", + "type": "integer" + }, + { + "name": "split_line", + "description": "generate key/value pair per line", + "default": "false", + "type": "boolean" + }, + { + "name": "lines", + "description": "Line number to read", + "default": "0", + "type": "integer" + }, + { + "name": "add_path", + "description": "append filepath to records", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "health", + "description": "Check TCP server health", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate records when the port is down", + "default": "false", + "type": "boolean" + }, + { + "name": "add_host", + "description": "Append hostname to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "add_port", + "description": "Append port to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "http", + "description": "HTTP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "collectd", + "description": "collectd input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "typesdb", + "description": "Set the types database filename", + "default": "/usr/share/collectd/types.db", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "statsd", + "description": "StatsD input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "tag_from_uri", + "description": "If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .", + "default": "true", + "type": "boolean" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + }, + { + "name": "raw_traces", + "description": "Forward traces without processing", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "elasticsearch", + "description": "HTTP Endpoints for Elasticsearch (Bulk API)", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of buffer", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "Specify a key name for extracting as a tag", + "default": null, + "type": "string" + }, + { + "name": "meta_key", + "description": "Specify a key name for meta information", + "default": "@meta", + "type": "string" + }, + { + "name": "hostname", + "description": "Specify hostname or FQDN. This parameter is effective for sniffering node information.", + "default": "localhost", + "type": "string" + }, + { + "name": "version", + "description": "Specify returning Elasticsearch server version.", + "default": "8.0.0", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "splunk", + "description": "Input plugin for Splunk HEC payloads", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "splunk_token", + "description": "Set valid Splunk HEC tokens for the requests", + "default": null, + "type": "string" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "event_type", + "description": "Event tests for input plugins", + "properties": { + "options": [ + { + "name": "type", + "description": "Set the type of event to deliver, optionsa are: logs, metrics or traces", + "default": "logs", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the interval seconds between events generation", + "default": "2", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the nanoseconds interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "nginx_metrics", + "description": "Nginx status metrics", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "status_url", + "description": "Define URL of stub status handler", + "default": "/status", + "type": "string" + }, + { + "name": "nginx_plus", + "description": "Turn on NGINX plus mode", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "serial", + "description": "Serial input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the serial character device file name", + "default": null, + "type": "string" + }, + { + "name": "bitrate", + "description": "Set the serial bitrate (baudrate)", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set the record separator", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the serial format: json or none", + "default": null, + "type": "string" + }, + { + "name": "min_bytes", + "description": "Set the serial minimum bytes", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "stdin", + "description": "Standard Input", + "properties": { + "options": [ + { + "name": "parser", + "description": "Set and use a fluent-bit parser", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the read buffer size", + "default": null, + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "mode", + "description": "Set the socket mode: unix_tcp, unix_udp, tcp or udp", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set the path for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "Set the buffer chunk size", + "default": null, + "type": "size" + }, + { + "name": "parser", + "description": "Set the parser", + "default": null, + "type": "string" + }, + { + "name": "receive_buffer_size", + "description": "Set the socket receiving buffer size", + "default": null, + "type": "size" + }, + { + "name": "raw_message_key", + "description": "Key where the raw message will be preserved", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "exec", + "description": "Exec Input", + "properties": { + "options": [ + { + "name": "command", + "description": "Set the command to execute", + "default": null, + "type": "string" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "oneshot", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_after_oneshot", + "description": "exit fluent-bit after the command terminates in one-shot mode", + "default": "false", + "type": "boolean" + }, + { + "name": "propagate_exit_code", + "description": "propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "udp", + "description": "UDP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "exec_wasi", + "description": "Exec WASI Input", + "properties": { + "options": [ + { + "name": "wasi_path", + "description": "Set the path of WASM program to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "bool", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "tcp", + "description": "TCP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "mqtt", + "description": "MQTT, listen for Publish messages", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "payload_key", + "description": "Key where the payload will be preserved", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "lib", + "description": "Library mode Input", + "properties": {} + }, + { + "type": "input", + "name": "forward", + "description": "Fluentd in-forward", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "tag_prefix", + "description": "Prefix incoming tag with the defined value.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "security.users", + "description": "Specify username and password pairs.", + "default": null, + "type": "string" + }, + { + "name": "unix_path", + "description": "The path to unix socket to receive a Forward message.", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "The buffer memory size used to receive a Forward message.", + "default": "1024000", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "The maximum buffer memory size used to receive a Forward message.", + "default": "6144000", + "type": "size" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "random", + "description": "Random", + "properties": { + "options": [ + { + "name": "samples", + "description": "Number of samples to send, -1 for infinite", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + } + ], + "filters": [ + { + "type": "filter", + "name": "alter_size", + "description": "Alter incoming chunk size", + "properties": { + "options": [ + { + "name": "add", + "description": "add N records to the chunk", + "default": "0", + "type": "integer" + }, + { + "name": "remove", + "description": "remove N records from the chunk", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "aws", + "description": "Add AWS Metadata", + "properties": { + "options": [ + { + "name": "imds_version", + "description": "Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.", + "default": "v2", + "type": "string" + }, + { + "name": "az", + "description": "Enable EC2 instance availability zone", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_id", + "description": "Enable EC2 instance ID", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_type", + "description": "Enable EC2 instance type", + "default": "false", + "type": "boolean" + }, + { + "name": "private_ip", + "description": "Enable EC2 instance private IP", + "default": "false", + "type": "boolean" + }, + { + "name": "vpc_id", + "description": "Enable EC2 instance VPC ID", + "default": "false", + "type": "boolean" + }, + { + "name": "ami_id", + "description": "Enable EC2 instance Image ID", + "default": "false", + "type": "boolean" + }, + { + "name": "account_id", + "description": "Enable EC2 instance Account ID", + "default": "false", + "type": "boolean" + }, + { + "name": "hostname", + "description": "Enable EC2 instance hostname", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_enabled", + "description": "Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_include", + "description": "Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"", + "default": "", + "type": "string" + }, + { + "name": "tags_exclude", + "description": "Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails", + "default": "", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "checklist", + "description": "Check records and flag them", + "properties": { + "options": [ + { + "name": "file", + "description": "Specify the file that contains the patterns to lookup.", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the check mode: 'exact' or 'partial'.", + "default": "exact", + "type": "string" + }, + { + "name": "print_query_time", + "description": "Print to stdout the elapseed query time for every matched record", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_case", + "description": "Compare strings by ignoring case.", + "default": "false", + "type": "boolean" + }, + { + "name": "lookup_key", + "description": "Name of the key to lookup.", + "default": "log", + "type": "string" + }, + { + "name": "record", + "description": "Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ] + } + }, + { + "type": "filter", + "name": "ecs", + "description": "Add AWS ECS Metadata", + "properties": { + "options": [ + { + "name": "add", + "description": "Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.", + "default": null, + "type": "string" + }, + { + "name": "ecs_tag_prefix", + "description": "This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).", + "default": "", + "type": "string" + }, + { + "name": "cluster_metadata_only", + "description": "Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).", + "default": "false", + "type": "boolean" + }, + { + "name": "ecs_meta_cache_ttl", + "description": "Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.", + "default": "3600", + "type": "time" + }, + { + "name": "ecs_meta_host", + "description": "The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "ecs_meta_port", + "description": "The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678", + "default": "51678", + "type": "integer" + }, + { + "name": "agent_endpoint_retries", + "description": "Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.", + "default": "2", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "record_modifier", + "description": "modify record", + "properties": { + "options": [ + { + "name": "record", + "description": "Append fields. This parameter needs key and value pair.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "remove_key", + "description": "If the key is matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "allowlist_key", + "description": "If the key is not matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "whitelist_key", + "description": "(Alias of allowlist_key)", + "default": null, + "type": "string" + }, + { + "name": "uuid_key", + "description": "If set, the plugin generates uuid per record.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "sysinfo", + "description": "Filter for system info", + "properties": { + "options": [ + { + "name": "fluentbit_version_key", + "description": "Specify the key name for fluent-bit version.", + "default": null, + "type": "string" + }, + { + "name": "os_name_key", + "description": "Specify the key name for os name. e.g. linux, win64 or macos.", + "default": null, + "type": "string" + }, + { + "name": "hostname_key", + "description": "Specify the key name for hostname.", + "default": null, + "type": "string" + }, + { + "name": "os_version_key", + "description": "Specify the key name for os version. It is not supported on some platforms.", + "default": null, + "type": "string" + }, + { + "name": "kernel_version_key", + "description": "Specify the key name for kernel version. It is not supported on some platforms.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "throttle", + "description": "Throttle messages using sliding window algorithm", + "properties": { + "options": [ + { + "name": "rate", + "description": "Set throttle rate", + "default": "1", + "type": "double" + }, + { + "name": "window", + "description": "Set throttle window", + "default": "5", + "type": "integer" + }, + { + "name": "print_status", + "description": "Set whether or not to print status information", + "default": "false", + "type": "boolean" + }, + { + "name": "interval", + "description": "Set the slide interval", + "default": "1", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "type_converter", + "description": "Data type converter", + "properties": { + "options": [ + { + "name": "int_key", + "description": "Convert integer to other type. e.g. int_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "uint_key", + "description": "Convert unsinged integer to other type. e.g. uint_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "float_key", + "description": "Convert float to other type. e.g. float_key ratio id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "str_key", + "description": "Convert string to other type. e.g. str_key id id_val integer", + "default": null, + "type": "space delimited strings (minimum 3)" + } + ] + } + }, + { + "type": "filter", + "name": "kubernetes", + "description": "Filter to append Kubernetes metadata", + "properties": { + "options": [ + { + "name": "buffer_size", + "description": "buffer size to receive response from API server", + "default": "32K", + "type": "size" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "merge_log", + "description": "merge 'log' key content as individual keys", + "default": "false", + "type": "boolean" + }, + { + "name": "merge_parser", + "description": "specify a 'parser' name to parse the 'log' key content", + "default": null, + "type": "string" + }, + { + "name": "merge_log_key", + "description": "set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled", + "default": null, + "type": "string" + }, + { + "name": "merge_log_trim", + "description": "remove ending '\\n' or '\\r' characters from the log content", + "default": "true", + "type": "boolean" + }, + { + "name": "keep_log", + "description": "keep original log content if it was successfully parsed and merged", + "default": "true", + "type": "boolean" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "kube_meta_preload_cache_dir", + "description": "set directory with metadata files", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_tag_prefix", + "description": "prefix used in tag by the input plugin", + "default": "kube.var.log.containers.", + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_command", + "description": "command to get Kubernetes authorization token", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "include Kubernetes labels on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "annotations", + "description": "include Kubernetes annotations on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "namespace_labels", + "description": "include Kubernetes namespace labels on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_annotations", + "description": "include Kubernetes namespace annotations on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_metadata_only", + "description": "ignore pod metadata entirely and only fetch namespace metadata", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.parser", + "description": "allow Pods to suggest a parser", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.exclude", + "description": "allow Pods to exclude themselves from the logging pipeline", + "default": "false", + "type": "boolean" + }, + { + "name": "use_journal", + "description": "use Journald (Systemd) mode", + "default": "false", + "type": "boolean" + }, + { + "name": "regex_parser", + "description": "optional regex parser to extract metadata from container name or container log file name", + "default": null, + "type": "string" + }, + { + "name": "dummy_meta", + "description": "use 'dummy' metadata, do not talk to API server", + "default": "false", + "type": "boolean" + }, + { + "name": "dns_retries", + "description": "dns lookup retries N times until the network start working", + "default": "6", + "type": "integer" + }, + { + "name": "dns_wait_time", + "description": "dns interval between network status checks", + "default": "30", + "type": "time" + }, + { + "name": "cache_use_docker_id", + "description": "fetch K8s meta when docker_id is changed", + "default": "false", + "type": "boolean" + }, + { + "name": "use_tag_for_meta", + "description": "use tag associated to retrieve metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "use_kubelet", + "description": "use kubelet to get metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "kubelet_host", + "description": "kubelet host to connect with when using kubelet", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "kubelet_port", + "description": "kubelet port to connect with when using kubelet", + "default": "10250", + "type": "integer" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_meta_cache_ttl", + "description": "configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted", + "default": "0", + "type": "time" + }, + { + "name": "kube_meta_namespace_cache_ttl", + "description": "configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.", + "default": "15m", + "type": "time" + } + ] + } + }, + { + "type": "filter", + "name": "modify", + "description": "modify records by applying rules", + "properties": { + "options": [ + { + "name": "Set", + "description": "Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.", + "default": null, + "type": "string" + }, + { + "name": "Add", + "description": "Add a key/value pair with key KEY and value VALUE if KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Remove", + "description": "Remove a key/value pair with key KEY if it exists", + "default": null, + "type": "string" + }, + { + "name": "Remove_wildcard", + "description": "Remove all key/value pairs with key matching wildcard KEY", + "default": null, + "type": "string" + }, + { + "name": "Remove_regex", + "description": "Remove all key/value pairs with key matching regexp KEY", + "default": null, + "type": "string" + }, + { + "name": "Move_To_Start", + "description": "Move key/value pairs with keys matching KEY to the start of the message", + "default": null, + "type": "string" + }, + { + "name": "Move_To_End", + "description": "Move key/value pairs with keys matching KEY to the end of the message", + "default": null, + "type": "string" + }, + { + "name": "Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Condition", + "description": "Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "multiline", + "description": "Concatenate multiline messages", + "properties": { + "options": [ + { + "name": "debug_flush", + "description": "enable debugging for concatenation flush to stdout", + "default": "false", + "type": "boolean" + }, + { + "name": "buffer", + "description": "Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.", + "default": "true", + "type": "boolean" + }, + { + "name": "mode", + "description": "Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.", + "default": "parser", + "type": "string" + }, + { + "name": "flush_ms", + "description": "Flush time for pending multiline records", + "default": "2000", + "type": "integer" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "multiline.key_content", + "description": "specify the key name that holds the content to process.", + "default": null, + "type": "string" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "nest", + "description": "nest events by specified field values", + "properties": { + "options": [ + { + "name": "Operation", + "description": "Select the operation nest or lift", + "default": null, + "type": "string" + }, + { + "name": "Wildcard", + "description": "Nest records which field matches the wildcard", + "default": null, + "type": "string" + }, + { + "name": "Nest_under", + "description": "Nest records matching the Wildcard under this key", + "default": null, + "type": "string" + }, + { + "name": "Nested_under", + "description": "Lift records nested under the Nested_under key", + "default": null, + "type": "string" + }, + { + "name": "Add_prefix", + "description": "Prefix affected keys with this string", + "default": null, + "type": "string" + }, + { + "name": "Remove_prefix", + "description": "Remove prefix from affected keys if it matches this string", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "parser", + "description": "Parse events", + "properties": { + "options": [ + { + "name": "Key_Name", + "description": "Specify field name in record to parse.", + "default": null, + "type": "string" + }, + { + "name": "Parser", + "description": "Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).", + "default": null, + "type": "string" + }, + { + "name": "Preserve_Key", + "description": "Keep original Key_Name field in the parsed result. If false, the field will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Reserve_Data", + "description": "Keep all other original fields in the parsed result. If false, all other original fields will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Unescape_key", + "description": "(deprecated)", + "default": null, + "type": "deprecated" + } + ] + } + }, + { + "type": "filter", + "name": "expect", + "description": "Validate expected keys and values", + "properties": { + "options": [ + { + "name": "key_exists", + "description": "check that the given key name exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_not_exists", + "description": "check that the given key name do not exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_null", + "description": "check that the value of the key is NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_not_null", + "description": "check that the value of the key is NOT NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_eq", + "description": "check that the value of the key equals the given value", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "action", + "description": "action to take when a rule does not match: 'warn', 'exit' or 'result_key'.", + "default": "warn", + "type": "string" + }, + { + "name": "result_key", + "description": "specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.", + "default": "matched", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "grep", + "description": "grep events by specified field values", + "properties": { + "options": [ + { + "name": "regex", + "description": "Keep records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Exclude records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "logical_op", + "description": "Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.", + "default": "legacy", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "rewrite_tag", + "description": "Rewrite records tags", + "properties": { + "options": [ + { + "name": "rule", + "description": "", + "default": null, + "type": "space delimited strings (minimum 4)" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "log_to_metrics", + "description": "generate log derived metrics", + "properties": { + "options": [ + { + "name": "regex", + "description": "Optional filter for records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Optional filter for records in which the content of KEY does not matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "metric_mode", + "description": "Mode selector. Values counter, gauge, or histogram. Summary is not supported", + "default": "counter", + "type": "string" + }, + { + "name": "value_field", + "description": "Numeric field to use for gauge or histogram", + "default": null, + "type": "string" + }, + { + "name": "metric_name", + "description": "Name of metric", + "default": null, + "type": "string" + }, + { + "name": "metric_description", + "description": "Help text for metric", + "default": null, + "type": "string" + }, + { + "name": "kubernetes_mode", + "description": "Enable kubernetes log metric fields", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Add a label to the metric by supporting record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "label_field", + "description": "Specify message field that should be included in the metric", + "default": null, + "type": "string" + }, + { + "name": "bucket", + "description": "Specify bucket for histogram metric", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Metric Tag", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "lua", + "description": "Lua Scripting Filter", + "properties": { + "options": [ + { + "name": "script", + "description": "The path of lua script.", + "default": null, + "type": "string" + }, + { + "name": "code", + "description": "String that contains the Lua script source code", + "default": null, + "type": "string" + }, + { + "name": "call", + "description": "Lua function name that will be triggered to do filtering.", + "default": null, + "type": "string" + }, + { + "name": "type_int_key", + "description": "If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "type_array_key", + "description": "If these keys are matched, the fields are converted to array. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "protected_mode", + "description": "If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_as_table", + "description": "If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.", + "default": "false", + "type": "boolean" + }, + { + "name": "enable_flb_null", + "description": "If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "filter", + "name": "stdout", + "description": "Filter events to STDOUT", + "properties": { + "options": [] + } + }, + { + "type": "filter", + "name": "geoip2", + "description": "add geoip information to records", + "properties": { + "options": [ + { + "name": "database", + "description": "Set the geoip2 database path", + "default": null, + "type": "string" + }, + { + "name": "lookup_key", + "description": "Add a lookup_key", + "default": null, + "type": "string" + }, + { + "name": "record", + "description": "Add a record to the output base on geoip2", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "nightfall", + "description": "scans records for sensitive content", + "properties": { + "options": [ + { + "name": "nightfall_api_key", + "description": "The Nightfall API key to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "policy_id", + "description": "The Nightfall policy ID to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "sampling_rate", + "description": "The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.", + "default": "1", + "type": "double" + }, + { + "name": "tls.debug", + "description": "Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "Enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "Set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Path to root certificates on the system", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "wasm", + "description": "WASM program filter", + "properties": { + "options": [ + { + "name": "event_format", + "description": "Sepecify the ingesting event format for wasm program", + "default": null, + "type": "string" + }, + { + "name": "wasm_path", + "description": "Set the wasm path to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "function_name", + "description": "Set the function name in wasm to execute", + "default": null, + "type": "string" + } + ] + } + } + ], + "outputs": [ + { + "type": "output", + "name": "azure", + "description": "Send events to Azure HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "customer_id", + "description": "Customer ID or WorkspaceID string.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "The primary or the secondary Connected Sources client authentication key.", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "The name of the event type.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "log_type_key", + "description": "If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Optional parameter to specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_blob", + "description": "Azure Blob Storage", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "account_name", + "description": "Azure account name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "container_name", + "description": "Container name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "auto_create_container", + "description": "Auto create container if it don't exists", + "default": "true", + "type": "boolean" + }, + { + "name": "blob_type", + "description": "Set the block type: appendblob or blockblob", + "default": "appendblob", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "compress_blob", + "description": "Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type", + "default": "false", + "type": "boolean" + }, + { + "name": "emulator_mode", + "description": "Use emulator mode, enable it if you want to use Azurite", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Azure shared key", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom full URL endpoint to use an emulator", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set a path for your blob", + "default": null, + "type": "string" + }, + { + "name": "date_key", + "description": "Name of the key that will have the record timestamp", + "default": "@timestamp", + "type": "string" + }, + { + "name": "auth_type", + "description": "Set the auth type: key or sas", + "default": "key", + "type": "string" + }, + { + "name": "sas_token", + "description": "Azure Blob SAS token", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_logs_ingestion", + "description": "Send logs to Log Analytics with Log Ingestion API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client/app ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "dce_url", + "description": "Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)", + "default": null, + "type": "string" + }, + { + "name": "dcr_id", + "description": "Data Collection Rule (DCR) immutable ID", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "The name of the custom log table, including '_CL' suffix", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "[Optional] Specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Enable HTTP payload compression (gzip).", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_kusto", + "description": "Send events to Kusto (Azure Data Explorer)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client ID (Application ID) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret (Application Password) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "ingestion_endpoint", + "description": "Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)", + "default": null, + "type": "string" + }, + { + "name": "database_name", + "description": "Set the database name", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "Set the table name", + "default": null, + "type": "string" + }, + { + "name": "ingestion_mapping_reference", + "description": "Set the ingestion mapping reference", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "The key name of event payload", + "default": "log", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tag", + "type": "string" + }, + { + "name": "include_time_key", + "description": "If enabled, time is appended to output. The key name is used 'time_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_key", + "description": "The key name of the time. If 'include_time_key' is false, This property is ignored", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "bigquery", + "description": "Send events to BigQuery via streaming insert", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "enable_identity_federation", + "description": "Enable identity federation", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "Enable identity federation", + "default": null, + "type": "string" + }, + { + "name": "project_number", + "description": "Set project number", + "default": null, + "type": "string" + }, + { + "name": "pool_id", + "description": "Set the pool id", + "default": null, + "type": "string" + }, + { + "name": "provider_id", + "description": "Set the provider id", + "default": null, + "type": "string" + }, + { + "name": "google_service_account", + "description": "Set the google service account", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "dataset_id", + "description": "Set the dataset id", + "default": null, + "type": "string" + }, + { + "name": "table_id", + "description": "Set the table id", + "default": null, + "type": "string" + }, + { + "name": "skip_invalid_rows", + "description": "Enable skipping of invalid rows", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_unknown_values", + "description": "Enable ignoring unknown value", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "counter", + "description": "Records counter", + "properties": { + "options": [] + } + }, + { + "type": "output", + "name": "datadog", + "description": "Send events to DataDog HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.", + "default": "false", + "type": "string" + }, + { + "name": "apikey", + "description": "Datadog API key", + "default": null, + "type": "string" + }, + { + "name": "dd_service", + "description": "The human readable name for your service generating the logs - the name of your application or database.", + "default": null, + "type": "string" + }, + { + "name": "dd_source", + "description": "A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.", + "default": null, + "type": "string" + }, + { + "name": "dd_tags", + "description": "The tags you want to assign to your logs in Datadog.", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.", + "default": null, + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tagkey", + "type": "string" + }, + { + "name": "dd_message_key", + "description": "By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.", + "default": null, + "type": "string" + }, + { + "name": "provider", + "description": "To activate the remapping, specify configuration flag provider with value 'ecs'", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Date key name for output.", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "es", + "description": "Elasticsearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for Elastic X-Pack access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in HTTP_User", + "default": "", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "cloud_id", + "description": "Elastic cloud ID of the cluster to connect to", + "default": null, + "type": "string" + }, + { + "name": "cloud_auth", + "description": "Elastic cloud authentication credentials", + "default": null, + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the Elasticsearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the Elasticsearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "exit", + "description": "Exit after a number of flushes (test purposes)", + "properties": { + "options": [ + { + "name": "flush_count", + "description": "", + "default": "1", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "file", + "description": "Generate log file", + "properties": { + "options": [ + { + "name": "path", + "description": "Absolute path to store the files. This parameter is optional", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "Name of the target file to write the records. If 'path' is specified, the value is prefixed", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json", + "default": null, + "type": "string" + }, + { + "name": "delimiter", + "description": "Set a custom delimiter for the records", + "default": null, + "type": "string" + }, + { + "name": "label_delimiter", + "description": "Set a custom label delimiter, to be used with 'ltsv' format", + "default": null, + "type": "string" + }, + { + "name": "template", + "description": "Set a custom template format for the data", + "default": "{time} {message}", + "type": "string" + }, + { + "name": "csv_column_names", + "description": "Add column names (keys) in the first line of the target file", + "default": "false", + "type": "boolean" + }, + { + "name": "mkdir", + "description": "Recursively create output directory if it does not exist. Permissions set to 0755", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "forward", + "description": "Forward (Fluentd protocol)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "time_as_integer", + "description": "Set timestamp in integer format (compat mode for old Fluentd v0.12)", + "default": "false", + "type": "boolean" + }, + { + "name": "retain_metadata_in_forward_mode", + "description": "Retain metadata when operating in forward mode", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "empty_shared_key", + "description": "Set an empty shared key for authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "send_options", + "description": "Send 'forward protocol options' to remote endpoint", + "default": "false", + "type": "boolean" + }, + { + "name": "require_ack_response", + "description": "Require that remote endpoint confirms data reception", + "default": "false", + "type": "boolean" + }, + { + "name": "username", + "description": "Username for authentication", + "default": "", + "type": "string" + }, + { + "name": "password", + "description": "Password for authentication", + "default": "", + "type": "string" + }, + { + "name": "unix_path", + "description": "Path to unix socket. It is ignored when 'upstream' property is set", + "default": null, + "type": "string" + }, + { + "name": "upstream", + "description": "Path to 'upstream' configuration file (define multiple nodes)", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Set a custom Tag for the outgoing records", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Compression mode", + "default": null, + "type": "string" + }, + { + "name": "fluentd_compat", + "description": "Send metrics and traces with Fluentd compatible format", + "default": "false", + "type": "boolean" + }, + { + "name": "add_option", + "description": "Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "http", + "description": "HTTP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "allow_duplicated_headers", + "description": "Specify if duplicated headers are allowed or not", + "default": "true", + "type": "boolean" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": null, + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header_tag", + "description": "Set a HTTP header which value is the Tag", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": "json", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Specify the key to use for 'timestamp' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Specify the key to use for the 'host' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Specify the key to use as the 'short' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Specify the key to use for the 'full' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Specify the key to use for the 'level' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "body_key", + "description": "Specify the key which contains the body", + "default": null, + "type": "string" + }, + { + "name": "headers_key", + "description": "Specify the key which contains the headers", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "influxdb", + "description": "InfluxDB Time Series", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "database", + "description": "Set the database name.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "bucket", + "description": "Specify the bucket name, used on InfluxDB API v2.", + "default": null, + "type": "string" + }, + { + "name": "org", + "description": "Set the Organization name.", + "default": "fluent", + "type": "string" + }, + { + "name": "sequence_tag", + "description": "Specify the sequence tag.", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom URI endpoint (must start with '/').", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "HTTP Basic Auth username.", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "HTTP Basic Auth password.", + "default": "", + "type": "string" + }, + { + "name": "http_token", + "description": "Set InfluxDB HTTP Token API v2.", + "default": null, + "type": "string" + }, + { + "name": "http_header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "auto_tags", + "description": "Automatically tag keys where value is string.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_keys", + "description": "Space separated list of keys that needs to be tagged.", + "default": null, + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "logdna", + "description": "LogDNA", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "logdna_host", + "description": "LogDNA Host address", + "default": "logs.logdna.com", + "type": "string" + }, + { + "name": "logdna_port", + "description": "LogDNA TCP port", + "default": "443", + "type": "integer" + }, + { + "name": "api_key", + "description": "Logdna API key", + "default": null, + "type": "string" + }, + { + "name": "hostname", + "description": "Local Server or device host name", + "default": null, + "type": "string" + }, + { + "name": "mac", + "description": "MAC address (optional)", + "default": "", + "type": "string" + }, + { + "name": "ip", + "description": "IP address (optional)", + "default": "", + "type": "string" + }, + { + "name": "tags", + "description": "Tags (optional)", + "default": "", + "type": "multiple comma delimited strings" + }, + { + "name": "file", + "description": "Name of the monitored file (optional)", + "default": null, + "type": "string" + }, + { + "name": "app", + "description": "Name of the application generating the data (optional)", + "default": "Fluent Bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "loki", + "description": "Loki", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom HTTP URI. It must start with forward slash.", + "default": "/loki/api/v1/push", + "type": "string" + }, + { + "name": "tenant_id", + "description": "Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.", + "default": null, + "type": "string" + }, + { + "name": "tenant_id_key", + "description": "If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "labels for API requests. If no value is set, the default label is 'job=fluent-bit'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "auto_kubernetes_labels", + "description": "If set to true, it will add all Kubernetes labels to Loki labels.", + "default": "false", + "type": "boolean" + }, + { + "name": "drop_single_key", + "description": "If set to true and only a single key remains, the log line sent to Loki will be the value of that key.", + "default": "false", + "type": "boolean" + }, + { + "name": "label_keys", + "description": "Comma separated list of keys to use as stream labels.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "remove_keys", + "description": "Comma separated list of keys to remove.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "line_format", + "description": "Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.", + "default": "json", + "type": "string" + }, + { + "name": "label_map_path", + "description": "A label map file path", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kafka", + "description": "Kafka", + "properties": { + "options": [ + { + "name": "topic_key", + "description": "Which record to use as the kafka topic.", + "default": null, + "type": "string" + }, + { + "name": "dynamic_topic", + "description": "Activate dynamic topics.", + "default": "false", + "type": "boolean" + }, + { + "name": "format", + "description": "Set the record output format.", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Which record key to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "message_key_field", + "description": "Which record key field to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Set the key for the the timestamp.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "timestamp_format", + "description": "Set the format the timestamp is in.", + "default": null, + "type": "string" + }, + { + "name": "queue_full_retries", + "description": "Set the number of local retries to enqueue the data.", + "default": "10", + "type": "integer" + }, + { + "name": "gelf_timestamp_key", + "description": "Set the timestamp key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Set the host key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Set the short message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Set the full message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Set the level key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "schema_str", + "description": "Set AVRO schema.", + "default": null, + "type": "string" + }, + { + "name": "schema_id", + "description": "Set AVRO schema ID.", + "default": null, + "type": "string" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the kafka group_id.", + "default": null, + "type": "prefixed string" + } + ] + } + }, + { + "type": "output", + "name": "kafka-rest", + "description": "Kafka REST Proxy", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Specify a message key. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Specify the name of the field that holds the record timestamp. ", + "default": null, + "type": "string" + }, + { + "name": "topic", + "description": "Specify the kafka topic. ", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "url_path", + "description": "Specify an optional HTTP URL path for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "partition", + "description": "Specify kafka partition number. ", + "default": "-1", + "type": "double" + }, + { + "name": "time_key_format", + "description": "Specify the format of the timestamp. ", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "Specify whether to append tag name to final record. ", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "Specify the key name of the record if include_tag_key is enabled. ", + "default": "_flb-key", + "type": "string" + }, + { + "name": "avro_http_header", + "description": "Specify if the format has avro header in http request", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "nats", + "description": "NATS Server", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "nrlogs", + "description": "New Relic", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "base_uri", + "description": "New Relic Host address", + "default": "https://log-api.newrelic.com/log/v1", + "type": "string" + }, + { + "name": "api_key", + "description": "New Relic API Key", + "default": null, + "type": "string" + }, + { + "name": "license_key", + "description": "New Relic License Key", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism", + "default": "gzip", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "null", + "description": "Throws away events", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specifies the name of the date field in output.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opensearch", + "description": "OpenSearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in 'http_user'", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": "default", + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the OpenSearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the OpenSearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "oracle_log_analytics", + "description": "Oracle log analytics", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "config_file_location", + "description": "Location of the oci config file for user api key signing", + "default": "", + "type": "string" + }, + { + "name": "profile_name", + "description": "name of the profile in the config file from which the user configs should be loaded", + "default": "DEFAULT", + "type": "string" + }, + { + "name": "oci_config_in_record", + "description": "If true, oci_la_* configs will be read from the record", + "default": "false", + "type": "boolean" + }, + { + "name": "uri", + "description": "Set the uri for rest api request", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_group_id", + "description": "log group id", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_type", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_source_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_global_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "oci_la_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "namespace", + "description": "namespace in your tenancy where the log objects reside", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "define proxy if required, in http://host:port format, supports only http protocol", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "plot", + "description": "Generate data file for GNU Plot", + "properties": { + "options": [ + { + "name": "key", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "scalyr_dataset", + "description": "Send events to scalyr's dataset HTTP API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "token", + "description": "Specify the Authentication Bearer Token for the Dataset API.", + "default": null, + "type": "string" + }, + { + "name": "server_host", + "description": "Specify the serverHost in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "server_type", + "description": "Specify the serverType in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Specify the region in the Scalyr sessionInfo.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "skywalking", + "description": "Send logs into log collector on SkyWalking OAP", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "auth_token", + "description": "Auth token for SkyWalking OAP", + "default": null, + "type": "string" + }, + { + "name": "svc_name", + "description": "Service name", + "default": "sw-service", + "type": "string" + }, + { + "name": "svc_inst_name", + "description": "Instance name", + "default": "fluent-bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "slack", + "description": "Send events to a Slack channel", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "webhook", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "splunk", + "description": "Send events to Splunk HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "event_key", + "description": "Specify the key name that will be used to send a single value as part of the record.", + "default": null, + "type": "string" + }, + { + "name": "event_host", + "description": "Set the host value to the event data. The value allows a record accessor pattern.", + "default": null, + "type": "string" + }, + { + "name": "event_source", + "description": "Set the source value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype", + "description": "Set the sourcetype value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype_key", + "description": "Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.", + "default": null, + "type": "string" + }, + { + "name": "event_index", + "description": "The name of the index by which the event data is to be indexed.", + "default": null, + "type": "string" + }, + { + "name": "event_index_key", + "description": "Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.", + "default": null, + "type": "string" + }, + { + "name": "event_field", + "description": "Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "splunk_token", + "description": "Specify the Authentication Token for the HTTP Event Collector interface.", + "default": null, + "type": "string" + }, + { + "name": "splunk_send_raw", + "description": "When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.", + "default": "off", + "type": "boolean" + }, + { + "name": "channel", + "description": "Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stackdriver", + "description": "Send events to Google Stackdriver Logging", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "metadata_server", + "description": "Set the metadata server", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "export_to_project_id", + "description": "Export to project id", + "default": null, + "type": "string" + }, + { + "name": "project_id_key", + "description": "Set the gcp project id key", + "default": "logging.googleapis.com/projectId", + "type": "string" + }, + { + "name": "resource", + "description": "Set the resource", + "default": "global", + "type": "string" + }, + { + "name": "severity_key", + "description": "Set the severity key", + "default": "logging.googleapis.com/severity", + "type": "string" + }, + { + "name": "autoformat_stackdriver_trace", + "description": "Autoformat the stackdriver trace", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_key", + "description": "Set the trace key", + "default": "logging.googleapis.com/trace", + "type": "string" + }, + { + "name": "span_id_key", + "description": "Set the span id key", + "default": "logging.googleapis.com/spanId", + "type": "string" + }, + { + "name": "trace_sampled_key", + "description": "Set the trace sampled key", + "default": "logging.googleapis.com/traceSampled", + "type": "string" + }, + { + "name": "log_name_key", + "description": "Set the logname key", + "default": "logging.googleapis.com/logName", + "type": "string" + }, + { + "name": "http_request_key", + "description": "Set the http request key", + "default": "logging.googleapis.com/http_request", + "type": "string" + }, + { + "name": "k8s_cluster_name", + "description": "Set the kubernetes cluster name", + "default": null, + "type": "string" + }, + { + "name": "k8s_cluster_location", + "description": "Set the kubernetes cluster location", + "default": null, + "type": "string" + }, + { + "name": "location", + "description": "Set the resource location", + "default": null, + "type": "string" + }, + { + "name": "namespace", + "description": "Set the resource namespace", + "default": null, + "type": "string" + }, + { + "name": "node_id", + "description": "Set the resource node id", + "default": null, + "type": "string" + }, + { + "name": "job", + "description": "Set the resource job", + "default": null, + "type": "string" + }, + { + "name": "task_id", + "description": "Set the resource task id", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set log payload compression method. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "Set the labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "labels_key", + "description": "Set the labels key", + "default": "logging.googleapis.com/labels", + "type": "string" + }, + { + "name": "tag_prefix", + "description": "Set the tag prefix", + "default": null, + "type": "string" + }, + { + "name": "stackdriver_agent", + "description": "Set the stackdriver agent", + "default": null, + "type": "string" + }, + { + "name": "custom_k8s_regex", + "description": "Set a custom kubernetes regex filter", + "default": "(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$", + "type": "string" + }, + { + "name": "resource_labels", + "description": "Set the resource labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "test_log_entry_format", + "description": "Test log entry format", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stdout", + "description": "Prints events to STDOUT", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.", + "default": "udp", + "type": "string" + }, + { + "name": "syslog_format", + "description": "Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.", + "default": "rfc5424", + "type": "string" + }, + { + "name": "syslog_maxsize", + "description": "Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.", + "default": "0", + "type": "size" + }, + { + "name": "syslog_severity_key", + "description": "Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_severity_preset", + "description": "Specify the preset severity number. It must be 0-7. This configuration is optional.", + "default": "6", + "type": "integer" + }, + { + "name": "syslog_facility_key", + "description": "Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_facility_preset", + "description": "Specify the preset facility number. It must be 0-23. This configuration is optional.", + "default": "1", + "type": "integer" + }, + { + "name": "syslog_hostname_key", + "description": "Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_hostname_preset", + "description": "Specify the preset hostname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_key", + "description": "Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_preset", + "description": "Specify the preset appname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_key", + "description": "Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_preset", + "description": "Specify the preset procid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_key", + "description": "Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_preset", + "description": "Specify the preset msgid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_sd_key", + "description": "Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.", + "default": null, + "type": "string" + }, + { + "name": "syslog_message_key", + "description": "Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.", + "default": null, + "type": "string" + }, + { + "name": "allow_longer_sd_id", + "description": "If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "tcp", + "description": "TCP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "msgpack", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "udp", + "description": "UDP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "json_lines", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "td", + "description": "Treasure Data", + "properties": { + "options": [ + { + "name": "API", + "description": "Set the API key", + "default": null, + "type": "string" + }, + { + "name": "Database", + "description": "Set the Database file", + "default": null, + "type": "string" + }, + { + "name": "Table", + "description": "Set the Database Table", + "default": null, + "type": "string" + }, + { + "name": "Region", + "description": "Set the Region: us or jp", + "default": null, + "type": "string" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "lib", + "description": "Library mode Output", + "properties": {} + }, + { + "type": "output", + "name": "flowcounter", + "description": "FlowCounter", + "properties": { + "options": [ + { + "name": "unit", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "event_based", + "description": "", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "gelf", + "description": "GELF Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "The protocol to use. 'tls', 'tcp' or 'udp'", + "default": "udp", + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "A short descriptive message (MUST be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Timestamp key name (SHOULD be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "packet_size", + "description": "If transport protocol is udp, you can set the size of packets to be sent.", + "default": "1420", + "type": "integer" + }, + { + "name": "compress", + "description": "If transport protocol is udp, you can set this if you want your UDP packets to be compressed.", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "websocket", + "description": "Websocket", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify an optional URI for the target web socket server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "cloudwatch_logs", + "description": "Send logs to Amazon CloudWatch", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region to send logs to", + "default": null, + "type": "string" + }, + { + "name": "log_group_name", + "description": "CloudWatch Log Group Name", + "default": null, + "type": "string" + }, + { + "name": "log_stream_name", + "description": "CloudWatch Log Stream Name; not compatible with `log_stream_prefix`", + "default": null, + "type": "string" + }, + { + "name": "log_stream_prefix", + "description": "Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name", + "default": null, + "type": "string" + }, + { + "name": "log_group_template", + "description": "Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_stream_template", + "description": "Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.", + "default": null, + "type": "string" + }, + { + "name": "extra_user_agent", + "description": "This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.", + "default": null, + "type": "string" + }, + { + "name": "log_format", + "description": "An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "auto_create_group", + "description": "Automatically create the log group (log streams will always automatically be created)", + "default": "false", + "type": "boolean" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_retention_days", + "description": "If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]", + "default": "0", + "type": "integer" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the CloudWatch Logs API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Specify a custom endpoint for the STS API, can be used with the role_arn parameter", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "metric_namespace", + "description": "Metric namespace for CloudWatch EMF logs", + "default": null, + "type": "string" + }, + { + "name": "metric_dimensions", + "description": "Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_firehose", + "description": "Send logs to Amazon Kinesis Firehose", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your delivery stream", + "default": null, + "type": "string" + }, + { + "name": "delivery_stream", + "description": "Firehose delivery stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Firehose API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_streams", + "description": "Send logs to Amazon Kinesis Streams", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your kinesis stream", + "default": null, + "type": "string" + }, + { + "name": "stream", + "description": "Kinesis stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Kinesis API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "metrics_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/metrics", + "type": "string" + }, + { + "name": "batch_size", + "description": "Set the maximum number of log records to be flushed at a time", + "default": "1000", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "logs_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/logs", + "type": "string" + }, + { + "name": "logs_body_key", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": null, + "type": "string" + }, + { + "name": "logs_body_key_attributes", + "description": "If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.", + "default": "false", + "type": "boolean" + }, + { + "name": "traces_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/traces", + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "logs_observed_timestamp_metadata_key", + "description": "Specify an ObservedTimestamp key", + "default": "$ObservedTimestamp", + "type": "string" + }, + { + "name": "logs_timestamp_metadata_key", + "description": "Specify a Timestamp key", + "default": "$Timestamp", + "type": "string" + }, + { + "name": "logs_severity_text_metadata_key", + "description": "Specify a SeverityText key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_metadata_key", + "description": "Specify a SeverityNumber key", + "default": "$SeverityNumber", + "type": "string" + }, + { + "name": "logs_trace_flags_metadata_key", + "description": "Specify a TraceFlags key", + "default": "$TraceFlags", + "type": "string" + }, + { + "name": "logs_span_id_metadata_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_metadata_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_attributes_metadata_key", + "description": "Specify an Attributes key", + "default": "$Attributes", + "type": "string" + }, + { + "name": "logs_instrumentation_scope_metadata_key", + "description": "Specify an InstrumentationScope key", + "default": "InstrumentationScope", + "type": "string" + }, + { + "name": "logs_resource_metadata_key", + "description": "Specify a Resource key", + "default": "Resource", + "type": "string" + }, + { + "name": "logs_span_id_message_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_message_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_severity_text_message_key", + "description": "Specify a Severity Text key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_message_key", + "description": "Specify a Severity Number key", + "default": "$SeverityNumber", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_exporter", + "description": "Prometheus Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "add_timestamp", + "description": "Add timestamp to every metric honoring collection time.", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "TCP port for listening for HTTP connections.", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_remote_write", + "description": "Prometheus remote write", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "compression", + "description": "Compress the payload with either snappy, gzip if set", + "default": "snappy", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": "aps", + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "s3", + "description": "Send to S3", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "aws_shared_credentials_file", + "description": "Path to the AWS shared credentials file.", + "default": "", + "type": "string" + }, + { + "name": "aws_config_file", + "description": "Path to the AWS default configuration file.", + "default": "", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "total_file_size", + "description": "Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB", + "default": "100000000", + "type": "size" + }, + { + "name": "upload_chunk_size", + "description": "This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.", + "default": "5242880", + "type": "size" + }, + { + "name": "upload_timeout", + "description": "Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.", + "default": "10m", + "type": "time" + }, + { + "name": "bucket", + "description": "S3 bucket name.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "AWS region.", + "default": "us-east-1", + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom endpoint for the S3 API.", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "canned_acl", + "description": "Predefined Canned ACL policy for S3 objects.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.", + "default": null, + "type": "string" + }, + { + "name": "content_type", + "description": "A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.", + "default": null, + "type": "string" + }, + { + "name": "store_dir", + "description": "Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.", + "default": "/tmp/fluent-bit/s3", + "type": "string" + }, + { + "name": "store_dir_limit_size", + "description": "S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.", + "default": null, + "type": "size" + }, + { + "name": "s3_key_format", + "description": "Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.", + "default": "/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S", + "type": "string" + }, + { + "name": "s3_key_format_tag_delimiters", + "description": "A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.", + "default": ".", + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "use_put_object", + "description": "Use the S3 PutObject API, instead of the multipart upload API", + "default": "false", + "type": "boolean" + }, + { + "name": "send_content_md5", + "description": "Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled", + "default": "false", + "type": "boolean" + }, + { + "name": "preserve_data_ordering", + "description": "Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "static_file_path", + "description": "Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.", + "default": "false", + "type": "boolean" + }, + { + "name": "storage_class", + "description": "Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "vivo_exporter", + "description": "Vivo Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "empty_stream_on_read", + "description": "If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed", + "default": "off", + "type": "boolean" + }, + { + "name": "stream_queue_size", + "description": "Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.", + "default": "20M", + "type": "size" + }, + { + "name": "http_cors_allow_origin", + "description": "Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "chronicle", + "description": "Send logs to Google Chronicle as unstructured log", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "customer_id", + "description": "Set the customer id", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "Set the log type", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Set the region", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "Set the log key", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + } + ] +} diff --git a/schemas/24.6.3/core-fluent-bit.json b/schemas/24.6.3/core-fluent-bit.json new file mode 100644 index 0000000..f9544c5 --- /dev/null +++ b/schemas/24.6.3/core-fluent-bit.json @@ -0,0 +1 @@ +{"fluent-bit":{"version":"24.6.3","schema_version":"1","os":"linux"},"customs":[{"type":"custom","name":"calyptia","description":"Calyptia Cloud","properties":{"options":[{"name":"api_key","description":"Calyptia Cloud API Key.","default":null,"type":"string"},{"name":"store_path","description":"","default":null,"type":"string"},{"name":"calyptia_host","description":"","default":"cloud-api.calyptia.com","type":"string"},{"name":"calyptia_port","description":"","default":"443","type":"string"},{"name":"calyptia_tls","description":"","default":"true","type":"boolean"},{"name":"calyptia_tls.verify","description":"","default":"true","type":"boolean"},{"name":"add_label","description":"Label to append to the generated metric.","default":null,"type":"space delimited strings (minimum 1)"},{"name":"machine_id","description":"Custom machine_id to be used when registering agent","default":null,"type":"string"},{"name":"fleet_id","description":"Fleet id to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"fleet.config_dir","description":"Base path for the configuration directory.","default":null,"type":"string"},{"name":"fleet.interval_sec","description":"Set the collector interval","default":"-1","type":"integer"},{"name":"fleet.interval_nsec","description":"Set the collector interval (nanoseconds)","default":"-1","type":"integer"},{"name":"fleet_name","description":"Fleet name to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"pipeline_id","description":"Pipeline ID for reporting to calyptia cloud.","default":null,"type":"string"}]}}],"inputs":[{"type":"input","name":"cpu","description":"CPU Usage","properties":{"options":[{"name":"pid","description":"Configure a single process to measure usage via their PID","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"mem","description":"Memory Usage","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (subseconds)","default":"0","type":"integer"},{"name":"pid","description":"Set the PID of the process to measure","default":"0","type":"integer"}]}},{"type":"input","name":"thermal","description":"Thermal","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"name_regex","description":"Set thermal name regular expression filter","default":null,"type":"string"},{"name":"type_regex","description":"Set thermal type regular expression filter","default":null,"type":"string"}]}},{"type":"input","name":"kmsg","description":"Kernel Log Buffer","properties":{"options":[{"name":"prio_level","description":"The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.","default":"8","type":"integer"}]}},{"type":"input","name":"proc","description":"Check Process health","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"alert","description":"Only generate alerts if process is down","default":"false","type":"boolean"},{"name":"mem","description":"Append memory usage to record","default":"true","type":"boolean"},{"name":"fd","description":"Append fd count to record","default":"true","type":"boolean"},{"name":"proc_name","description":"Define process name to health check","default":null,"type":"string"}]}},{"type":"input","name":"disk","description":"Diskstats","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"dev_name","description":"Set the device name","default":null,"type":"string"}]}},{"type":"input","name":"systemd","description":"Systemd (Journal) reader","properties":{"options":[{"name":"path","description":"Set the systemd journal path","default":null,"type":"string"},{"name":"max_fields","description":"Set the maximum fields per notification","default":"8000","type":"integer"},{"name":"max_entries","description":"Set the maximum entries per notification","default":"5000","type":"integer"},{"name":"systemd_filter_type","description":"Set the systemd filter type to either 'and' or 'or'","default":null,"type":"string"},{"name":"systemd_filter","description":"Add a systemd filter, can be set multiple times","default":null,"type":"string"},{"name":"read_from_tail","description":"Read the journal from the end (tail)","default":"false","type":"boolean"},{"name":"lowercase","description":"Lowercase the fields","default":"false","type":"boolean"},{"name":"strip_underscores","description":"Strip undersecores from fields","default":"false","type":"boolean"},{"name":"db.sync","description":"Set the database sync mode: extra, full, normal or off","default":null,"type":"string"},{"name":"db","description":"Set the database path","default":null,"type":"string"}]}},{"type":"input","name":"netif","description":"Network Interface Usage","properties":{"options":[{"name":"interface","description":"Set the interface, eg: eth0 or enp1s0","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"verbose","description":"Enable verbosity","default":"false","type":"boolean"},{"name":"test_at_init","description":"Testing interface at initialization","default":"false","type":"boolean"}]}},{"type":"input","name":"docker","description":"Docker containers metrics","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"include","description":"A space-separated list of containers to include","default":null,"type":"string"},{"name":"exclude","description":"A space-separated list of containers to exclude","default":null,"type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys/fs/cgroup","type":"string"},{"name":"path.containers","description":"containers directory","default":"/var/lib/docker/containers","type":"string"}]}},{"type":"input","name":"docker_events","description":"Docker events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"unix_path","description":"Define Docker unix socket path to read events","default":"/var/run/docker.sock","type":"string"},{"name":"buffer_size","description":"Set buffer size to read events","default":"8k","type":"size"},{"name":"parser","description":"Optional parser for records, if not set, records are packages under 'key'","default":null,"type":"string"},{"name":"key","description":"Set the key name to store unparsed Docker events","default":"message","type":"string"},{"name":"reconnect.retry_limits","description":"Maximum number to retry to connect docker socket","default":"5","type":"integer"},{"name":"reconnect.retry_interval","description":"Retry interval to connect docker socket","default":"1","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"podman_metrics","description":"Podman metrics","properties":{"options":[{"name":"scrape_interval","description":"Scrape interval to collect the metrics of podman containers(defaults to 30s)","default":"30","type":"time"},{"name":"scrape_on_start","description":"Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"},{"name":"path.config","description":"Path to podman config file","default":null,"type":"string"},{"name":"path.sysfs","description":"Path to sysfs subsystem directory","default":"/sys/fs/cgroup","type":"string"},{"name":"path.procfs","description":"Path to proc subsystem directory","default":"/proc","type":"string"}]}},{"type":"input","name":"process_exporter_metrics","description":"Process Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"process_include_pattern","description":"include list regular expression","default":".+","type":"string"},{"name":"process_exclude_pattern","description":"exclude list regular expression","default":null,"type":"string"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread","type":"multiple comma delimited strings"}]}},{"type":"input","name":"node_exporter_metrics","description":"Node Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"collector.cpu.scrape_interval","description":"scrape interval to collect cpu metrics from the node.","default":"0","type":"time"},{"name":"collector.cpufreq.scrape_interval","description":"scrape interval to collect cpufreq metrics from the node.","default":"0","type":"time"},{"name":"collector.meminfo.scrape_interval","description":"scrape interval to collect meminfo metrics from the node.","default":"0","type":"time"},{"name":"collector.diskstats.scrape_interval","description":"scrape interval to collect diskstats metrics from the node.","default":"0","type":"time"},{"name":"collector.filesystem.scrape_interval","description":"scrape interval to collect filesystem metrics from the node.","default":"0","type":"time"},{"name":"collector.uname.scrape_interval","description":"scrape interval to collect uname metrics from the node.","default":"0","type":"time"},{"name":"collector.stat.scrape_interval","description":"scrape interval to collect stat metrics from the node.","default":"0","type":"time"},{"name":"collector.time.scrape_interval","description":"scrape interval to collect time metrics from the node.","default":"0","type":"time"},{"name":"collector.loadavg.scrape_interval","description":"scrape interval to collect loadavg metrics from the node.","default":"0","type":"time"},{"name":"collector.vmstat.scrape_interval","description":"scrape interval to collect vmstat metrics from the node.","default":"0","type":"time"},{"name":"collector.netdev.scrape_interval","description":"scrape interval to collect netdev metrics from the node.","default":"0","type":"time"},{"name":"collector.filefd.scrape_interval","description":"scrape interval to collect filefd metrics from the node.","default":"0","type":"time"},{"name":"collector.textfile.scrape_interval","description":"scrape interval to collect textfile metrics from the node.","default":"0","type":"time"},{"name":"collector.systemd.scrape_interval","description":"scrape interval to collect systemd metrics from the node.","default":"0","type":"time"},{"name":"collector.processes.scrape_interval","description":"scrape interval to collect processes metrics from the node.","default":"0","type":"time"},{"name":"collector.thermalzone.scrape_interval","description":"scrape interval to collect thermal zone metrics from the node.","default":"0","type":"time"},{"name":"collector.nvme.scrape_interval","description":"scrape interval to collect nvme metrics from the node.","default":"0","type":"time"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone","type":"multiple comma delimited strings"},{"name":"collector.textfile.path","description":"Specify file path or directory to collect textfile metrics from the node.","default":null,"type":"string"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys","type":"string"},{"name":"systemd_service_restart_metrics","description":"include systemd service restart metrics","default":"false","type":"boolean"},{"name":"systemd_unit_start_time_metrics","description":"include systemd unit start time metrics","default":"false","type":"boolean"},{"name":"systemd_include_service_task_metrics","description":"include systemd service task metrics","default":"false","type":"boolean"},{"name":"systemd_include_pattern","description":"include list regular expression","default":null,"type":"string"},{"name":"systemd_exclude_pattern","description":"exclude list regular expression","default":".+\\.(automount|device|mount|scope|slice)","type":"string"},{"name":"filesystem.ignore_mount_point_regex","description":"ignore regular expression for mount points","default":"^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)","type":"string"},{"name":"filesystem.ignore_filesystem_type_regex","description":"ignore regular expression for filesystem types","default":"^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$","type":"string"},{"name":"diskstats.ignore_device_regex","description":"ignore regular expression for disk devices","default":"^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$","type":"string"}]}},{"type":"input","name":"kubernetes_events","description":"Kubernetes Events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"interval_sec","description":"Set the polling interval for each channel","default":"0","type":"integer"},{"name":"interval_nsec","description":"Set the polling interval for each channel (sub seconds)","default":"500000000","type":"integer"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_request_limit","description":"kubernetes limit parameter for events query, no limit applied when set to 0","default":"0","type":"integer"},{"name":"kube_retention_time","description":"kubernetes retention time for events. Default: 1h","default":"1h","type":"time"},{"name":"kube_namespace","description":"kubernetes namespace to get events from, gets event from all namespaces by default.","default":null,"type":"string"},{"name":"timestamp_key","description":"Deprecated. To be removed in v3.0","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of recorded kubernetes events.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"kafka","description":"Kafka consumer input plugin","properties":{"options":[{"name":"poll_ms","description":"Interval in milliseconds to check for new messages.","default":"500","type":"integer"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"format","description":"Set the data format which will be used for parsing records.","default":"none","type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the librdkafka options","default":null,"type":"prefixed string"},{"name":"buffer_max_size","description":"Set the maximum size of chunk","default":"4M","type":"size"}]}},{"type":"input","name":"fluentbit_metrics","description":"Fluent Bit internal metrics","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect the internal metrics of Fluent Bit.","default":"2","type":"time"},{"name":"scrape_on_start","description":"scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"}]}},{"type":"input","name":"prometheus_scrape","description":"Scrape metrics from Prometheus Endpoint","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"scrape_interval","description":"Scraping interval.","default":"10s","type":"time"},{"name":"buffer_max_size","description":"","default":"10M","type":"size"},{"name":"metrics_path","description":"Set the metrics URI endpoint, it must start with a forward slash.","default":"/metrics","type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"tail","description":"Tail files","properties":{"options":[{"name":"path","description":"pattern specifying log files or multiple ones through the use of common wildcards.","default":null,"type":"multiple comma delimited strings"},{"name":"exclude_path","description":"Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'","default":null,"type":"multiple comma delimited strings"},{"name":"key","description":"when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.","default":"log","type":"string"},{"name":"read_from_head","description":"For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.","default":"false","type":"boolean"},{"name":"refresh_interval","description":"interval to refresh the list of watched files expressed in seconds.","default":"60","type":"string"},{"name":"watcher_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval_nsec","description":"","default":"0","type":"integer"},{"name":"rotate_wait","description":"specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.","default":"5","type":"time"},{"name":"docker_mode","description":"If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.","default":"false","type":"boolean"},{"name":"docker_mode_flush","description":"wait period time in seconds to flush queued unfinished split lines.","default":"4","type":"integer"},{"name":"docker_mode_parser","description":"specify the parser name to fetch log first line for muliline log","default":null,"type":"string"},{"name":"path_key","description":"set the 'key' name where the name of monitored file will be appended.","default":null,"type":"string"},{"name":"offset_key","description":"set the 'key' name where the offset of monitored file will be appended.","default":null,"type":"string"},{"name":"ignore_older","description":"ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.","default":"0","type":"time"},{"name":"buffer_chunk_size","description":"set the initial buffer size to read data from files. This value is used too to increase buffer size.","default":"32768","type":"size"},{"name":"buffer_max_size","description":"set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.","default":"32768","type":"size"},{"name":"static_batch_size","description":"On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.","default":"50M","type":"size"},{"name":"event_batch_size","description":"When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).","default":"50M","type":"size"},{"name":"skip_long_lines","description":"if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.","default":"false","type":"boolean"},{"name":"exit_on_eof","description":"exit Fluent Bit when reaching EOF on a monitored file.","default":"false","type":"boolean"},{"name":"skip_empty_lines","description":"Allows to skip empty lines.","default":"false","type":"boolean"},{"name":"inotify_watcher","description":"set to false to use file stat watcher instead of inotify.","default":"true","type":"boolean"},{"name":"parser","description":"specify the parser name to process an unstructured message.","default":null,"type":"string"},{"name":"tag_regex","description":"set a regex to extract fields from the file name and use them later to compose the Tag.","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of monitored files and it offsets.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"},{"name":"db.locking","description":"set exclusive locking mode, increase performance but don't allow external connections to the database file.","default":"false","type":"boolean"},{"name":"db.journal_mode","description":"Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.","default":"WAL","type":"string"},{"name":"db.compare_filename","description":"This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).","default":"false","type":"boolean"},{"name":"multiline","description":"if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.","default":"false","type":"boolean"},{"name":"multiline_flush","description":"wait period time in seconds to process queued multiline messages.","default":"4","type":"time"},{"name":"parser_firstline","description":"name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).","default":null,"type":"string"},{"name":"parser_","description":"optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.","default":null,"type":"prefixed string"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"}]}},{"type":"input","name":"dummy","description":"Generate dummy data","properties":{"options":[{"name":"samples","description":"set a number of times to generate event.","default":"0","type":"integer"},{"name":"dummy","description":"set the sample record to be generated. It should be a JSON object.","default":"{\"message\":\"dummy\"}","type":"string"},{"name":"metadata","description":"set the sample metadata to be generated. It should be a JSON object.","default":"{}","type":"string"},{"name":"rate","description":"set a number of events per second.","default":"1","type":"integer"},{"name":"interval_sec","description":"set seconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"interval_nsec","description":"set nanoseconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"copies","description":"set the number of copies to generate per collectd.","default":"1","type":"integer"},{"name":"start_time_sec","description":"set a dummy base timestamp in seconds.","default":"-1","type":"integer"},{"name":"start_time_nsec","description":"set a dummy base timestamp in nanoseconds.","default":"-1","type":"integer"},{"name":"fixed_timestamp","description":"used a fixed timestamp, allows the message to pre-generated once.","default":"off","type":"boolean"},{"name":"flush_on_startup","description":"generate the first event on startup","default":"false","type":"boolean"}]}},{"type":"input","name":"head","description":"Head Input","properties":{"options":[{"name":"file","description":"Set the file","default":null,"type":"string"},{"name":"key","description":"Set the record key","default":"head","type":"string"},{"name":"buf_size","description":"Set the read buffer size","default":"256","type":"integer"},{"name":"split_line","description":"generate key/value pair per line","default":"false","type":"boolean"},{"name":"lines","description":"Line number to read","default":"0","type":"integer"},{"name":"add_path","description":"append filepath to records","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}]}},{"type":"input","name":"health","description":"Check TCP server health","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"alert","description":"Only generate records when the port is down","default":"false","type":"boolean"},{"name":"add_host","description":"Append hostname to each record","default":"false","type":"boolean"},{"name":"add_port","description":"Append port to each record","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"http","description":"HTTP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"collectd","description":"collectd input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"typesdb","description":"Set the types database filename","default":"/usr/share/collectd/types.db","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"statsd","description":"StatsD input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"tag_from_uri","description":"If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .","default":"true","type":"boolean"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"},{"name":"raw_traces","description":"Forward traces without processing","default":"false","type":"boolean"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"elasticsearch","description":"HTTP Endpoints for Elasticsearch (Bulk API)","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"Set the maximum size of buffer","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"512K","type":"size"},{"name":"tag_key","description":"Specify a key name for extracting as a tag","default":null,"type":"string"},{"name":"meta_key","description":"Specify a key name for meta information","default":"@meta","type":"string"},{"name":"hostname","description":"Specify hostname or FQDN. This parameter is effective for sniffering node information.","default":"localhost","type":"string"},{"name":"version","description":"Specify returning Elasticsearch server version.","default":"8.0.0","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"splunk","description":"Input plugin for Splunk HEC payloads","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"splunk_token","description":"Set valid Splunk HEC tokens for the requests","default":null,"type":"string"},{"name":"tag_key","description":"","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"event_type","description":"Event tests for input plugins","properties":{"options":[{"name":"type","description":"Set the type of event to deliver, optionsa are: logs, metrics or traces","default":"logs","type":"string"},{"name":"interval_sec","description":"Set the interval seconds between events generation","default":"2","type":"integer"},{"name":"interval_nsec","description":"Set the nanoseconds interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"nginx_metrics","description":"Nginx status metrics","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"status_url","description":"Define URL of stub status handler","default":"/status","type":"string"},{"name":"nginx_plus","description":"Turn on NGINX plus mode","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"serial","description":"Serial input","properties":{"options":[{"name":"file","description":"Set the serial character device file name","default":null,"type":"string"},{"name":"bitrate","description":"Set the serial bitrate (baudrate)","default":null,"type":"string"},{"name":"separator","description":"Set the record separator","default":null,"type":"string"},{"name":"format","description":"Set the serial format: json or none","default":null,"type":"string"},{"name":"min_bytes","description":"Set the serial minimum bytes","default":"0","type":"integer"}]}},{"type":"input","name":"stdin","description":"Standard Input","properties":{"options":[{"name":"parser","description":"Set and use a fluent-bit parser","default":null,"type":"string"},{"name":"buffer_size","description":"Set the read buffer size","default":null,"type":"size"}]}},{"type":"input","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"mode","description":"Set the socket mode: unix_tcp, unix_udp, tcp or udp","default":null,"type":"string"},{"name":"path","description":"Set the path for the UNIX socket","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"32768","type":"size"},{"name":"buffer_max_size","description":"Set the buffer chunk size","default":null,"type":"size"},{"name":"parser","description":"Set the parser","default":null,"type":"string"},{"name":"receive_buffer_size","description":"Set the socket receiving buffer size","default":null,"type":"size"},{"name":"raw_message_key","description":"Key where the raw message will be preserved","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"exec","description":"Exec Input","properties":{"options":[{"name":"command","description":"Set the command to execute","default":null,"type":"string"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"oneshot","description":"execute the command only once","default":"false","type":"boolean"},{"name":"exit_after_oneshot","description":"exit fluent-bit after the command terminates in one-shot mode","default":"false","type":"boolean"},{"name":"propagate_exit_code","description":"propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions","default":"false","type":"boolean"}]}},{"type":"input","name":"udp","description":"UDP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"exec_wasi","description":"Exec WASI Input","properties":{"options":[{"name":"wasi_path","description":"Set the path of WASM program to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"bool","description":"execute the command only once","default":"false","type":"boolean"}]}},{"type":"input","name":"tcp","description":"TCP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"mqtt","description":"MQTT, listen for Publish messages","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"payload_key","description":"Key where the payload will be preserved","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"lib","description":"Library mode Input","properties":{}},{"type":"input","name":"forward","description":"Fluentd in-forward","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"tag_prefix","description":"Prefix incoming tag with the defined value.","default":null,"type":"string"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"security.users","description":"Specify username and password pairs.","default":null,"type":"string"},{"name":"unix_path","description":"The path to unix socket to receive a Forward message.","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"The buffer memory size used to receive a Forward message.","default":"1024000","type":"size"},{"name":"buffer_max_size","description":"The maximum buffer memory size used to receive a Forward message.","default":"6144000","type":"size"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"random","description":"Random","properties":{"options":[{"name":"samples","description":"Number of samples to send, -1 for infinite","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}}],"filters":[{"type":"filter","name":"alter_size","description":"Alter incoming chunk size","properties":{"options":[{"name":"add","description":"add N records to the chunk","default":"0","type":"integer"},{"name":"remove","description":"remove N records from the chunk","default":"0","type":"integer"}]}},{"type":"filter","name":"aws","description":"Add AWS Metadata","properties":{"options":[{"name":"imds_version","description":"Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.","default":"v2","type":"string"},{"name":"az","description":"Enable EC2 instance availability zone","default":"true","type":"boolean"},{"name":"ec2_instance_id","description":"Enable EC2 instance ID","default":"true","type":"boolean"},{"name":"ec2_instance_type","description":"Enable EC2 instance type","default":"false","type":"boolean"},{"name":"private_ip","description":"Enable EC2 instance private IP","default":"false","type":"boolean"},{"name":"vpc_id","description":"Enable EC2 instance VPC ID","default":"false","type":"boolean"},{"name":"ami_id","description":"Enable EC2 instance Image ID","default":"false","type":"boolean"},{"name":"account_id","description":"Enable EC2 instance Account ID","default":"false","type":"boolean"},{"name":"hostname","description":"Enable EC2 instance hostname","default":"false","type":"boolean"},{"name":"tags_enabled","description":"Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty","default":"false","type":"boolean"},{"name":"tags_include","description":"Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"","default":"","type":"string"},{"name":"tags_exclude","description":"Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails","default":"","type":"string"}]}},{"type":"filter","name":"checklist","description":"Check records and flag them","properties":{"options":[{"name":"file","description":"Specify the file that contains the patterns to lookup.","default":null,"type":"string"},{"name":"mode","description":"Set the check mode: 'exact' or 'partial'.","default":"exact","type":"string"},{"name":"print_query_time","description":"Print to stdout the elapseed query time for every matched record","default":"false","type":"boolean"},{"name":"ignore_case","description":"Compare strings by ignoring case.","default":"false","type":"boolean"},{"name":"lookup_key","description":"Name of the key to lookup.","default":"log","type":"string"},{"name":"record","description":"Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.","default":null,"type":"space delimited strings (minimum 2)"}]}},{"type":"filter","name":"ecs","description":"Add AWS ECS Metadata","properties":{"options":[{"name":"add","description":"Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.","default":null,"type":"string"},{"name":"ecs_tag_prefix","description":"This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).","default":"","type":"string"},{"name":"cluster_metadata_only","description":"Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).","default":"false","type":"boolean"},{"name":"ecs_meta_cache_ttl","description":"Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.","default":"3600","type":"time"},{"name":"ecs_meta_host","description":"The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1","default":"127.0.0.1","type":"string"},{"name":"ecs_meta_port","description":"The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678","default":"51678","type":"integer"},{"name":"agent_endpoint_retries","description":"Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.","default":"2","type":"integer"}]}},{"type":"filter","name":"record_modifier","description":"modify record","properties":{"options":[{"name":"record","description":"Append fields. This parameter needs key and value pair.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"remove_key","description":"If the key is matched, that field is removed.","default":null,"type":"string"},{"name":"allowlist_key","description":"If the key is not matched, that field is removed.","default":null,"type":"string"},{"name":"whitelist_key","description":"(Alias of allowlist_key)","default":null,"type":"string"},{"name":"uuid_key","description":"If set, the plugin generates uuid per record.","default":null,"type":"string"}]}},{"type":"filter","name":"sysinfo","description":"Filter for system info","properties":{"options":[{"name":"fluentbit_version_key","description":"Specify the key name for fluent-bit version.","default":null,"type":"string"},{"name":"os_name_key","description":"Specify the key name for os name. e.g. linux, win64 or macos.","default":null,"type":"string"},{"name":"hostname_key","description":"Specify the key name for hostname.","default":null,"type":"string"},{"name":"os_version_key","description":"Specify the key name for os version. It is not supported on some platforms.","default":null,"type":"string"},{"name":"kernel_version_key","description":"Specify the key name for kernel version. It is not supported on some platforms.","default":null,"type":"string"}]}},{"type":"filter","name":"throttle","description":"Throttle messages using sliding window algorithm","properties":{"options":[{"name":"rate","description":"Set throttle rate","default":"1","type":"double"},{"name":"window","description":"Set throttle window","default":"5","type":"integer"},{"name":"print_status","description":"Set whether or not to print status information","default":"false","type":"boolean"},{"name":"interval","description":"Set the slide interval","default":"1","type":"string"}]}},{"type":"filter","name":"type_converter","description":"Data type converter","properties":{"options":[{"name":"int_key","description":"Convert integer to other type. e.g. int_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"uint_key","description":"Convert unsinged integer to other type. e.g. uint_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"float_key","description":"Convert float to other type. e.g. float_key ratio id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"str_key","description":"Convert string to other type. e.g. str_key id id_val integer","default":null,"type":"space delimited strings (minimum 3)"}]}},{"type":"filter","name":"kubernetes","description":"Filter to append Kubernetes metadata","properties":{"options":[{"name":"buffer_size","description":"buffer size to receive response from API server","default":"32K","type":"size"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"merge_log","description":"merge 'log' key content as individual keys","default":"false","type":"boolean"},{"name":"merge_parser","description":"specify a 'parser' name to parse the 'log' key content","default":null,"type":"string"},{"name":"merge_log_key","description":"set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled","default":null,"type":"string"},{"name":"merge_log_trim","description":"remove ending '\\n' or '\\r' characters from the log content","default":"true","type":"boolean"},{"name":"keep_log","description":"keep original log content if it was successfully parsed and merged","default":"true","type":"boolean"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"kube_meta_preload_cache_dir","description":"set directory with metadata files","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_tag_prefix","description":"prefix used in tag by the input plugin","default":"kube.var.log.containers.","type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_command","description":"command to get Kubernetes authorization token","default":null,"type":"string"},{"name":"labels","description":"include Kubernetes labels on every record","default":"true","type":"boolean"},{"name":"annotations","description":"include Kubernetes annotations on every record","default":"true","type":"boolean"},{"name":"namespace_labels","description":"include Kubernetes namespace labels on every record","default":"false","type":"boolean"},{"name":"namespace_annotations","description":"include Kubernetes namespace annotations on every record","default":"false","type":"boolean"},{"name":"namespace_metadata_only","description":"ignore pod metadata entirely and only fetch namespace metadata","default":"false","type":"boolean"},{"name":"k8s-logging.parser","description":"allow Pods to suggest a parser","default":"false","type":"boolean"},{"name":"k8s-logging.exclude","description":"allow Pods to exclude themselves from the logging pipeline","default":"false","type":"boolean"},{"name":"use_journal","description":"use Journald (Systemd) mode","default":"false","type":"boolean"},{"name":"regex_parser","description":"optional regex parser to extract metadata from container name or container log file name","default":null,"type":"string"},{"name":"dummy_meta","description":"use 'dummy' metadata, do not talk to API server","default":"false","type":"boolean"},{"name":"dns_retries","description":"dns lookup retries N times until the network start working","default":"6","type":"integer"},{"name":"dns_wait_time","description":"dns interval between network status checks","default":"30","type":"time"},{"name":"cache_use_docker_id","description":"fetch K8s meta when docker_id is changed","default":"false","type":"boolean"},{"name":"use_tag_for_meta","description":"use tag associated to retrieve metadata instead of kube-server","default":"false","type":"boolean"},{"name":"use_kubelet","description":"use kubelet to get metadata instead of kube-server","default":"false","type":"boolean"},{"name":"kubelet_host","description":"kubelet host to connect with when using kubelet","default":"127.0.0.1","type":"string"},{"name":"kubelet_port","description":"kubelet port to connect with when using kubelet","default":"10250","type":"integer"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_meta_cache_ttl","description":"configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted","default":"0","type":"time"},{"name":"kube_meta_namespace_cache_ttl","description":"configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.","default":"15m","type":"time"}]}},{"type":"filter","name":"modify","description":"modify records by applying rules","properties":{"options":[{"name":"Set","description":"Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.","default":null,"type":"string"},{"name":"Add","description":"Add a key/value pair with key KEY and value VALUE if KEY does not exist","default":null,"type":"string"},{"name":"Remove","description":"Remove a key/value pair with key KEY if it exists","default":null,"type":"string"},{"name":"Remove_wildcard","description":"Remove all key/value pairs with key matching wildcard KEY","default":null,"type":"string"},{"name":"Remove_regex","description":"Remove all key/value pairs with key matching regexp KEY","default":null,"type":"string"},{"name":"Move_To_Start","description":"Move key/value pairs with keys matching KEY to the start of the message","default":null,"type":"string"},{"name":"Move_To_End","description":"Move key/value pairs with keys matching KEY to the end of the message","default":null,"type":"string"},{"name":"Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Condition","description":"Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.","default":null,"type":"string"}]}},{"type":"filter","name":"multiline","description":"Concatenate multiline messages","properties":{"options":[{"name":"debug_flush","description":"enable debugging for concatenation flush to stdout","default":"false","type":"boolean"},{"name":"buffer","description":"Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.","default":"true","type":"boolean"},{"name":"mode","description":"Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.","default":"parser","type":"string"},{"name":"flush_ms","description":"Flush time for pending multiline records","default":"2000","type":"integer"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"},{"name":"multiline.key_content","description":"specify the key name that holds the content to process.","default":null,"type":"string"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"nest","description":"nest events by specified field values","properties":{"options":[{"name":"Operation","description":"Select the operation nest or lift","default":null,"type":"string"},{"name":"Wildcard","description":"Nest records which field matches the wildcard","default":null,"type":"string"},{"name":"Nest_under","description":"Nest records matching the Wildcard under this key","default":null,"type":"string"},{"name":"Nested_under","description":"Lift records nested under the Nested_under key","default":null,"type":"string"},{"name":"Add_prefix","description":"Prefix affected keys with this string","default":null,"type":"string"},{"name":"Remove_prefix","description":"Remove prefix from affected keys if it matches this string","default":null,"type":"string"}]}},{"type":"filter","name":"parser","description":"Parse events","properties":{"options":[{"name":"Key_Name","description":"Specify field name in record to parse.","default":null,"type":"string"},{"name":"Parser","description":"Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).","default":null,"type":"string"},{"name":"Preserve_Key","description":"Keep original Key_Name field in the parsed result. If false, the field will be removed.","default":"false","type":"boolean"},{"name":"Reserve_Data","description":"Keep all other original fields in the parsed result. If false, all other original fields will be removed.","default":"false","type":"boolean"},{"name":"Unescape_key","description":"(deprecated)","default":null,"type":"deprecated"}]}},{"type":"filter","name":"expect","description":"Validate expected keys and values","properties":{"options":[{"name":"key_exists","description":"check that the given key name exists in the record","default":null,"type":"string"},{"name":"key_not_exists","description":"check that the given key name do not exists in the record","default":null,"type":"string"},{"name":"key_val_is_null","description":"check that the value of the key is NULL","default":null,"type":"string"},{"name":"key_val_is_not_null","description":"check that the value of the key is NOT NULL","default":null,"type":"string"},{"name":"key_val_eq","description":"check that the value of the key equals the given value","default":null,"type":"space delimited strings (minimum 1)"},{"name":"action","description":"action to take when a rule does not match: 'warn', 'exit' or 'result_key'.","default":"warn","type":"string"},{"name":"result_key","description":"specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.","default":"matched","type":"string"}]}},{"type":"filter","name":"grep","description":"grep events by specified field values","properties":{"options":[{"name":"regex","description":"Keep records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Exclude records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"logical_op","description":"Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.","default":"legacy","type":"string"}]}},{"type":"filter","name":"rewrite_tag","description":"Rewrite records tags","properties":{"options":[{"name":"rule","description":"","default":null,"type":"space delimited strings (minimum 4)"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"log_to_metrics","description":"generate log derived metrics","properties":{"options":[{"name":"regex","description":"Optional filter for records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Optional filter for records in which the content of KEY does not matches the regular expression.","default":null,"type":"string"},{"name":"metric_mode","description":"Mode selector. Values counter, gauge, or histogram. Summary is not supported","default":"counter","type":"string"},{"name":"value_field","description":"Numeric field to use for gauge or histogram","default":null,"type":"string"},{"name":"metric_name","description":"Name of metric","default":null,"type":"string"},{"name":"metric_description","description":"Help text for metric","default":null,"type":"string"},{"name":"kubernetes_mode","description":"Enable kubernetes log metric fields","default":"false","type":"boolean"},{"name":"add_label","description":"Add a label to the metric by supporting record accessor pattern","default":null,"type":"string"},{"name":"label_field","description":"Specify message field that should be included in the metric","default":null,"type":"string"},{"name":"bucket","description":"Specify bucket for histogram metric","default":null,"type":"string"},{"name":"tag","description":"Metric Tag","default":null,"type":"string"}]}},{"type":"filter","name":"lua","description":"Lua Scripting Filter","properties":{"options":[{"name":"script","description":"The path of lua script.","default":null,"type":"string"},{"name":"code","description":"String that contains the Lua script source code","default":null,"type":"string"},{"name":"call","description":"Lua function name that will be triggered to do filtering.","default":null,"type":"string"},{"name":"type_int_key","description":"If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"type_array_key","description":"If these keys are matched, the fields are converted to array. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"protected_mode","description":"If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.","default":"true","type":"boolean"},{"name":"time_as_table","description":"If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.","default":"false","type":"boolean"},{"name":"enable_flb_null","description":"If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.","default":"false","type":"boolean"}]}},{"type":"filter","name":"stdout","description":"Filter events to STDOUT","properties":{"options":[]}},{"type":"filter","name":"geoip2","description":"add geoip information to records","properties":{"options":[{"name":"database","description":"Set the geoip2 database path","default":null,"type":"string"},{"name":"lookup_key","description":"Add a lookup_key","default":null,"type":"string"},{"name":"record","description":"Add a record to the output base on geoip2","default":null,"type":"string"}]}},{"type":"filter","name":"nightfall","description":"scans records for sensitive content","properties":{"options":[{"name":"nightfall_api_key","description":"The Nightfall API key to scan your logs with.","default":null,"type":"string"},{"name":"policy_id","description":"The Nightfall policy ID to scan your logs with.","default":null,"type":"string"},{"name":"sampling_rate","description":"The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.","default":"1","type":"double"},{"name":"tls.debug","description":"Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"Enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"Set optional TLS virtual host","default":null,"type":"string"},{"name":"tls.ca_path","description":"Path to root certificates on the system","default":null,"type":"string"}]}},{"type":"filter","name":"wasm","description":"WASM program filter","properties":{"options":[{"name":"event_format","description":"Sepecify the ingesting event format for wasm program","default":null,"type":"string"},{"name":"wasm_path","description":"Set the wasm path to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"function_name","description":"Set the function name in wasm to execute","default":null,"type":"string"}]}}],"outputs":[{"type":"output","name":"azure","description":"Send events to Azure HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"customer_id","description":"Customer ID or WorkspaceID string.","default":null,"type":"string"},{"name":"shared_key","description":"The primary or the secondary Connected Sources client authentication key.","default":null,"type":"string"},{"name":"log_type","description":"The name of the event type.","default":"fluentbit","type":"string"},{"name":"log_type_key","description":"If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ","default":null,"type":"string"},{"name":"time_key","description":"Optional parameter to specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_blob","description":"Azure Blob Storage","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"account_name","description":"Azure account name (mandatory)","default":null,"type":"string"},{"name":"container_name","description":"Container name (mandatory)","default":null,"type":"string"},{"name":"auto_create_container","description":"Auto create container if it don't exists","default":"true","type":"boolean"},{"name":"blob_type","description":"Set the block type: appendblob or blockblob","default":"appendblob","type":"string"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"},{"name":"compress_blob","description":"Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type","default":"false","type":"boolean"},{"name":"emulator_mode","description":"Use emulator mode, enable it if you want to use Azurite","default":"false","type":"boolean"},{"name":"shared_key","description":"Azure shared key","default":null,"type":"string"},{"name":"endpoint","description":"Custom full URL endpoint to use an emulator","default":null,"type":"string"},{"name":"path","description":"Set a path for your blob","default":null,"type":"string"},{"name":"date_key","description":"Name of the key that will have the record timestamp","default":"@timestamp","type":"string"},{"name":"auth_type","description":"Set the auth type: key or sas","default":"key","type":"string"},{"name":"sas_token","description":"Azure Blob SAS token","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_logs_ingestion","description":"Send logs to Log Analytics with Log Ingestion API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application","default":null,"type":"string"},{"name":"client_id","description":"Set the client/app ID of the AAD application","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret of the AAD application","default":null,"type":"string"},{"name":"dce_url","description":"Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)","default":null,"type":"string"},{"name":"dcr_id","description":"Data Collection Rule (DCR) immutable ID","default":null,"type":"string"},{"name":"table_name","description":"The name of the custom log table, including '_CL' suffix","default":null,"type":"string"},{"name":"time_key","description":"[Optional] Specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter","default":"false","type":"boolean"},{"name":"compress","description":"Enable HTTP payload compression (gzip).","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_kusto","description":"Send events to Kusto (Azure Data Explorer)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_id","description":"Set the client ID (Application ID) of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret (Application Password) of the AAD application used for authentication","default":null,"type":"string"},{"name":"ingestion_endpoint","description":"Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)","default":null,"type":"string"},{"name":"database_name","description":"Set the database name","default":null,"type":"string"},{"name":"table_name","description":"Set the table name","default":null,"type":"string"},{"name":"ingestion_mapping_reference","description":"Set the ingestion mapping reference","default":null,"type":"string"},{"name":"log_key","description":"The key name of event payload","default":"log","type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"true","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tag","type":"string"},{"name":"include_time_key","description":"If enabled, time is appended to output. The key name is used 'time_key' property.","default":"true","type":"boolean"},{"name":"time_key","description":"The key name of the time. If 'include_time_key' is false, This property is ignored","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"bigquery","description":"Send events to BigQuery via streaming insert","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"enable_identity_federation","description":"Enable identity federation","default":"false","type":"boolean"},{"name":"aws_region","description":"Enable identity federation","default":null,"type":"string"},{"name":"project_number","description":"Set project number","default":null,"type":"string"},{"name":"pool_id","description":"Set the pool id","default":null,"type":"string"},{"name":"provider_id","description":"Set the provider id","default":null,"type":"string"},{"name":"google_service_account","description":"Set the google service account","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"dataset_id","description":"Set the dataset id","default":null,"type":"string"},{"name":"table_id","description":"Set the table id","default":null,"type":"string"},{"name":"skip_invalid_rows","description":"Enable skipping of invalid rows","default":"false","type":"boolean"},{"name":"ignore_unknown_values","description":"Enable ignoring unknown value","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"counter","description":"Records counter","properties":{"options":[]}},{"type":"output","name":"datadog","description":"Send events to DataDog HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.","default":"false","type":"string"},{"name":"apikey","description":"Datadog API key","default":null,"type":"string"},{"name":"dd_service","description":"The human readable name for your service generating the logs - the name of your application or database.","default":null,"type":"string"},{"name":"dd_source","description":"A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.","default":null,"type":"string"},{"name":"dd_tags","description":"The tags you want to assign to your logs in Datadog.","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.","default":null,"type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"false","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tagkey","type":"string"},{"name":"dd_message_key","description":"By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.","default":null,"type":"string"},{"name":"provider","description":"To activate the remapping, specify configuration flag provider with value 'ecs'","default":null,"type":"string"},{"name":"json_date_key","description":"Date key name for output.","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"es","description":"Elasticsearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for Elastic X-Pack access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in HTTP_User","default":"","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"cloud_id","description":"Elastic cloud ID of the cluster to connect to","default":null,"type":"string"},{"name":"cloud_auth","description":"Elastic cloud authentication credentials","default":null,"type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the Elasticsearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the Elasticsearch exception to stderr (for diag only)","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"exit","description":"Exit after a number of flushes (test purposes)","properties":{"options":[{"name":"flush_count","description":"","default":"1","type":"integer"}]}},{"type":"output","name":"file","description":"Generate log file","properties":{"options":[{"name":"path","description":"Absolute path to store the files. This parameter is optional","default":null,"type":"string"},{"name":"file","description":"Name of the target file to write the records. If 'path' is specified, the value is prefixed","default":null,"type":"string"},{"name":"format","description":"Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json","default":null,"type":"string"},{"name":"delimiter","description":"Set a custom delimiter for the records","default":null,"type":"string"},{"name":"label_delimiter","description":"Set a custom label delimiter, to be used with 'ltsv' format","default":null,"type":"string"},{"name":"template","description":"Set a custom template format for the data","default":"{time} {message}","type":"string"},{"name":"csv_column_names","description":"Add column names (keys) in the first line of the target file","default":"false","type":"boolean"},{"name":"mkdir","description":"Recursively create output directory if it does not exist. Permissions set to 0755","default":"false","type":"boolean"}]}},{"type":"output","name":"forward","description":"Forward (Fluentd protocol)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"time_as_integer","description":"Set timestamp in integer format (compat mode for old Fluentd v0.12)","default":"false","type":"boolean"},{"name":"retain_metadata_in_forward_mode","description":"Retain metadata when operating in forward mode","default":"false","type":"boolean"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"empty_shared_key","description":"Set an empty shared key for authentication","default":"false","type":"boolean"},{"name":"send_options","description":"Send 'forward protocol options' to remote endpoint","default":"false","type":"boolean"},{"name":"require_ack_response","description":"Require that remote endpoint confirms data reception","default":"false","type":"boolean"},{"name":"username","description":"Username for authentication","default":"","type":"string"},{"name":"password","description":"Password for authentication","default":"","type":"string"},{"name":"unix_path","description":"Path to unix socket. It is ignored when 'upstream' property is set","default":null,"type":"string"},{"name":"upstream","description":"Path to 'upstream' configuration file (define multiple nodes)","default":null,"type":"string"},{"name":"tag","description":"Set a custom Tag for the outgoing records","default":null,"type":"string"},{"name":"compress","description":"Compression mode","default":null,"type":"string"},{"name":"fluentd_compat","description":"Send metrics and traces with Fluentd compatible format","default":"false","type":"boolean"},{"name":"add_option","description":"Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.","default":null,"type":"space delimited strings (minimum 2)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"http","description":"HTTP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"allow_duplicated_headers","description":"Specify if duplicated headers are allowed or not","default":"true","type":"boolean"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":null,"type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header_tag","description":"Set a HTTP header which value is the Tag","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":"json","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Specify the key to use for 'timestamp' in gelf format","default":null,"type":"string"},{"name":"gelf_host_key","description":"Specify the key to use for the 'host' in gelf format","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Specify the key to use as the 'short' message in gelf format","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Specify the key to use for the 'full' message in gelf format","default":null,"type":"string"},{"name":"gelf_level_key","description":"Specify the key to use for the 'level' in gelf format","default":null,"type":"string"},{"name":"body_key","description":"Specify the key which contains the body","default":null,"type":"string"},{"name":"headers_key","description":"Specify the key which contains the headers","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"influxdb","description":"InfluxDB Time Series","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"database","description":"Set the database name.","default":"fluentbit","type":"string"},{"name":"bucket","description":"Specify the bucket name, used on InfluxDB API v2.","default":null,"type":"string"},{"name":"org","description":"Set the Organization name.","default":"fluent","type":"string"},{"name":"sequence_tag","description":"Specify the sequence tag.","default":null,"type":"string"},{"name":"uri","description":"Specify a custom URI endpoint (must start with '/').","default":null,"type":"string"},{"name":"http_user","description":"HTTP Basic Auth username.","default":null,"type":"string"},{"name":"http_passwd","description":"HTTP Basic Auth password.","default":"","type":"string"},{"name":"http_token","description":"Set InfluxDB HTTP Token API v2.","default":null,"type":"string"},{"name":"http_header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"auto_tags","description":"Automatically tag keys where value is string.","default":"false","type":"boolean"},{"name":"tag_keys","description":"Space separated list of keys that needs to be tagged.","default":null,"type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"logdna","description":"LogDNA","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"logdna_host","description":"LogDNA Host address","default":"logs.logdna.com","type":"string"},{"name":"logdna_port","description":"LogDNA TCP port","default":"443","type":"integer"},{"name":"api_key","description":"Logdna API key","default":null,"type":"string"},{"name":"hostname","description":"Local Server or device host name","default":null,"type":"string"},{"name":"mac","description":"MAC address (optional)","default":"","type":"string"},{"name":"ip","description":"IP address (optional)","default":"","type":"string"},{"name":"tags","description":"Tags (optional)","default":"","type":"multiple comma delimited strings"},{"name":"file","description":"Name of the monitored file (optional)","default":null,"type":"string"},{"name":"app","description":"Name of the application generating the data (optional)","default":"Fluent Bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"loki","description":"Loki","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify a custom HTTP URI. It must start with forward slash.","default":"/loki/api/v1/push","type":"string"},{"name":"tenant_id","description":"Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.","default":null,"type":"string"},{"name":"tenant_id_key","description":"If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.","default":null,"type":"string"},{"name":"labels","description":"labels for API requests. If no value is set, the default label is 'job=fluent-bit'","default":null,"type":"multiple comma delimited strings"},{"name":"auto_kubernetes_labels","description":"If set to true, it will add all Kubernetes labels to Loki labels.","default":"false","type":"boolean"},{"name":"drop_single_key","description":"If set to true and only a single key remains, the log line sent to Loki will be the value of that key.","default":"false","type":"boolean"},{"name":"label_keys","description":"Comma separated list of keys to use as stream labels.","default":null,"type":"multiple comma delimited strings"},{"name":"remove_keys","description":"Comma separated list of keys to remove.","default":null,"type":"multiple comma delimited strings"},{"name":"line_format","description":"Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.","default":"json","type":"string"},{"name":"label_map_path","description":"A label map file path","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"kafka","description":"Kafka","properties":{"options":[{"name":"topic_key","description":"Which record to use as the kafka topic.","default":null,"type":"string"},{"name":"dynamic_topic","description":"Activate dynamic topics.","default":"false","type":"boolean"},{"name":"format","description":"Set the record output format.","default":null,"type":"string"},{"name":"message_key","description":"Which record key to use as the message data.","default":null,"type":"string"},{"name":"message_key_field","description":"Which record key field to use as the message data.","default":null,"type":"string"},{"name":"timestamp_key","description":"Set the key for the the timestamp.","default":"@timestamp","type":"string"},{"name":"timestamp_format","description":"Set the format the timestamp is in.","default":null,"type":"string"},{"name":"queue_full_retries","description":"Set the number of local retries to enqueue the data.","default":"10","type":"integer"},{"name":"gelf_timestamp_key","description":"Set the timestamp key for gelf output.","default":null,"type":"string"},{"name":"gelf_host_key","description":"Set the host key for gelf output.","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Set the short message key for gelf output.","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Set the full message key for gelf output.","default":null,"type":"string"},{"name":"gelf_level_key","description":"Set the level key for gelf output.","default":null,"type":"string"},{"name":"schema_str","description":"Set AVRO schema.","default":null,"type":"string"},{"name":"schema_id","description":"Set AVRO schema ID.","default":null,"type":"string"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the kafka group_id.","default":null,"type":"prefixed string"}]}},{"type":"output","name":"kafka-rest","description":"Kafka REST Proxy","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"message_key","description":"Specify a message key. ","default":null,"type":"string"},{"name":"time_key","description":"Specify the name of the field that holds the record timestamp. ","default":null,"type":"string"},{"name":"topic","description":"Specify the kafka topic. ","default":"fluent-bit","type":"string"},{"name":"url_path","description":"Specify an optional HTTP URL path for the target web server, e.g: /something","default":null,"type":"string"},{"name":"partition","description":"Specify kafka partition number. ","default":"-1","type":"double"},{"name":"time_key_format","description":"Specify the format of the timestamp. ","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"include_tag_key","description":"Specify whether to append tag name to final record. ","default":"false","type":"boolean"},{"name":"tag_key","description":"Specify the key name of the record if include_tag_key is enabled. ","default":"_flb-key","type":"string"},{"name":"avro_http_header","description":"Specify if the format has avro header in http request","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"nats","description":"NATS Server","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"nrlogs","description":"New Relic","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"base_uri","description":"New Relic Host address","default":"https://log-api.newrelic.com/log/v1","type":"string"},{"name":"api_key","description":"New Relic API Key","default":null,"type":"string"},{"name":"license_key","description":"New Relic License Key","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism","default":"gzip","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"null","description":"Throws away events","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specifies the name of the date field in output.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"date","type":"string"}]}},{"type":"output","name":"opensearch","description":"OpenSearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in 'http_user'","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":"default","type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the OpenSearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the OpenSearch exception to stderr (for diag only)","default":"false","type":"boolean"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"oracle_log_analytics","description":"Oracle log analytics","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"config_file_location","description":"Location of the oci config file for user api key signing","default":"","type":"string"},{"name":"profile_name","description":"name of the profile in the config file from which the user configs should be loaded","default":"DEFAULT","type":"string"},{"name":"oci_config_in_record","description":"If true, oci_la_* configs will be read from the record","default":"false","type":"boolean"},{"name":"uri","description":"Set the uri for rest api request","default":null,"type":"string"},{"name":"oci_la_log_group_id","description":"log group id","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_type","description":"","default":null,"type":"string"},{"name":"oci_la_log_source_name","description":"","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_log_path","description":"","default":null,"type":"string"},{"name":"oci_la_global_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"oci_la_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"namespace","description":"namespace in your tenancy where the log objects reside","default":null,"type":"string"},{"name":"proxy","description":"define proxy if required, in http://host:port format, supports only http protocol","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"plot","description":"Generate data file for GNU Plot","properties":{"options":[{"name":"key","description":"set a number of times to generate event.","default":null,"type":"string"},{"name":"file","description":"set a number of times to generate event.","default":null,"type":"string"}]}},{"type":"output","name":"scalyr_dataset","description":"Send events to scalyr's dataset HTTP API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"token","description":"Specify the Authentication Bearer Token for the Dataset API.","default":null,"type":"string"},{"name":"server_host","description":"Specify the serverHost in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"server_type","description":"Specify the serverType in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"region","description":"Specify the region in the Scalyr sessionInfo.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"skywalking","description":"Send logs into log collector on SkyWalking OAP","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"auth_token","description":"Auth token for SkyWalking OAP","default":null,"type":"string"},{"name":"svc_name","description":"Service name","default":"sw-service","type":"string"},{"name":"svc_inst_name","description":"Instance name","default":"fluent-bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"slack","description":"Send events to a Slack channel","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"webhook","description":"","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"splunk","description":"Send events to Splunk HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"event_key","description":"Specify the key name that will be used to send a single value as part of the record.","default":null,"type":"string"},{"name":"event_host","description":"Set the host value to the event data. The value allows a record accessor pattern.","default":null,"type":"string"},{"name":"event_source","description":"Set the source value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype","description":"Set the sourcetype value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype_key","description":"Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.","default":null,"type":"string"},{"name":"event_index","description":"The name of the index by which the event data is to be indexed.","default":null,"type":"string"},{"name":"event_index_key","description":"Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.","default":null,"type":"string"},{"name":"event_field","description":"Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"splunk_token","description":"Specify the Authentication Token for the HTTP Event Collector interface.","default":null,"type":"string"},{"name":"splunk_send_raw","description":"When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.","default":"off","type":"boolean"},{"name":"channel","description":"Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stackdriver","description":"Send events to Google Stackdriver Logging","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"metadata_server","description":"Set the metadata server","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"export_to_project_id","description":"Export to project id","default":null,"type":"string"},{"name":"project_id_key","description":"Set the gcp project id key","default":"logging.googleapis.com/projectId","type":"string"},{"name":"resource","description":"Set the resource","default":"global","type":"string"},{"name":"severity_key","description":"Set the severity key","default":"logging.googleapis.com/severity","type":"string"},{"name":"autoformat_stackdriver_trace","description":"Autoformat the stackdriver trace","default":"false","type":"boolean"},{"name":"trace_key","description":"Set the trace key","default":"logging.googleapis.com/trace","type":"string"},{"name":"span_id_key","description":"Set the span id key","default":"logging.googleapis.com/spanId","type":"string"},{"name":"trace_sampled_key","description":"Set the trace sampled key","default":"logging.googleapis.com/traceSampled","type":"string"},{"name":"log_name_key","description":"Set the logname key","default":"logging.googleapis.com/logName","type":"string"},{"name":"http_request_key","description":"Set the http request key","default":"logging.googleapis.com/http_request","type":"string"},{"name":"k8s_cluster_name","description":"Set the kubernetes cluster name","default":null,"type":"string"},{"name":"k8s_cluster_location","description":"Set the kubernetes cluster location","default":null,"type":"string"},{"name":"location","description":"Set the resource location","default":null,"type":"string"},{"name":"namespace","description":"Set the resource namespace","default":null,"type":"string"},{"name":"node_id","description":"Set the resource node id","default":null,"type":"string"},{"name":"job","description":"Set the resource job","default":null,"type":"string"},{"name":"task_id","description":"Set the resource task id","default":null,"type":"string"},{"name":"compress","description":"Set log payload compression method. Option available is 'gzip'","default":null,"type":"string"},{"name":"labels","description":"Set the labels","default":null,"type":"multiple comma delimited strings"},{"name":"labels_key","description":"Set the labels key","default":"logging.googleapis.com/labels","type":"string"},{"name":"tag_prefix","description":"Set the tag prefix","default":null,"type":"string"},{"name":"stackdriver_agent","description":"Set the stackdriver agent","default":null,"type":"string"},{"name":"custom_k8s_regex","description":"Set a custom kubernetes regex filter","default":"(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$","type":"string"},{"name":"resource_labels","description":"Set the resource labels","default":null,"type":"multiple comma delimited strings"},{"name":"test_log_entry_format","description":"Test log entry format","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stdout","description":"Prints events to STDOUT","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"}]}},{"type":"output","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.","default":"udp","type":"string"},{"name":"syslog_format","description":"Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.","default":"rfc5424","type":"string"},{"name":"syslog_maxsize","description":"Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.","default":"0","type":"size"},{"name":"syslog_severity_key","description":"Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_severity_preset","description":"Specify the preset severity number. It must be 0-7. This configuration is optional.","default":"6","type":"integer"},{"name":"syslog_facility_key","description":"Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_facility_preset","description":"Specify the preset facility number. It must be 0-23. This configuration is optional.","default":"1","type":"integer"},{"name":"syslog_hostname_key","description":"Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_hostname_preset","description":"Specify the preset hostname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_key","description":"Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_preset","description":"Specify the preset appname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_key","description":"Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_preset","description":"Specify the preset procid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_key","description":"Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_preset","description":"Specify the preset msgid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_sd_key","description":"Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.","default":null,"type":"string"},{"name":"syslog_message_key","description":"Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.","default":null,"type":"string"},{"name":"allow_longer_sd_id","description":"If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"tcp","description":"TCP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"msgpack","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"udp","description":"UDP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"json_lines","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"td","description":"Treasure Data","properties":{"options":[{"name":"API","description":"Set the API key","default":null,"type":"string"},{"name":"Database","description":"Set the Database file","default":null,"type":"string"},{"name":"Table","description":"Set the Database Table","default":null,"type":"string"},{"name":"Region","description":"Set the Region: us or jp","default":null,"type":"string"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"lib","description":"Library mode Output","properties":{}},{"type":"output","name":"flowcounter","description":"FlowCounter","properties":{"options":[{"name":"unit","description":"","default":null,"type":"string"},{"name":"event_based","description":"","default":"false","type":"boolean"}]}},{"type":"output","name":"gelf","description":"GELF Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"The protocol to use. 'tls', 'tcp' or 'udp'","default":"udp","type":"string"},{"name":"gelf_short_message_key","description":"A short descriptive message (MUST be set in GELF)","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Timestamp key name (SHOULD be set in GELF)","default":null,"type":"string"},{"name":"gelf_host_key","description":"Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)","default":null,"type":"string"},{"name":"gelf_level_key","description":"Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)","default":null,"type":"string"},{"name":"packet_size","description":"If transport protocol is udp, you can set the size of packets to be sent.","default":"1420","type":"integer"},{"name":"compress","description":"If transport protocol is udp, you can set this if you want your UDP packets to be compressed.","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"websocket","description":"Websocket","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify an optional URI for the target web socket server, e.g: /something","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"cloudwatch_logs","description":"Send logs to Amazon CloudWatch","properties":{"options":[{"name":"region","description":"The AWS region to send logs to","default":null,"type":"string"},{"name":"log_group_name","description":"CloudWatch Log Group Name","default":null,"type":"string"},{"name":"log_stream_name","description":"CloudWatch Log Stream Name; not compatible with `log_stream_prefix`","default":null,"type":"string"},{"name":"log_stream_prefix","description":"Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name","default":null,"type":"string"},{"name":"log_group_template","description":"Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.","default":null,"type":"string"},{"name":"log_stream_template","description":"Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.","default":null,"type":"string"},{"name":"extra_user_agent","description":"This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.","default":null,"type":"string"},{"name":"log_format","description":"An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"auto_create_group","description":"Automatically create the log group (log streams will always automatically be created)","default":"false","type":"boolean"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"log_retention_days","description":"If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]","default":"0","type":"integer"},{"name":"endpoint","description":"Specify a custom endpoint for the CloudWatch Logs API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Specify a custom endpoint for the STS API, can be used with the role_arn parameter","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"metric_namespace","description":"Metric namespace for CloudWatch EMF logs","default":null,"type":"string"},{"name":"metric_dimensions","description":"Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_firehose","description":"Send logs to Amazon Kinesis Firehose","properties":{"options":[{"name":"region","description":"The AWS region of your delivery stream","default":null,"type":"string"},{"name":"delivery_stream","description":"Firehose delivery stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Firehose API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"compression","description":"Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_streams","description":"Send logs to Amazon Kinesis Streams","properties":{"options":[{"name":"region","description":"The AWS region of your kinesis stream","default":null,"type":"string"},{"name":"stream","description":"Kinesis stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Kinesis API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"metrics_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/metrics","type":"string"},{"name":"batch_size","description":"Set the maximum number of log records to be flushed at a time","default":"1000","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"logs_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/logs","type":"string"},{"name":"logs_body_key","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":null,"type":"string"},{"name":"logs_body_key_attributes","description":"If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.","default":"false","type":"boolean"},{"name":"traces_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/traces","type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"logs_observed_timestamp_metadata_key","description":"Specify an ObservedTimestamp key","default":"$ObservedTimestamp","type":"string"},{"name":"logs_timestamp_metadata_key","description":"Specify a Timestamp key","default":"$Timestamp","type":"string"},{"name":"logs_severity_text_metadata_key","description":"Specify a SeverityText key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_metadata_key","description":"Specify a SeverityNumber key","default":"$SeverityNumber","type":"string"},{"name":"logs_trace_flags_metadata_key","description":"Specify a TraceFlags key","default":"$TraceFlags","type":"string"},{"name":"logs_span_id_metadata_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_metadata_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_attributes_metadata_key","description":"Specify an Attributes key","default":"$Attributes","type":"string"},{"name":"logs_instrumentation_scope_metadata_key","description":"Specify an InstrumentationScope key","default":"InstrumentationScope","type":"string"},{"name":"logs_resource_metadata_key","description":"Specify a Resource key","default":"Resource","type":"string"},{"name":"logs_span_id_message_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_message_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_severity_text_message_key","description":"Specify a Severity Text key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_message_key","description":"Specify a Severity Number key","default":"$SeverityNumber","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"prometheus_exporter","description":"Prometheus Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"add_timestamp","description":"Add timestamp to every metric honoring collection time.","default":"false","type":"boolean"},{"name":"add_label","description":"TCP port for listening for HTTP connections.","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"prometheus_remote_write","description":"Prometheus remote write","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"compression","description":"Compress the payload with either snappy, gzip if set","default":"snappy","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":"aps","type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"s3","description":"Send to S3","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"aws_shared_credentials_file","description":"Path to the AWS shared credentials file.","default":"","type":"string"},{"name":"aws_config_file","description":"Path to the AWS default configuration file.","default":"","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"},{"name":"total_file_size","description":"Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB","default":"100000000","type":"size"},{"name":"upload_chunk_size","description":"This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.","default":"5242880","type":"size"},{"name":"upload_timeout","description":"Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.","default":"10m","type":"time"},{"name":"bucket","description":"S3 bucket name.","default":null,"type":"string"},{"name":"region","description":"AWS region.","default":"us-east-1","type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Custom endpoint for the S3 API.","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"canned_acl","description":"Predefined Canned ACL policy for S3 objects.","default":null,"type":"string"},{"name":"compression","description":"Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.","default":null,"type":"string"},{"name":"content_type","description":"A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.","default":null,"type":"string"},{"name":"store_dir","description":"Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.","default":"/tmp/fluent-bit/s3","type":"string"},{"name":"store_dir_limit_size","description":"S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.","default":null,"type":"size"},{"name":"s3_key_format","description":"Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.","default":"/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S","type":"string"},{"name":"s3_key_format_tag_delimiters","description":"A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.","default":".","type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"use_put_object","description":"Use the S3 PutObject API, instead of the multipart upload API","default":"false","type":"boolean"},{"name":"send_content_md5","description":"Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled","default":"false","type":"boolean"},{"name":"preserve_data_ordering","description":"Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.","default":"true","type":"boolean"},{"name":"log_key","description":"By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"static_file_path","description":"Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.","default":"false","type":"boolean"},{"name":"storage_class","description":"Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"vivo_exporter","description":"Vivo Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"empty_stream_on_read","description":"If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed","default":"off","type":"boolean"},{"name":"stream_queue_size","description":"Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.","default":"20M","type":"size"},{"name":"http_cors_allow_origin","description":"Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"chronicle","description":"Send logs to Google Chronicle as unstructured log","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"customer_id","description":"Set the customer id","default":null,"type":"string"},{"name":"log_type","description":"Set the log type","default":null,"type":"string"},{"name":"region","description":"Set the region","default":null,"type":"string"},{"name":"log_key","description":"Set the log key","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}}]} diff --git a/schemas/24.6.4/core-fluent-bit-lua-pretty.json b/schemas/24.6.4/core-fluent-bit-lua-pretty.json new file mode 100644 index 0000000..50e7a84 --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit-lua-pretty.json @@ -0,0 +1,1106 @@ +{ + "processingRules": { + "aggregate": { + "description": "Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "compute": { + "additionalProperties": { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "description": "Additional keys which will be computed for each group", + "type": "object" + }, + "keys": { + "description": "Keys which will be used for grouping", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + } + ] + }, + "type": "array" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "keys", + "window", + "compute" + ], + "type": "object" + }, + "label": "Aggregate records (preview)", + "uiSchema": { + "labels": { + "compute": "Compute keys (Should be formatted as a JSON object)", + "keys": "Select keys (Should be formatted as a JSON array of strings)", + "window": "Time window" + }, + "ordering": [ + "window", + "keys", + "compute" + ] + } + }, + "allow_keys": { + "description": "Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match allowed keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow keys" + }, + "allow_records": { + "description": "Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow records" + }, + "block_keys": { + "description": "Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match blocked keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block keys" + }, + "block_records": { + "description": "Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block records" + }, + "copy": { + "description": "Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "dst", + "src" + ], + "type": "object" + }, + "label": "Copy keys" + }, + "csv_decode": { + "description": "Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_csv", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "header": { + "default": "", + "description": "Preset header for the parsed CSV stream.", + "type": "string" + }, + "parseHeader": { + "default": false, + "type": "boolean" + }, + "src": { + "default": "log", + "description": "Source key which contains raw CSV data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode CSV", + "uiSchema": { + "labels": { + "parseHeader": "Parse header" + } + } + }, + "csv_encode": { + "description": "Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_csv", + "description": "Destination key which will receive the serialized CSV.", + "type": "string" + }, + "header": { + "description": "Preset header for the generated CSV stream", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode CSV (preview)", + "uiSchema": { + "labels": { + "header": "Header (JSON array of strings)" + } + } + }, + "custom_script": { + "description": "Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "script": { + "default": "-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n", + "description": "Lua script implemented similarly to fluent-bit Lua filters.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Custom Lua", + "uiSchema": { + "form": { + "script": "code:lua" + }, + "labels": { + "script": "Lua script" + } + } + }, + "deduplicate": { + "description": "Deduplicate records in a time window(specified in seconds), based on a single key.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key to use for deduplicating records", + "type": "string" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "key" + ], + "type": "object" + }, + "label": "Deduplicate records", + "uiSchema": { + "labels": { + "key": "Select key", + "window": "Time window" + }, + "ordering": [ + "window", + "key" + ] + } + }, + "delete": { + "description": "Delete `key` from the record.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be deleted", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Delete key" + }, + "extract_kv": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "dst", + "src", + "regex" + ], + "type": "object" + }, + "label": "Extract keys/values" + }, + "flatten": { + "description": "Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the flattened object will not be removed from the record.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Flatten subrecord", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "hash": { + "description": "Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "algo": { + "default": "sha256", + "description": "Hash algorithm", + "enum": [ + "sha256", + "md5" + ], + "type": "string" + }, + "dst": { + "description": "Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".", + "type": "string" + }, + "encoding": { + "default": "hex", + "description": "Encoding algorithm", + "enum": [ + "hex", + "binary", + "base64" + ], + "type": "string" + }, + "src": { + "description": "Source key from which will be used to compute the hash", + "type": "string" + } + }, + "required": [ + "src", + "algo", + "encoding" + ], + "type": "object" + }, + "label": "Hash key", + "uiSchema": { + "labels": { + "base64": "Base64", + "binary": "Binary", + "hex": "Hexadecimal", + "md5": "MD5", + "sha256": "SHA256" + } + } + }, + "join": { + "description": "Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains the nested array items in each split record.", + "type": "string" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not found, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Join records by tag and timestamp", + "uiSchema": { + "labels": { + "key": "Key which will be joined in an array" + } + } + }, + "json_decode": { + "description": "Decode JSON data in the key `src` into key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_json", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key which contains raw JSON data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode JSON" + }, + "json_encode": { + "description": "Encode the object in the key `src` as JSON into the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_json", + "description": "Destination key which will receive the serialized JSON.", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode JSON" + }, + "lift": { + "description": "Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the original key will not be removed from the parent.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "levels": { + "default": 1, + "description": "How many levels the keys will be lifted.", + "type": "integer" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Lift submap", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "multiline_join": { + "description": "Use regular expression to match start of a new record and join previously buffered lines together.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "lineLimit": { + "default": 1000, + "description": "Maximum number of lines to join.", + "minimum": 2, + "type": "integer" + }, + "regex": { + "description": "Regular expression to match the start of a new record.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key from which lines will be joined.", + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Multiline Join" + }, + "nest": { + "description": "Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "nested", + "description": "Destination key which will receive the nested keys.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive (regexMode only).", + "type": "boolean" + }, + "merge": { + "default": false, + "description": "If the destination map already exists, merge the nested keys.", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be interpreted as a regex.", + "type": "boolean" + }, + "src": { + "description": "Source keys which will be nested. If missing, the whole record will be nested.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Nest keys", + "uiSchema": { + "labels": { + "merge": "Merge to existing map" + } + } + }, + "parse": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "parsed", + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have named capture groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "src", + "regex" + ], + "type": "object" + }, + "label": "Parse" + }, + "parse_number": { + "description": "Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "base": { + "default": 10, + "description": "Numeric base", + "type": "integer" + }, + "key": { + "description": "Key from which a number will be extracted.", + "type": "string" + }, + "regex": { + "default": "[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)", + "description": "Regular expression used to extract number from the value.", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Parse number" + }, + "put": { + "description": "Add or Set `key` = `value`. If the key already exists, it will be overriden.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be added/updated", + "type": "string" + }, + "value": { + "description": "New value for the key", + "type": "string" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "label": "Add/Set key/value", + "uiSchema": { + "labels": { + "value": "Value" + }, + "ordering": [ + "key", + "value" + ] + } + }, + "redact": { + "description": "Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be redacted.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be redacted.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replaceChar": { + "default": "*", + "description": "Characters which will replace the value.", + "type": "string" + } + }, + "required": [ + "key", + "regex" + ], + "type": "object" + }, + "label": "Redact/mask value", + "uiSchema": { + "labels": { + "replaceChar": "Replacement characters" + }, + "ordering": [ + "key", + "regex", + "replaceChar" + ] + } + }, + "rename": { + "description": "Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "src", + "dst" + ], + "type": "object" + }, + "label": "Rename keys" + }, + "replace": { + "description": "Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be replaced.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be replaced.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replacement": { + "description": "Replacement pattern. Can reference capture groups in the `regex`.", + "type": "string" + }, + "submax": { + "description": "Maximum number of substitutions", + "type": "integer" + } + }, + "required": [ + "key", + "regex", + "replacement" + ], + "type": "object" + }, + "label": "Search/replace value", + "uiSchema": { + "labels": { + "replacement": "Replacement (can specify captures with %1, %2, ...)" + }, + "ordering": [ + "key", + "regex", + "matchCase", + "submax" + ] + } + }, + "sampling": { + "description": "Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "percentage": { + "description": "Percentage of records to be flushed", + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "seed": { + "description": "Optional seed for random number generator", + "type": "integer" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "percentage" + ], + "type": "object" + }, + "label": "Random sampling (preview)", + "uiSchema": { + "labels": { + "percentage": "Sample %", + "window": "Time window" + }, + "ordering": [ + "window", + "percentage" + ] + } + }, + "split": { + "description": "Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dest": { + "default": "", + "description": "Destination key to contain the array item. If empty, defaults to \"key\"", + "type": "string" + }, + "keepOrig": { + "default": false, + "description": "Keep \"key\" when it is different than \"dest\"", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested array.", + "type": "string" + }, + "skipEmpty": { + "default": false, + "description": "If the specified key is an empty array, don't touch the record", + "type": "boolean" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not an array, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Split record", + "uiSchema": { + "labels": { + "dest": "Destination key", + "keepOrig": "Keep original array", + "skipEmpty": "Ignore if array is empty", + "skipMissing": "Ignore if missing" + } + } + } + }, + "uiSchemaFallback": { + "errors": { + "should be integer": "Should be an integer" + }, + "labels": { + "dst": "Destination key", + "gnu": "GNU", + "key": "Key", + "matchCase": "Match case", + "onig": "Oniguruma", + "pcre2": "PCRE2", + "posix": "POSIX", + "regex": "Regex", + "regexEngine": "Regex engine", + "regexExtended": "Extended regex syntax", + "regexMode": "Regex mode", + "src": "Source key", + "tre": "TRE" + }, + "ordering": [ + "src", + "dst", + "key", + "regex", + "matchCase", + "regexEngine", + "regexExtended" + ] + }, + "version": "v0.1-dev" +} diff --git a/schemas/24.6.4/core-fluent-bit-lua.json b/schemas/24.6.4/core-fluent-bit-lua.json new file mode 100644 index 0000000..ca28c98 --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit-lua.json @@ -0,0 +1 @@ +{"processingRules":{"aggregate":{"description":"Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"compute":{"additionalProperties":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"},"description":"Additional keys which will be computed for each group","type":"object"},"keys":{"description":"Keys which will be used for grouping","items":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"}]},"type":"array"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["keys","window","compute"],"type":"object"},"label":"Aggregate records (preview)","uiSchema":{"labels":{"compute":"Compute keys (Should be formatted as a JSON object)","keys":"Select keys (Should be formatted as a JSON array of strings)","window":"Time window"},"ordering":["window","keys","compute"]}},"allow_keys":{"description":"Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match allowed keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow keys"},"allow_records":{"description":"Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow records"},"block_keys":{"description":"Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match blocked keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block keys"},"block_records":{"description":"Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block records"},"copy":{"description":"Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["dst","src"],"type":"object"},"label":"Copy keys"},"csv_decode":{"description":"Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_csv","description":"Destination key which will receive the parsed object.","type":"string"},"header":{"default":"","description":"Preset header for the parsed CSV stream.","type":"string"},"parseHeader":{"default":false,"type":"boolean"},"src":{"default":"log","description":"Source key which contains raw CSV data.","type":"string"}},"type":"object"},"label":"Decode CSV","uiSchema":{"labels":{"parseHeader":"Parse header"}}},"csv_encode":{"description":"Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_csv","description":"Destination key which will receive the serialized CSV.","type":"string"},"header":{"description":"Preset header for the generated CSV stream","type":"string"},"src":{"description":"Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.","type":"string"}},"type":"object"},"label":"Encode CSV (preview)","uiSchema":{"labels":{"header":"Header (JSON array of strings)"}}},"custom_script":{"description":"Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.","jsonSchema":{"additionalProperties":false,"properties":{"script":{"default":"-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n","description":"Lua script implemented similarly to fluent-bit Lua filters.","type":"string"}},"type":"object"},"label":"Custom Lua","uiSchema":{"form":{"script":"code:lua"},"labels":{"script":"Lua script"}}},"deduplicate":{"description":"Deduplicate records in a time window(specified in seconds), based on a single key.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key to use for deduplicating records","type":"string"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","key"],"type":"object"},"label":"Deduplicate records","uiSchema":{"labels":{"key":"Select key","window":"Time window"},"ordering":["window","key"]}},"delete":{"description":"Delete `key` from the record.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be deleted","type":"string"}},"required":["key"],"type":"object"},"label":"Delete key"},"extract_kv":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["dst","src","regex"],"type":"object"},"label":"Extract keys/values"},"flatten":{"description":"Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the flattened object will not be removed from the record.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"}},"required":["key"],"type":"object"},"label":"Flatten subrecord","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"hash":{"description":"Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"algo":{"default":"sha256","description":"Hash algorithm","enum":["sha256","md5"],"type":"string"},"dst":{"description":"Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".","type":"string"},"encoding":{"default":"hex","description":"Encoding algorithm","enum":["hex","binary","base64"],"type":"string"},"src":{"description":"Source key from which will be used to compute the hash","type":"string"}},"required":["src","algo","encoding"],"type":"object"},"label":"Hash key","uiSchema":{"labels":{"base64":"Base64","binary":"Binary","hex":"Hexadecimal","md5":"MD5","sha256":"SHA256"}}},"join":{"description":"Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains the nested array items in each split record.","type":"string"},"skipMissing":{"default":false,"description":"If the specified key is not found, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Join records by tag and timestamp","uiSchema":{"labels":{"key":"Key which will be joined in an array"}}},"json_decode":{"description":"Decode JSON data in the key `src` into key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_json","description":"Destination key which will receive the parsed object.","type":"string"},"src":{"default":"log","description":"Source key which contains raw JSON data.","type":"string"}},"type":"object"},"label":"Decode JSON"},"json_encode":{"description":"Encode the object in the key `src` as JSON into the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_json","description":"Destination key which will receive the serialized JSON.","type":"string"},"src":{"description":"Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.","type":"string"}},"type":"object"},"label":"Encode JSON"},"lift":{"description":"Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the original key will not be removed from the parent.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"levels":{"default":1,"description":"How many levels the keys will be lifted.","type":"integer"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["key"],"type":"object"},"label":"Lift submap","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"multiline_join":{"description":"Use regular expression to match start of a new record and join previously buffered lines together.","jsonSchema":{"additionalProperties":false,"properties":{"lineLimit":{"default":1000,"description":"Maximum number of lines to join.","minimum":2,"type":"integer"},"regex":{"description":"Regular expression to match the start of a new record.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"default":"log","description":"Source key from which lines will be joined.","type":"string"}},"required":["regex"],"type":"object"},"label":"Multiline Join"},"nest":{"description":"Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"nested","description":"Destination key which will receive the nested keys.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive (regexMode only).","type":"boolean"},"merge":{"default":false,"description":"If the destination map already exists, merge the nested keys.","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be interpreted as a regex.","type":"boolean"},"src":{"description":"Source keys which will be nested. If missing, the whole record will be nested.","type":"string"}},"type":"object"},"label":"Nest keys","uiSchema":{"labels":{"merge":"Merge to existing map"}}},"parse":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"parsed","description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have named capture groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["src","regex"],"type":"object"},"label":"Parse"},"parse_number":{"description":"Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.","jsonSchema":{"additionalProperties":false,"properties":{"base":{"default":10,"description":"Numeric base","type":"integer"},"key":{"description":"Key from which a number will be extracted.","type":"string"},"regex":{"default":"[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)","description":"Regular expression used to extract number from the value.","type":"string"}},"required":["key"],"type":"object"},"label":"Parse number"},"put":{"description":"Add or Set `key` = `value`. If the key already exists, it will be overriden.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be added/updated","type":"string"},"value":{"description":"New value for the key","type":"string"}},"required":["key","value"],"type":"object"},"label":"Add/Set key/value","uiSchema":{"labels":{"value":"Value"},"ordering":["key","value"]}},"redact":{"description":"Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be redacted.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be redacted.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replaceChar":{"default":"*","description":"Characters which will replace the value.","type":"string"}},"required":["key","regex"],"type":"object"},"label":"Redact/mask value","uiSchema":{"labels":{"replaceChar":"Replacement characters"},"ordering":["key","regex","replaceChar"]}},"rename":{"description":"Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["src","dst"],"type":"object"},"label":"Rename keys"},"replace":{"description":"Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be replaced.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be replaced.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replacement":{"description":"Replacement pattern. Can reference capture groups in the `regex`.","type":"string"},"submax":{"description":"Maximum number of substitutions","type":"integer"}},"required":["key","regex","replacement"],"type":"object"},"label":"Search/replace value","uiSchema":{"labels":{"replacement":"Replacement (can specify captures with %1, %2, ...)"},"ordering":["key","regex","matchCase","submax"]}},"sampling":{"description":"Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"percentage":{"description":"Percentage of records to be flushed","maximum":100,"minimum":1,"type":"integer"},"seed":{"description":"Optional seed for random number generator","type":"integer"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","percentage"],"type":"object"},"label":"Random sampling (preview)","uiSchema":{"labels":{"percentage":"Sample %","window":"Time window"},"ordering":["window","percentage"]}},"split":{"description":"Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field","jsonSchema":{"additionalProperties":false,"properties":{"dest":{"default":"","description":"Destination key to contain the array item. If empty, defaults to \"key\"","type":"string"},"keepOrig":{"default":false,"description":"Keep \"key\" when it is different than \"dest\"","type":"boolean"},"key":{"description":"Key which contains the nested array.","type":"string"},"skipEmpty":{"default":false,"description":"If the specified key is an empty array, don't touch the record","type":"boolean"},"skipMissing":{"default":false,"description":"If the specified key is not an array, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Split record","uiSchema":{"labels":{"dest":"Destination key","keepOrig":"Keep original array","skipEmpty":"Ignore if array is empty","skipMissing":"Ignore if missing"}}}},"uiSchemaFallback":{"errors":{"should be integer":"Should be an integer"},"labels":{"dst":"Destination key","gnu":"GNU","key":"Key","matchCase":"Match case","onig":"Oniguruma","pcre2":"PCRE2","posix":"POSIX","regex":"Regex","regexEngine":"Regex engine","regexExtended":"Extended regex syntax","regexMode":"Regex mode","src":"Source key","tre":"TRE"},"ordering":["src","dst","key","regex","matchCase","regexEngine","regexExtended"]},"version":"v0.1-dev"} diff --git a/schemas/24.6.4/core-fluent-bit-plugins-pretty.json b/schemas/24.6.4/core-fluent-bit-plugins-pretty.json new file mode 100644 index 0000000..7b5c0c0 --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit-plugins-pretty.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.1", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.4/core-fluent-bit-plugins.json b/schemas/24.6.4/core-fluent-bit-plugins.json new file mode 100644 index 0000000..7b5c0c0 --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit-plugins.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.1", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.4/core-fluent-bit-pretty.json b/schemas/24.6.4/core-fluent-bit-pretty.json new file mode 100644 index 0000000..bfc806a --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit-pretty.json @@ -0,0 +1,13676 @@ +{ + "fluent-bit": { + "version": "24.6.4", + "schema_version": "1", + "os": "linux" + }, + "customs": [ + { + "type": "custom", + "name": "calyptia", + "description": "Calyptia Cloud", + "properties": { + "options": [ + { + "name": "api_key", + "description": "Calyptia Cloud API Key.", + "default": null, + "type": "string" + }, + { + "name": "store_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "calyptia_host", + "description": "", + "default": "cloud-api.calyptia.com", + "type": "string" + }, + { + "name": "calyptia_port", + "description": "", + "default": "443", + "type": "string" + }, + { + "name": "calyptia_tls", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "calyptia_tls.verify", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Label to append to the generated metric.", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "machine_id", + "description": "Custom machine_id to be used when registering agent", + "default": null, + "type": "string" + }, + { + "name": "fleet_id", + "description": "Fleet id to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "fleet.config_dir", + "description": "Base path for the configuration directory.", + "default": null, + "type": "string" + }, + { + "name": "fleet.interval_sec", + "description": "Set the collector interval", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet.interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet_name", + "description": "Fleet name to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "pipeline_id", + "description": "Pipeline ID for reporting to calyptia cloud.", + "default": null, + "type": "string" + } + ] + } + } + ], + "inputs": [ + { + "type": "input", + "name": "cpu", + "description": "CPU Usage", + "properties": { + "options": [ + { + "name": "pid", + "description": "Configure a single process to measure usage via their PID", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "mem", + "description": "Memory Usage", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (subseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "pid", + "description": "Set the PID of the process to measure", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "thermal", + "description": "Thermal", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "name_regex", + "description": "Set thermal name regular expression filter", + "default": null, + "type": "string" + }, + { + "name": "type_regex", + "description": "Set thermal type regular expression filter", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kmsg", + "description": "Kernel Log Buffer", + "properties": { + "options": [ + { + "name": "prio_level", + "description": "The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.", + "default": "8", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "proc", + "description": "Check Process health", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate alerts if process is down", + "default": "false", + "type": "boolean" + }, + { + "name": "mem", + "description": "Append memory usage to record", + "default": "true", + "type": "boolean" + }, + { + "name": "fd", + "description": "Append fd count to record", + "default": "true", + "type": "boolean" + }, + { + "name": "proc_name", + "description": "Define process name to health check", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "disk", + "description": "Diskstats", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "dev_name", + "description": "Set the device name", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "systemd", + "description": "Systemd (Journal) reader", + "properties": { + "options": [ + { + "name": "path", + "description": "Set the systemd journal path", + "default": null, + "type": "string" + }, + { + "name": "max_fields", + "description": "Set the maximum fields per notification", + "default": "8000", + "type": "integer" + }, + { + "name": "max_entries", + "description": "Set the maximum entries per notification", + "default": "5000", + "type": "integer" + }, + { + "name": "systemd_filter_type", + "description": "Set the systemd filter type to either 'and' or 'or'", + "default": null, + "type": "string" + }, + { + "name": "systemd_filter", + "description": "Add a systemd filter, can be set multiple times", + "default": null, + "type": "string" + }, + { + "name": "read_from_tail", + "description": "Read the journal from the end (tail)", + "default": "false", + "type": "boolean" + }, + { + "name": "lowercase", + "description": "Lowercase the fields", + "default": "false", + "type": "boolean" + }, + { + "name": "strip_underscores", + "description": "Strip undersecores from fields", + "default": "false", + "type": "boolean" + }, + { + "name": "db.sync", + "description": "Set the database sync mode: extra, full, normal or off", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "Set the database path", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "netif", + "description": "Network Interface Usage", + "properties": { + "options": [ + { + "name": "interface", + "description": "Set the interface, eg: eth0 or enp1s0", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "verbose", + "description": "Enable verbosity", + "default": "false", + "type": "boolean" + }, + { + "name": "test_at_init", + "description": "Testing interface at initialization", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "docker", + "description": "Docker containers metrics", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "include", + "description": "A space-separated list of containers to include", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "A space-separated list of containers to exclude", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.containers", + "description": "containers directory", + "default": "/var/lib/docker/containers", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "docker_events", + "description": "Docker events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "unix_path", + "description": "Define Docker unix socket path to read events", + "default": "/var/run/docker.sock", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set buffer size to read events", + "default": "8k", + "type": "size" + }, + { + "name": "parser", + "description": "Optional parser for records, if not set, records are packages under 'key'", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the key name to store unparsed Docker events", + "default": "message", + "type": "string" + }, + { + "name": "reconnect.retry_limits", + "description": "Maximum number to retry to connect docker socket", + "default": "5", + "type": "integer" + }, + { + "name": "reconnect.retry_interval", + "description": "Retry interval to connect docker socket", + "default": "1", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "podman_metrics", + "description": "Podman metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "Scrape interval to collect the metrics of podman containers(defaults to 30s)", + "default": "30", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + }, + { + "name": "path.config", + "description": "Path to podman config file", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "Path to sysfs subsystem directory", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.procfs", + "description": "Path to proc subsystem directory", + "default": "/proc", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "process_exporter_metrics", + "description": "Process Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "process_include_pattern", + "description": "include list regular expression", + "default": ".+", + "type": "string" + }, + { + "name": "process_exclude_pattern", + "description": "exclude list regular expression", + "default": null, + "type": "string" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread", + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "node_exporter_metrics", + "description": "Node Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "collector.cpu.scrape_interval", + "description": "scrape interval to collect cpu metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.cpufreq.scrape_interval", + "description": "scrape interval to collect cpufreq metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.meminfo.scrape_interval", + "description": "scrape interval to collect meminfo metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.diskstats.scrape_interval", + "description": "scrape interval to collect diskstats metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filesystem.scrape_interval", + "description": "scrape interval to collect filesystem metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.uname.scrape_interval", + "description": "scrape interval to collect uname metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.stat.scrape_interval", + "description": "scrape interval to collect stat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.time.scrape_interval", + "description": "scrape interval to collect time metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.loadavg.scrape_interval", + "description": "scrape interval to collect loadavg metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.vmstat.scrape_interval", + "description": "scrape interval to collect vmstat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.netdev.scrape_interval", + "description": "scrape interval to collect netdev metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filefd.scrape_interval", + "description": "scrape interval to collect filefd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.textfile.scrape_interval", + "description": "scrape interval to collect textfile metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.systemd.scrape_interval", + "description": "scrape interval to collect systemd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.processes.scrape_interval", + "description": "scrape interval to collect processes metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.thermalzone.scrape_interval", + "description": "scrape interval to collect thermal zone metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.nvme.scrape_interval", + "description": "scrape interval to collect nvme metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone", + "type": "multiple comma delimited strings" + }, + { + "name": "collector.textfile.path", + "description": "Specify file path or directory to collect textfile metrics from the node.", + "default": null, + "type": "string" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys", + "type": "string" + }, + { + "name": "systemd_service_restart_metrics", + "description": "include systemd service restart metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_unit_start_time_metrics", + "description": "include systemd unit start time metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_service_task_metrics", + "description": "include systemd service task metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_pattern", + "description": "include list regular expression", + "default": null, + "type": "string" + }, + { + "name": "systemd_exclude_pattern", + "description": "exclude list regular expression", + "default": ".+\\.(automount|device|mount|scope|slice)", + "type": "string" + }, + { + "name": "filesystem.ignore_mount_point_regex", + "description": "ignore regular expression for mount points", + "default": "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)", + "type": "string" + }, + { + "name": "filesystem.ignore_filesystem_type_regex", + "description": "ignore regular expression for filesystem types", + "default": "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$", + "type": "string" + }, + { + "name": "diskstats.ignore_device_regex", + "description": "ignore regular expression for disk devices", + "default": "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kubernetes_events", + "description": "Kubernetes Events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the polling interval for each channel", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the polling interval for each channel (sub seconds)", + "default": "500000000", + "type": "integer" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_request_limit", + "description": "kubernetes limit parameter for events query, no limit applied when set to 0", + "default": "0", + "type": "integer" + }, + { + "name": "kube_retention_time", + "description": "kubernetes retention time for events. Default: 1h", + "default": "1h", + "type": "time" + }, + { + "name": "kube_namespace", + "description": "kubernetes namespace to get events from, gets event from all namespaces by default.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Deprecated. To be removed in v3.0", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of recorded kubernetes events.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kafka", + "description": "Kafka consumer input plugin", + "properties": { + "options": [ + { + "name": "poll_ms", + "description": "Interval in milliseconds to check for new messages.", + "default": "500", + "type": "integer" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the data format which will be used for parsing records.", + "default": "none", + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the librdkafka options", + "default": null, + "type": "prefixed string" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of chunk", + "default": "4M", + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "fluentbit_metrics", + "description": "Fluent Bit internal metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect the internal metrics of Fluent Bit.", + "default": "2", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "prometheus_scrape", + "description": "Scrape metrics from Prometheus Endpoint", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "scrape_interval", + "description": "Scraping interval.", + "default": "10s", + "type": "time" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "10M", + "type": "size" + }, + { + "name": "metrics_path", + "description": "Set the metrics URI endpoint, it must start with a forward slash.", + "default": "/metrics", + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "tail", + "description": "Tail files", + "properties": { + "options": [ + { + "name": "path", + "description": "pattern specifying log files or multiple ones through the use of common wildcards.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "exclude_path", + "description": "Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "key", + "description": "when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.", + "default": "log", + "type": "string" + }, + { + "name": "read_from_head", + "description": "For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.", + "default": "false", + "type": "boolean" + }, + { + "name": "refresh_interval", + "description": "interval to refresh the list of watched files expressed in seconds.", + "default": "60", + "type": "string" + }, + { + "name": "watcher_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval_nsec", + "description": "", + "default": "0", + "type": "integer" + }, + { + "name": "rotate_wait", + "description": "specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.", + "default": "5", + "type": "time" + }, + { + "name": "docker_mode", + "description": "If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.", + "default": "false", + "type": "boolean" + }, + { + "name": "docker_mode_flush", + "description": "wait period time in seconds to flush queued unfinished split lines.", + "default": "4", + "type": "integer" + }, + { + "name": "docker_mode_parser", + "description": "specify the parser name to fetch log first line for muliline log", + "default": null, + "type": "string" + }, + { + "name": "path_key", + "description": "set the 'key' name where the name of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "offset_key", + "description": "set the 'key' name where the offset of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "ignore_older", + "description": "ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.", + "default": "0", + "type": "time" + }, + { + "name": "buffer_chunk_size", + "description": "set the initial buffer size to read data from files. This value is used too to increase buffer size.", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.", + "default": "32768", + "type": "size" + }, + { + "name": "static_batch_size", + "description": "On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.", + "default": "50M", + "type": "size" + }, + { + "name": "event_batch_size", + "description": "When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).", + "default": "50M", + "type": "size" + }, + { + "name": "skip_long_lines", + "description": "if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_on_eof", + "description": "exit Fluent Bit when reaching EOF on a monitored file.", + "default": "false", + "type": "boolean" + }, + { + "name": "skip_empty_lines", + "description": "Allows to skip empty lines.", + "default": "false", + "type": "boolean" + }, + { + "name": "inotify_watcher", + "description": "set to false to use file stat watcher instead of inotify.", + "default": "true", + "type": "boolean" + }, + { + "name": "parser", + "description": "specify the parser name to process an unstructured message.", + "default": null, + "type": "string" + }, + { + "name": "tag_regex", + "description": "set a regex to extract fields from the file name and use them later to compose the Tag.", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of monitored files and it offsets.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + }, + { + "name": "db.locking", + "description": "set exclusive locking mode, increase performance but don't allow external connections to the database file.", + "default": "false", + "type": "boolean" + }, + { + "name": "db.journal_mode", + "description": "Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.", + "default": "WAL", + "type": "string" + }, + { + "name": "db.compare_filename", + "description": "This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline", + "description": "if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline_flush", + "description": "wait period time in seconds to process queued multiline messages.", + "default": "4", + "type": "time" + }, + { + "name": "parser_firstline", + "description": "name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).", + "default": null, + "type": "string" + }, + { + "name": "parser_", + "description": "optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.", + "default": null, + "type": "prefixed string" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "dummy", + "description": "Generate dummy data", + "properties": { + "options": [ + { + "name": "samples", + "description": "set a number of times to generate event.", + "default": "0", + "type": "integer" + }, + { + "name": "dummy", + "description": "set the sample record to be generated. It should be a JSON object.", + "default": "{\"message\":\"dummy\"}", + "type": "string" + }, + { + "name": "metadata", + "description": "set the sample metadata to be generated. It should be a JSON object.", + "default": "{}", + "type": "string" + }, + { + "name": "rate", + "description": "set a number of events per second.", + "default": "1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "set seconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "set nanoseconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "copies", + "description": "set the number of copies to generate per collectd.", + "default": "1", + "type": "integer" + }, + { + "name": "start_time_sec", + "description": "set a dummy base timestamp in seconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "start_time_nsec", + "description": "set a dummy base timestamp in nanoseconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "fixed_timestamp", + "description": "used a fixed timestamp, allows the message to pre-generated once.", + "default": "off", + "type": "boolean" + }, + { + "name": "flush_on_startup", + "description": "generate the first event on startup", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "head", + "description": "Head Input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the file", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the record key", + "default": "head", + "type": "string" + }, + { + "name": "buf_size", + "description": "Set the read buffer size", + "default": "256", + "type": "integer" + }, + { + "name": "split_line", + "description": "generate key/value pair per line", + "default": "false", + "type": "boolean" + }, + { + "name": "lines", + "description": "Line number to read", + "default": "0", + "type": "integer" + }, + { + "name": "add_path", + "description": "append filepath to records", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "health", + "description": "Check TCP server health", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate records when the port is down", + "default": "false", + "type": "boolean" + }, + { + "name": "add_host", + "description": "Append hostname to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "add_port", + "description": "Append port to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "http", + "description": "HTTP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "collectd", + "description": "collectd input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "typesdb", + "description": "Set the types database filename", + "default": "/usr/share/collectd/types.db", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "statsd", + "description": "StatsD input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "tag_from_uri", + "description": "If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .", + "default": "true", + "type": "boolean" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + }, + { + "name": "raw_traces", + "description": "Forward traces without processing", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "elasticsearch", + "description": "HTTP Endpoints for Elasticsearch (Bulk API)", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of buffer", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "Specify a key name for extracting as a tag", + "default": null, + "type": "string" + }, + { + "name": "meta_key", + "description": "Specify a key name for meta information", + "default": "@meta", + "type": "string" + }, + { + "name": "hostname", + "description": "Specify hostname or FQDN. This parameter is effective for sniffering node information.", + "default": "localhost", + "type": "string" + }, + { + "name": "version", + "description": "Specify returning Elasticsearch server version.", + "default": "8.0.0", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "splunk", + "description": "Input plugin for Splunk HEC payloads", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "splunk_token", + "description": "Set valid Splunk HEC tokens for the requests", + "default": null, + "type": "string" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "event_type", + "description": "Event tests for input plugins", + "properties": { + "options": [ + { + "name": "type", + "description": "Set the type of event to deliver, optionsa are: logs, metrics or traces", + "default": "logs", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the interval seconds between events generation", + "default": "2", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the nanoseconds interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "nginx_metrics", + "description": "Nginx status metrics", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "status_url", + "description": "Define URL of stub status handler", + "default": "/status", + "type": "string" + }, + { + "name": "nginx_plus", + "description": "Turn on NGINX plus mode", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "serial", + "description": "Serial input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the serial character device file name", + "default": null, + "type": "string" + }, + { + "name": "bitrate", + "description": "Set the serial bitrate (baudrate)", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set the record separator", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the serial format: json or none", + "default": null, + "type": "string" + }, + { + "name": "min_bytes", + "description": "Set the serial minimum bytes", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "stdin", + "description": "Standard Input", + "properties": { + "options": [ + { + "name": "parser", + "description": "Set and use a fluent-bit parser", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the read buffer size", + "default": null, + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "mode", + "description": "Set the socket mode: unix_tcp, unix_udp, tcp or udp", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set the path for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "Set the buffer chunk size", + "default": null, + "type": "size" + }, + { + "name": "parser", + "description": "Set the parser", + "default": null, + "type": "string" + }, + { + "name": "receive_buffer_size", + "description": "Set the socket receiving buffer size", + "default": null, + "type": "size" + }, + { + "name": "raw_message_key", + "description": "Key where the raw message will be preserved", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "exec", + "description": "Exec Input", + "properties": { + "options": [ + { + "name": "command", + "description": "Set the command to execute", + "default": null, + "type": "string" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "oneshot", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_after_oneshot", + "description": "exit fluent-bit after the command terminates in one-shot mode", + "default": "false", + "type": "boolean" + }, + { + "name": "propagate_exit_code", + "description": "propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "udp", + "description": "UDP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "exec_wasi", + "description": "Exec WASI Input", + "properties": { + "options": [ + { + "name": "wasi_path", + "description": "Set the path of WASM program to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "bool", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "tcp", + "description": "TCP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "mqtt", + "description": "MQTT, listen for Publish messages", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "payload_key", + "description": "Key where the payload will be preserved", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "lib", + "description": "Library mode Input", + "properties": {} + }, + { + "type": "input", + "name": "forward", + "description": "Fluentd in-forward", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "tag_prefix", + "description": "Prefix incoming tag with the defined value.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "security.users", + "description": "Specify username and password pairs.", + "default": null, + "type": "string" + }, + { + "name": "unix_path", + "description": "The path to unix socket to receive a Forward message.", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "The buffer memory size used to receive a Forward message.", + "default": "1024000", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "The maximum buffer memory size used to receive a Forward message.", + "default": "6144000", + "type": "size" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "random", + "description": "Random", + "properties": { + "options": [ + { + "name": "samples", + "description": "Number of samples to send, -1 for infinite", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + } + ], + "filters": [ + { + "type": "filter", + "name": "alter_size", + "description": "Alter incoming chunk size", + "properties": { + "options": [ + { + "name": "add", + "description": "add N records to the chunk", + "default": "0", + "type": "integer" + }, + { + "name": "remove", + "description": "remove N records from the chunk", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "aws", + "description": "Add AWS Metadata", + "properties": { + "options": [ + { + "name": "imds_version", + "description": "Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.", + "default": "v2", + "type": "string" + }, + { + "name": "az", + "description": "Enable EC2 instance availability zone", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_id", + "description": "Enable EC2 instance ID", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_type", + "description": "Enable EC2 instance type", + "default": "false", + "type": "boolean" + }, + { + "name": "private_ip", + "description": "Enable EC2 instance private IP", + "default": "false", + "type": "boolean" + }, + { + "name": "vpc_id", + "description": "Enable EC2 instance VPC ID", + "default": "false", + "type": "boolean" + }, + { + "name": "ami_id", + "description": "Enable EC2 instance Image ID", + "default": "false", + "type": "boolean" + }, + { + "name": "account_id", + "description": "Enable EC2 instance Account ID", + "default": "false", + "type": "boolean" + }, + { + "name": "hostname", + "description": "Enable EC2 instance hostname", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_enabled", + "description": "Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_include", + "description": "Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"", + "default": "", + "type": "string" + }, + { + "name": "tags_exclude", + "description": "Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails", + "default": "", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "checklist", + "description": "Check records and flag them", + "properties": { + "options": [ + { + "name": "file", + "description": "Specify the file that contains the patterns to lookup.", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the check mode: 'exact' or 'partial'.", + "default": "exact", + "type": "string" + }, + { + "name": "print_query_time", + "description": "Print to stdout the elapseed query time for every matched record", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_case", + "description": "Compare strings by ignoring case.", + "default": "false", + "type": "boolean" + }, + { + "name": "lookup_key", + "description": "Name of the key to lookup.", + "default": "log", + "type": "string" + }, + { + "name": "record", + "description": "Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ] + } + }, + { + "type": "filter", + "name": "ecs", + "description": "Add AWS ECS Metadata", + "properties": { + "options": [ + { + "name": "add", + "description": "Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.", + "default": null, + "type": "string" + }, + { + "name": "ecs_tag_prefix", + "description": "This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).", + "default": "", + "type": "string" + }, + { + "name": "cluster_metadata_only", + "description": "Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).", + "default": "false", + "type": "boolean" + }, + { + "name": "ecs_meta_cache_ttl", + "description": "Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.", + "default": "3600", + "type": "time" + }, + { + "name": "ecs_meta_host", + "description": "The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "ecs_meta_port", + "description": "The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678", + "default": "51678", + "type": "integer" + }, + { + "name": "agent_endpoint_retries", + "description": "Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.", + "default": "2", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "record_modifier", + "description": "modify record", + "properties": { + "options": [ + { + "name": "record", + "description": "Append fields. This parameter needs key and value pair.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "remove_key", + "description": "If the key is matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "allowlist_key", + "description": "If the key is not matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "whitelist_key", + "description": "(Alias of allowlist_key)", + "default": null, + "type": "string" + }, + { + "name": "uuid_key", + "description": "If set, the plugin generates uuid per record.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "sysinfo", + "description": "Filter for system info", + "properties": { + "options": [ + { + "name": "fluentbit_version_key", + "description": "Specify the key name for fluent-bit version.", + "default": null, + "type": "string" + }, + { + "name": "os_name_key", + "description": "Specify the key name for os name. e.g. linux, win64 or macos.", + "default": null, + "type": "string" + }, + { + "name": "hostname_key", + "description": "Specify the key name for hostname.", + "default": null, + "type": "string" + }, + { + "name": "os_version_key", + "description": "Specify the key name for os version. It is not supported on some platforms.", + "default": null, + "type": "string" + }, + { + "name": "kernel_version_key", + "description": "Specify the key name for kernel version. It is not supported on some platforms.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "throttle", + "description": "Throttle messages using sliding window algorithm", + "properties": { + "options": [ + { + "name": "rate", + "description": "Set throttle rate", + "default": "1", + "type": "double" + }, + { + "name": "window", + "description": "Set throttle window", + "default": "5", + "type": "integer" + }, + { + "name": "print_status", + "description": "Set whether or not to print status information", + "default": "false", + "type": "boolean" + }, + { + "name": "interval", + "description": "Set the slide interval", + "default": "1", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "type_converter", + "description": "Data type converter", + "properties": { + "options": [ + { + "name": "int_key", + "description": "Convert integer to other type. e.g. int_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "uint_key", + "description": "Convert unsinged integer to other type. e.g. uint_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "float_key", + "description": "Convert float to other type. e.g. float_key ratio id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "str_key", + "description": "Convert string to other type. e.g. str_key id id_val integer", + "default": null, + "type": "space delimited strings (minimum 3)" + } + ] + } + }, + { + "type": "filter", + "name": "kubernetes", + "description": "Filter to append Kubernetes metadata", + "properties": { + "options": [ + { + "name": "buffer_size", + "description": "buffer size to receive response from API server", + "default": "32K", + "type": "size" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "merge_log", + "description": "merge 'log' key content as individual keys", + "default": "false", + "type": "boolean" + }, + { + "name": "merge_parser", + "description": "specify a 'parser' name to parse the 'log' key content", + "default": null, + "type": "string" + }, + { + "name": "merge_log_key", + "description": "set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled", + "default": null, + "type": "string" + }, + { + "name": "merge_log_trim", + "description": "remove ending '\\n' or '\\r' characters from the log content", + "default": "true", + "type": "boolean" + }, + { + "name": "keep_log", + "description": "keep original log content if it was successfully parsed and merged", + "default": "true", + "type": "boolean" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "kube_meta_preload_cache_dir", + "description": "set directory with metadata files", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_tag_prefix", + "description": "prefix used in tag by the input plugin", + "default": "kube.var.log.containers.", + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_command", + "description": "command to get Kubernetes authorization token", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "include Kubernetes labels on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "annotations", + "description": "include Kubernetes annotations on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "namespace_labels", + "description": "include Kubernetes namespace labels on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_annotations", + "description": "include Kubernetes namespace annotations on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_metadata_only", + "description": "ignore pod metadata entirely and only fetch namespace metadata", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.parser", + "description": "allow Pods to suggest a parser", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.exclude", + "description": "allow Pods to exclude themselves from the logging pipeline", + "default": "false", + "type": "boolean" + }, + { + "name": "use_journal", + "description": "use Journald (Systemd) mode", + "default": "false", + "type": "boolean" + }, + { + "name": "regex_parser", + "description": "optional regex parser to extract metadata from container name or container log file name", + "default": null, + "type": "string" + }, + { + "name": "dummy_meta", + "description": "use 'dummy' metadata, do not talk to API server", + "default": "false", + "type": "boolean" + }, + { + "name": "dns_retries", + "description": "dns lookup retries N times until the network start working", + "default": "6", + "type": "integer" + }, + { + "name": "dns_wait_time", + "description": "dns interval between network status checks", + "default": "30", + "type": "time" + }, + { + "name": "cache_use_docker_id", + "description": "fetch K8s meta when docker_id is changed", + "default": "false", + "type": "boolean" + }, + { + "name": "use_tag_for_meta", + "description": "use tag associated to retrieve metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "use_kubelet", + "description": "use kubelet to get metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "kubelet_host", + "description": "kubelet host to connect with when using kubelet", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "kubelet_port", + "description": "kubelet port to connect with when using kubelet", + "default": "10250", + "type": "integer" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_meta_cache_ttl", + "description": "configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted", + "default": "0", + "type": "time" + }, + { + "name": "kube_meta_namespace_cache_ttl", + "description": "configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.", + "default": "15m", + "type": "time" + } + ] + } + }, + { + "type": "filter", + "name": "modify", + "description": "modify records by applying rules", + "properties": { + "options": [ + { + "name": "Set", + "description": "Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.", + "default": null, + "type": "string" + }, + { + "name": "Add", + "description": "Add a key/value pair with key KEY and value VALUE if KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Remove", + "description": "Remove a key/value pair with key KEY if it exists", + "default": null, + "type": "string" + }, + { + "name": "Remove_wildcard", + "description": "Remove all key/value pairs with key matching wildcard KEY", + "default": null, + "type": "string" + }, + { + "name": "Remove_regex", + "description": "Remove all key/value pairs with key matching regexp KEY", + "default": null, + "type": "string" + }, + { + "name": "Move_To_Start", + "description": "Move key/value pairs with keys matching KEY to the start of the message", + "default": null, + "type": "string" + }, + { + "name": "Move_To_End", + "description": "Move key/value pairs with keys matching KEY to the end of the message", + "default": null, + "type": "string" + }, + { + "name": "Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Condition", + "description": "Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "multiline", + "description": "Concatenate multiline messages", + "properties": { + "options": [ + { + "name": "debug_flush", + "description": "enable debugging for concatenation flush to stdout", + "default": "false", + "type": "boolean" + }, + { + "name": "buffer", + "description": "Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.", + "default": "true", + "type": "boolean" + }, + { + "name": "mode", + "description": "Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.", + "default": "parser", + "type": "string" + }, + { + "name": "flush_ms", + "description": "Flush time for pending multiline records", + "default": "2000", + "type": "integer" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "multiline.key_content", + "description": "specify the key name that holds the content to process.", + "default": null, + "type": "string" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "nest", + "description": "nest events by specified field values", + "properties": { + "options": [ + { + "name": "Operation", + "description": "Select the operation nest or lift", + "default": null, + "type": "string" + }, + { + "name": "Wildcard", + "description": "Nest records which field matches the wildcard", + "default": null, + "type": "string" + }, + { + "name": "Nest_under", + "description": "Nest records matching the Wildcard under this key", + "default": null, + "type": "string" + }, + { + "name": "Nested_under", + "description": "Lift records nested under the Nested_under key", + "default": null, + "type": "string" + }, + { + "name": "Add_prefix", + "description": "Prefix affected keys with this string", + "default": null, + "type": "string" + }, + { + "name": "Remove_prefix", + "description": "Remove prefix from affected keys if it matches this string", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "parser", + "description": "Parse events", + "properties": { + "options": [ + { + "name": "Key_Name", + "description": "Specify field name in record to parse.", + "default": null, + "type": "string" + }, + { + "name": "Parser", + "description": "Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).", + "default": null, + "type": "string" + }, + { + "name": "Preserve_Key", + "description": "Keep original Key_Name field in the parsed result. If false, the field will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Reserve_Data", + "description": "Keep all other original fields in the parsed result. If false, all other original fields will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Unescape_key", + "description": "(deprecated)", + "default": null, + "type": "deprecated" + } + ] + } + }, + { + "type": "filter", + "name": "expect", + "description": "Validate expected keys and values", + "properties": { + "options": [ + { + "name": "key_exists", + "description": "check that the given key name exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_not_exists", + "description": "check that the given key name do not exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_null", + "description": "check that the value of the key is NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_not_null", + "description": "check that the value of the key is NOT NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_eq", + "description": "check that the value of the key equals the given value", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "action", + "description": "action to take when a rule does not match: 'warn', 'exit' or 'result_key'.", + "default": "warn", + "type": "string" + }, + { + "name": "result_key", + "description": "specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.", + "default": "matched", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "grep", + "description": "grep events by specified field values", + "properties": { + "options": [ + { + "name": "regex", + "description": "Keep records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Exclude records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "logical_op", + "description": "Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.", + "default": "legacy", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "rewrite_tag", + "description": "Rewrite records tags", + "properties": { + "options": [ + { + "name": "rule", + "description": "", + "default": null, + "type": "space delimited strings (minimum 4)" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "log_to_metrics", + "description": "generate log derived metrics", + "properties": { + "options": [ + { + "name": "regex", + "description": "Optional filter for records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Optional filter for records in which the content of KEY does not matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "metric_mode", + "description": "Mode selector. Values counter, gauge, or histogram. Summary is not supported", + "default": "counter", + "type": "string" + }, + { + "name": "value_field", + "description": "Numeric field to use for gauge or histogram", + "default": null, + "type": "string" + }, + { + "name": "metric_name", + "description": "Name of metric", + "default": null, + "type": "string" + }, + { + "name": "metric_description", + "description": "Help text for metric", + "default": null, + "type": "string" + }, + { + "name": "kubernetes_mode", + "description": "Enable kubernetes log metric fields", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Add a label to the metric by supporting record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "label_field", + "description": "Specify message field that should be included in the metric", + "default": null, + "type": "string" + }, + { + "name": "bucket", + "description": "Specify bucket for histogram metric", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Metric Tag", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "lua", + "description": "Lua Scripting Filter", + "properties": { + "options": [ + { + "name": "script", + "description": "The path of lua script.", + "default": null, + "type": "string" + }, + { + "name": "code", + "description": "String that contains the Lua script source code", + "default": null, + "type": "string" + }, + { + "name": "call", + "description": "Lua function name that will be triggered to do filtering.", + "default": null, + "type": "string" + }, + { + "name": "type_int_key", + "description": "If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "type_array_key", + "description": "If these keys are matched, the fields are converted to array. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "protected_mode", + "description": "If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_as_table", + "description": "If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.", + "default": "false", + "type": "boolean" + }, + { + "name": "enable_flb_null", + "description": "If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "filter", + "name": "stdout", + "description": "Filter events to STDOUT", + "properties": { + "options": [] + } + }, + { + "type": "filter", + "name": "geoip2", + "description": "add geoip information to records", + "properties": { + "options": [ + { + "name": "database", + "description": "Set the geoip2 database path", + "default": null, + "type": "string" + }, + { + "name": "lookup_key", + "description": "Add a lookup_key", + "default": null, + "type": "string" + }, + { + "name": "record", + "description": "Add a record to the output base on geoip2", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "nightfall", + "description": "scans records for sensitive content", + "properties": { + "options": [ + { + "name": "nightfall_api_key", + "description": "The Nightfall API key to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "policy_id", + "description": "The Nightfall policy ID to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "sampling_rate", + "description": "The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.", + "default": "1", + "type": "double" + }, + { + "name": "tls.debug", + "description": "Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "Enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "Set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Path to root certificates on the system", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "wasm", + "description": "WASM program filter", + "properties": { + "options": [ + { + "name": "event_format", + "description": "Sepecify the ingesting event format for wasm program", + "default": null, + "type": "string" + }, + { + "name": "wasm_path", + "description": "Set the wasm path to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "function_name", + "description": "Set the function name in wasm to execute", + "default": null, + "type": "string" + } + ] + } + } + ], + "outputs": [ + { + "type": "output", + "name": "azure", + "description": "Send events to Azure HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "customer_id", + "description": "Customer ID or WorkspaceID string.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "The primary or the secondary Connected Sources client authentication key.", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "The name of the event type.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "log_type_key", + "description": "If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Optional parameter to specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_blob", + "description": "Azure Blob Storage", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "account_name", + "description": "Azure account name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "container_name", + "description": "Container name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "auto_create_container", + "description": "Auto create container if it don't exists", + "default": "true", + "type": "boolean" + }, + { + "name": "blob_type", + "description": "Set the block type: appendblob or blockblob", + "default": "appendblob", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "compress_blob", + "description": "Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type", + "default": "false", + "type": "boolean" + }, + { + "name": "emulator_mode", + "description": "Use emulator mode, enable it if you want to use Azurite", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Azure shared key", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom full URL endpoint to use an emulator", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set a path for your blob", + "default": null, + "type": "string" + }, + { + "name": "date_key", + "description": "Name of the key that will have the record timestamp", + "default": "@timestamp", + "type": "string" + }, + { + "name": "auth_type", + "description": "Set the auth type: key or sas", + "default": "key", + "type": "string" + }, + { + "name": "sas_token", + "description": "Azure Blob SAS token", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_logs_ingestion", + "description": "Send logs to Log Analytics with Log Ingestion API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client/app ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "dce_url", + "description": "Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)", + "default": null, + "type": "string" + }, + { + "name": "dcr_id", + "description": "Data Collection Rule (DCR) immutable ID", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "The name of the custom log table, including '_CL' suffix", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "[Optional] Specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Enable HTTP payload compression (gzip).", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_kusto", + "description": "Send events to Kusto (Azure Data Explorer)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client ID (Application ID) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret (Application Password) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "ingestion_endpoint", + "description": "Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)", + "default": null, + "type": "string" + }, + { + "name": "database_name", + "description": "Set the database name", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "Set the table name", + "default": null, + "type": "string" + }, + { + "name": "ingestion_mapping_reference", + "description": "Set the ingestion mapping reference", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "The key name of event payload", + "default": "log", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tag", + "type": "string" + }, + { + "name": "include_time_key", + "description": "If enabled, time is appended to output. The key name is used 'time_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_key", + "description": "The key name of the time. If 'include_time_key' is false, This property is ignored", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "bigquery", + "description": "Send events to BigQuery via streaming insert", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "enable_identity_federation", + "description": "Enable identity federation", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "Enable identity federation", + "default": null, + "type": "string" + }, + { + "name": "project_number", + "description": "Set project number", + "default": null, + "type": "string" + }, + { + "name": "pool_id", + "description": "Set the pool id", + "default": null, + "type": "string" + }, + { + "name": "provider_id", + "description": "Set the provider id", + "default": null, + "type": "string" + }, + { + "name": "google_service_account", + "description": "Set the google service account", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "dataset_id", + "description": "Set the dataset id", + "default": null, + "type": "string" + }, + { + "name": "table_id", + "description": "Set the table id", + "default": null, + "type": "string" + }, + { + "name": "skip_invalid_rows", + "description": "Enable skipping of invalid rows", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_unknown_values", + "description": "Enable ignoring unknown value", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "counter", + "description": "Records counter", + "properties": { + "options": [] + } + }, + { + "type": "output", + "name": "datadog", + "description": "Send events to DataDog HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.", + "default": "false", + "type": "string" + }, + { + "name": "apikey", + "description": "Datadog API key", + "default": null, + "type": "string" + }, + { + "name": "dd_service", + "description": "The human readable name for your service generating the logs - the name of your application or database.", + "default": null, + "type": "string" + }, + { + "name": "dd_source", + "description": "A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.", + "default": null, + "type": "string" + }, + { + "name": "dd_tags", + "description": "The tags you want to assign to your logs in Datadog.", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.", + "default": null, + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tagkey", + "type": "string" + }, + { + "name": "dd_message_key", + "description": "By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.", + "default": null, + "type": "string" + }, + { + "name": "provider", + "description": "To activate the remapping, specify configuration flag provider with value 'ecs'", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Date key name for output.", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "es", + "description": "Elasticsearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for Elastic X-Pack access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in HTTP_User", + "default": "", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "cloud_id", + "description": "Elastic cloud ID of the cluster to connect to", + "default": null, + "type": "string" + }, + { + "name": "cloud_auth", + "description": "Elastic cloud authentication credentials", + "default": null, + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the Elasticsearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the Elasticsearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "exit", + "description": "Exit after a number of flushes (test purposes)", + "properties": { + "options": [ + { + "name": "flush_count", + "description": "", + "default": "1", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "file", + "description": "Generate log file", + "properties": { + "options": [ + { + "name": "path", + "description": "Absolute path to store the files. This parameter is optional", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "Name of the target file to write the records. If 'path' is specified, the value is prefixed", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json", + "default": null, + "type": "string" + }, + { + "name": "delimiter", + "description": "Set a custom delimiter for the records", + "default": null, + "type": "string" + }, + { + "name": "label_delimiter", + "description": "Set a custom label delimiter, to be used with 'ltsv' format", + "default": null, + "type": "string" + }, + { + "name": "template", + "description": "Set a custom template format for the data", + "default": "{time} {message}", + "type": "string" + }, + { + "name": "csv_column_names", + "description": "Add column names (keys) in the first line of the target file", + "default": "false", + "type": "boolean" + }, + { + "name": "mkdir", + "description": "Recursively create output directory if it does not exist. Permissions set to 0755", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "forward", + "description": "Forward (Fluentd protocol)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "time_as_integer", + "description": "Set timestamp in integer format (compat mode for old Fluentd v0.12)", + "default": "false", + "type": "boolean" + }, + { + "name": "retain_metadata_in_forward_mode", + "description": "Retain metadata when operating in forward mode", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "empty_shared_key", + "description": "Set an empty shared key for authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "send_options", + "description": "Send 'forward protocol options' to remote endpoint", + "default": "false", + "type": "boolean" + }, + { + "name": "require_ack_response", + "description": "Require that remote endpoint confirms data reception", + "default": "false", + "type": "boolean" + }, + { + "name": "username", + "description": "Username for authentication", + "default": "", + "type": "string" + }, + { + "name": "password", + "description": "Password for authentication", + "default": "", + "type": "string" + }, + { + "name": "unix_path", + "description": "Path to unix socket. It is ignored when 'upstream' property is set", + "default": null, + "type": "string" + }, + { + "name": "upstream", + "description": "Path to 'upstream' configuration file (define multiple nodes)", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Set a custom Tag for the outgoing records", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Compression mode", + "default": null, + "type": "string" + }, + { + "name": "fluentd_compat", + "description": "Send metrics and traces with Fluentd compatible format", + "default": "false", + "type": "boolean" + }, + { + "name": "add_option", + "description": "Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "http", + "description": "HTTP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "allow_duplicated_headers", + "description": "Specify if duplicated headers are allowed or not", + "default": "true", + "type": "boolean" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": null, + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header_tag", + "description": "Set a HTTP header which value is the Tag", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": "json", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Specify the key to use for 'timestamp' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Specify the key to use for the 'host' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Specify the key to use as the 'short' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Specify the key to use for the 'full' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Specify the key to use for the 'level' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "body_key", + "description": "Specify the key which contains the body", + "default": null, + "type": "string" + }, + { + "name": "headers_key", + "description": "Specify the key which contains the headers", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "influxdb", + "description": "InfluxDB Time Series", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "database", + "description": "Set the database name.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "bucket", + "description": "Specify the bucket name, used on InfluxDB API v2.", + "default": null, + "type": "string" + }, + { + "name": "org", + "description": "Set the Organization name.", + "default": "fluent", + "type": "string" + }, + { + "name": "sequence_tag", + "description": "Specify the sequence tag.", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom URI endpoint (must start with '/').", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "HTTP Basic Auth username.", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "HTTP Basic Auth password.", + "default": "", + "type": "string" + }, + { + "name": "http_token", + "description": "Set InfluxDB HTTP Token API v2.", + "default": null, + "type": "string" + }, + { + "name": "http_header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "auto_tags", + "description": "Automatically tag keys where value is string.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_keys", + "description": "Space separated list of keys that needs to be tagged.", + "default": null, + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "logdna", + "description": "LogDNA", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "logdna_host", + "description": "LogDNA Host address", + "default": "logs.logdna.com", + "type": "string" + }, + { + "name": "logdna_port", + "description": "LogDNA TCP port", + "default": "443", + "type": "integer" + }, + { + "name": "api_key", + "description": "Logdna API key", + "default": null, + "type": "string" + }, + { + "name": "hostname", + "description": "Local Server or device host name", + "default": null, + "type": "string" + }, + { + "name": "mac", + "description": "MAC address (optional)", + "default": "", + "type": "string" + }, + { + "name": "ip", + "description": "IP address (optional)", + "default": "", + "type": "string" + }, + { + "name": "tags", + "description": "Tags (optional)", + "default": "", + "type": "multiple comma delimited strings" + }, + { + "name": "file", + "description": "Name of the monitored file (optional)", + "default": null, + "type": "string" + }, + { + "name": "app", + "description": "Name of the application generating the data (optional)", + "default": "Fluent Bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "loki", + "description": "Loki", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom HTTP URI. It must start with forward slash.", + "default": "/loki/api/v1/push", + "type": "string" + }, + { + "name": "tenant_id", + "description": "Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.", + "default": null, + "type": "string" + }, + { + "name": "tenant_id_key", + "description": "If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "labels for API requests. If no value is set, the default label is 'job=fluent-bit'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "auto_kubernetes_labels", + "description": "If set to true, it will add all Kubernetes labels to Loki labels.", + "default": "false", + "type": "boolean" + }, + { + "name": "drop_single_key", + "description": "If set to true and only a single key remains, the log line sent to Loki will be the value of that key.", + "default": "false", + "type": "boolean" + }, + { + "name": "label_keys", + "description": "Comma separated list of keys to use as stream labels.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "remove_keys", + "description": "Comma separated list of keys to remove.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "line_format", + "description": "Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.", + "default": "json", + "type": "string" + }, + { + "name": "label_map_path", + "description": "A label map file path", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kafka", + "description": "Kafka", + "properties": { + "options": [ + { + "name": "topic_key", + "description": "Which record to use as the kafka topic.", + "default": null, + "type": "string" + }, + { + "name": "dynamic_topic", + "description": "Activate dynamic topics.", + "default": "false", + "type": "boolean" + }, + { + "name": "format", + "description": "Set the record output format.", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Which record key to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "message_key_field", + "description": "Which record key field to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Set the key for the the timestamp.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "timestamp_format", + "description": "Set the format the timestamp is in.", + "default": null, + "type": "string" + }, + { + "name": "queue_full_retries", + "description": "Set the number of local retries to enqueue the data.", + "default": "10", + "type": "integer" + }, + { + "name": "gelf_timestamp_key", + "description": "Set the timestamp key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Set the host key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Set the short message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Set the full message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Set the level key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "schema_str", + "description": "Set AVRO schema.", + "default": null, + "type": "string" + }, + { + "name": "schema_id", + "description": "Set AVRO schema ID.", + "default": null, + "type": "string" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the kafka group_id.", + "default": null, + "type": "prefixed string" + } + ] + } + }, + { + "type": "output", + "name": "kafka-rest", + "description": "Kafka REST Proxy", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Specify a message key. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Specify the name of the field that holds the record timestamp. ", + "default": null, + "type": "string" + }, + { + "name": "topic", + "description": "Specify the kafka topic. ", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "url_path", + "description": "Specify an optional HTTP URL path for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "partition", + "description": "Specify kafka partition number. ", + "default": "-1", + "type": "double" + }, + { + "name": "time_key_format", + "description": "Specify the format of the timestamp. ", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "Specify whether to append tag name to final record. ", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "Specify the key name of the record if include_tag_key is enabled. ", + "default": "_flb-key", + "type": "string" + }, + { + "name": "avro_http_header", + "description": "Specify if the format has avro header in http request", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "nats", + "description": "NATS Server", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "nrlogs", + "description": "New Relic", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "base_uri", + "description": "New Relic Host address", + "default": "https://log-api.newrelic.com/log/v1", + "type": "string" + }, + { + "name": "api_key", + "description": "New Relic API Key", + "default": null, + "type": "string" + }, + { + "name": "license_key", + "description": "New Relic License Key", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism", + "default": "gzip", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "null", + "description": "Throws away events", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specifies the name of the date field in output.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opensearch", + "description": "OpenSearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in 'http_user'", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": "default", + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the OpenSearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the OpenSearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "oracle_log_analytics", + "description": "Oracle log analytics", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "config_file_location", + "description": "Location of the oci config file for user api key signing", + "default": "", + "type": "string" + }, + { + "name": "profile_name", + "description": "name of the profile in the config file from which the user configs should be loaded", + "default": "DEFAULT", + "type": "string" + }, + { + "name": "oci_config_in_record", + "description": "If true, oci_la_* configs will be read from the record", + "default": "false", + "type": "boolean" + }, + { + "name": "uri", + "description": "Set the uri for rest api request", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_group_id", + "description": "log group id", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_type", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_source_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_global_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "oci_la_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "namespace", + "description": "namespace in your tenancy where the log objects reside", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "define proxy if required, in http://host:port format, supports only http protocol", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "plot", + "description": "Generate data file for GNU Plot", + "properties": { + "options": [ + { + "name": "key", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "scalyr_dataset", + "description": "Send events to scalyr's dataset HTTP API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "token", + "description": "Specify the Authentication Bearer Token for the Dataset API.", + "default": null, + "type": "string" + }, + { + "name": "server_host", + "description": "Specify the serverHost in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "server_type", + "description": "Specify the serverType in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Specify the region in the Scalyr sessionInfo.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "skywalking", + "description": "Send logs into log collector on SkyWalking OAP", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "auth_token", + "description": "Auth token for SkyWalking OAP", + "default": null, + "type": "string" + }, + { + "name": "svc_name", + "description": "Service name", + "default": "sw-service", + "type": "string" + }, + { + "name": "svc_inst_name", + "description": "Instance name", + "default": "fluent-bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "slack", + "description": "Send events to a Slack channel", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "webhook", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "splunk", + "description": "Send events to Splunk HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "event_key", + "description": "Specify the key name that will be used to send a single value as part of the record.", + "default": null, + "type": "string" + }, + { + "name": "event_host", + "description": "Set the host value to the event data. The value allows a record accessor pattern.", + "default": null, + "type": "string" + }, + { + "name": "event_source", + "description": "Set the source value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype", + "description": "Set the sourcetype value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype_key", + "description": "Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.", + "default": null, + "type": "string" + }, + { + "name": "event_index", + "description": "The name of the index by which the event data is to be indexed.", + "default": null, + "type": "string" + }, + { + "name": "event_index_key", + "description": "Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.", + "default": null, + "type": "string" + }, + { + "name": "event_field", + "description": "Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "splunk_token", + "description": "Specify the Authentication Token for the HTTP Event Collector interface.", + "default": null, + "type": "string" + }, + { + "name": "splunk_send_raw", + "description": "When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.", + "default": "off", + "type": "boolean" + }, + { + "name": "channel", + "description": "Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stackdriver", + "description": "Send events to Google Stackdriver Logging", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "metadata_server", + "description": "Set the metadata server", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "export_to_project_id", + "description": "Export to project id", + "default": null, + "type": "string" + }, + { + "name": "project_id_key", + "description": "Set the gcp project id key", + "default": "logging.googleapis.com/projectId", + "type": "string" + }, + { + "name": "resource", + "description": "Set the resource", + "default": "global", + "type": "string" + }, + { + "name": "severity_key", + "description": "Set the severity key", + "default": "logging.googleapis.com/severity", + "type": "string" + }, + { + "name": "autoformat_stackdriver_trace", + "description": "Autoformat the stackdriver trace", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_key", + "description": "Set the trace key", + "default": "logging.googleapis.com/trace", + "type": "string" + }, + { + "name": "span_id_key", + "description": "Set the span id key", + "default": "logging.googleapis.com/spanId", + "type": "string" + }, + { + "name": "trace_sampled_key", + "description": "Set the trace sampled key", + "default": "logging.googleapis.com/traceSampled", + "type": "string" + }, + { + "name": "log_name_key", + "description": "Set the logname key", + "default": "logging.googleapis.com/logName", + "type": "string" + }, + { + "name": "http_request_key", + "description": "Set the http request key", + "default": "logging.googleapis.com/http_request", + "type": "string" + }, + { + "name": "k8s_cluster_name", + "description": "Set the kubernetes cluster name", + "default": null, + "type": "string" + }, + { + "name": "k8s_cluster_location", + "description": "Set the kubernetes cluster location", + "default": null, + "type": "string" + }, + { + "name": "location", + "description": "Set the resource location", + "default": null, + "type": "string" + }, + { + "name": "namespace", + "description": "Set the resource namespace", + "default": null, + "type": "string" + }, + { + "name": "node_id", + "description": "Set the resource node id", + "default": null, + "type": "string" + }, + { + "name": "job", + "description": "Set the resource job", + "default": null, + "type": "string" + }, + { + "name": "task_id", + "description": "Set the resource task id", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set log payload compression method. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "Set the labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "labels_key", + "description": "Set the labels key", + "default": "logging.googleapis.com/labels", + "type": "string" + }, + { + "name": "tag_prefix", + "description": "Set the tag prefix", + "default": null, + "type": "string" + }, + { + "name": "stackdriver_agent", + "description": "Set the stackdriver agent", + "default": null, + "type": "string" + }, + { + "name": "custom_k8s_regex", + "description": "Set a custom kubernetes regex filter", + "default": "(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$", + "type": "string" + }, + { + "name": "resource_labels", + "description": "Set the resource labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "test_log_entry_format", + "description": "Test log entry format", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stdout", + "description": "Prints events to STDOUT", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.", + "default": "udp", + "type": "string" + }, + { + "name": "syslog_format", + "description": "Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.", + "default": "rfc5424", + "type": "string" + }, + { + "name": "syslog_maxsize", + "description": "Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.", + "default": "0", + "type": "size" + }, + { + "name": "syslog_severity_key", + "description": "Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_severity_preset", + "description": "Specify the preset severity number. It must be 0-7. This configuration is optional.", + "default": "6", + "type": "integer" + }, + { + "name": "syslog_facility_key", + "description": "Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_facility_preset", + "description": "Specify the preset facility number. It must be 0-23. This configuration is optional.", + "default": "1", + "type": "integer" + }, + { + "name": "syslog_hostname_key", + "description": "Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_hostname_preset", + "description": "Specify the preset hostname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_key", + "description": "Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_preset", + "description": "Specify the preset appname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_key", + "description": "Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_preset", + "description": "Specify the preset procid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_key", + "description": "Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_preset", + "description": "Specify the preset msgid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_sd_key", + "description": "Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.", + "default": null, + "type": "string" + }, + { + "name": "syslog_message_key", + "description": "Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.", + "default": null, + "type": "string" + }, + { + "name": "allow_longer_sd_id", + "description": "If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "tcp", + "description": "TCP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "msgpack", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "udp", + "description": "UDP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "json_lines", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "td", + "description": "Treasure Data", + "properties": { + "options": [ + { + "name": "API", + "description": "Set the API key", + "default": null, + "type": "string" + }, + { + "name": "Database", + "description": "Set the Database file", + "default": null, + "type": "string" + }, + { + "name": "Table", + "description": "Set the Database Table", + "default": null, + "type": "string" + }, + { + "name": "Region", + "description": "Set the Region: us or jp", + "default": null, + "type": "string" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "lib", + "description": "Library mode Output", + "properties": {} + }, + { + "type": "output", + "name": "flowcounter", + "description": "FlowCounter", + "properties": { + "options": [ + { + "name": "unit", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "event_based", + "description": "", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "gelf", + "description": "GELF Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "The protocol to use. 'tls', 'tcp' or 'udp'", + "default": "udp", + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "A short descriptive message (MUST be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Timestamp key name (SHOULD be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "packet_size", + "description": "If transport protocol is udp, you can set the size of packets to be sent.", + "default": "1420", + "type": "integer" + }, + { + "name": "compress", + "description": "If transport protocol is udp, you can set this if you want your UDP packets to be compressed.", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "websocket", + "description": "Websocket", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify an optional URI for the target web socket server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "cloudwatch_logs", + "description": "Send logs to Amazon CloudWatch", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region to send logs to", + "default": null, + "type": "string" + }, + { + "name": "log_group_name", + "description": "CloudWatch Log Group Name", + "default": null, + "type": "string" + }, + { + "name": "log_stream_name", + "description": "CloudWatch Log Stream Name; not compatible with `log_stream_prefix`", + "default": null, + "type": "string" + }, + { + "name": "log_stream_prefix", + "description": "Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name", + "default": null, + "type": "string" + }, + { + "name": "log_group_template", + "description": "Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_stream_template", + "description": "Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.", + "default": null, + "type": "string" + }, + { + "name": "extra_user_agent", + "description": "This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.", + "default": null, + "type": "string" + }, + { + "name": "log_format", + "description": "An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "auto_create_group", + "description": "Automatically create the log group (log streams will always automatically be created)", + "default": "false", + "type": "boolean" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_retention_days", + "description": "If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]", + "default": "0", + "type": "integer" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the CloudWatch Logs API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Specify a custom endpoint for the STS API, can be used with the role_arn parameter", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "metric_namespace", + "description": "Metric namespace for CloudWatch EMF logs", + "default": null, + "type": "string" + }, + { + "name": "metric_dimensions", + "description": "Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_firehose", + "description": "Send logs to Amazon Kinesis Firehose", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your delivery stream", + "default": null, + "type": "string" + }, + { + "name": "delivery_stream", + "description": "Firehose delivery stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Firehose API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_streams", + "description": "Send logs to Amazon Kinesis Streams", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your kinesis stream", + "default": null, + "type": "string" + }, + { + "name": "stream", + "description": "Kinesis stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Kinesis API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "metrics_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/metrics", + "type": "string" + }, + { + "name": "batch_size", + "description": "Set the maximum number of log records to be flushed at a time", + "default": "1000", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "logs_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/logs", + "type": "string" + }, + { + "name": "logs_body_key", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": null, + "type": "string" + }, + { + "name": "logs_body_key_attributes", + "description": "If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.", + "default": "false", + "type": "boolean" + }, + { + "name": "traces_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/traces", + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "logs_observed_timestamp_metadata_key", + "description": "Specify an ObservedTimestamp key", + "default": "$ObservedTimestamp", + "type": "string" + }, + { + "name": "logs_timestamp_metadata_key", + "description": "Specify a Timestamp key", + "default": "$Timestamp", + "type": "string" + }, + { + "name": "logs_severity_text_metadata_key", + "description": "Specify a SeverityText key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_metadata_key", + "description": "Specify a SeverityNumber key", + "default": "$SeverityNumber", + "type": "string" + }, + { + "name": "logs_trace_flags_metadata_key", + "description": "Specify a TraceFlags key", + "default": "$TraceFlags", + "type": "string" + }, + { + "name": "logs_span_id_metadata_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_metadata_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_attributes_metadata_key", + "description": "Specify an Attributes key", + "default": "$Attributes", + "type": "string" + }, + { + "name": "logs_instrumentation_scope_metadata_key", + "description": "Specify an InstrumentationScope key", + "default": "InstrumentationScope", + "type": "string" + }, + { + "name": "logs_resource_metadata_key", + "description": "Specify a Resource key", + "default": "Resource", + "type": "string" + }, + { + "name": "logs_span_id_message_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_message_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_severity_text_message_key", + "description": "Specify a Severity Text key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_message_key", + "description": "Specify a Severity Number key", + "default": "$SeverityNumber", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_exporter", + "description": "Prometheus Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "add_timestamp", + "description": "Add timestamp to every metric honoring collection time.", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "TCP port for listening for HTTP connections.", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_remote_write", + "description": "Prometheus remote write", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "compression", + "description": "Compress the payload with either snappy, gzip if set", + "default": "snappy", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": "aps", + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "s3", + "description": "Send to S3", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "aws_shared_credentials_file", + "description": "Path to the AWS shared credentials file.", + "default": "", + "type": "string" + }, + { + "name": "aws_config_file", + "description": "Path to the AWS default configuration file.", + "default": "", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "total_file_size", + "description": "Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB", + "default": "100000000", + "type": "size" + }, + { + "name": "upload_chunk_size", + "description": "This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.", + "default": "5242880", + "type": "size" + }, + { + "name": "upload_timeout", + "description": "Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.", + "default": "10m", + "type": "time" + }, + { + "name": "bucket", + "description": "S3 bucket name.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "AWS region.", + "default": "us-east-1", + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom endpoint for the S3 API.", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "canned_acl", + "description": "Predefined Canned ACL policy for S3 objects.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.", + "default": null, + "type": "string" + }, + { + "name": "content_type", + "description": "A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.", + "default": null, + "type": "string" + }, + { + "name": "store_dir", + "description": "Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.", + "default": "/tmp/fluent-bit/s3", + "type": "string" + }, + { + "name": "store_dir_limit_size", + "description": "S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.", + "default": null, + "type": "size" + }, + { + "name": "s3_key_format", + "description": "Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.", + "default": "/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S", + "type": "string" + }, + { + "name": "s3_key_format_tag_delimiters", + "description": "A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.", + "default": ".", + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "use_put_object", + "description": "Use the S3 PutObject API, instead of the multipart upload API", + "default": "false", + "type": "boolean" + }, + { + "name": "send_content_md5", + "description": "Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled", + "default": "false", + "type": "boolean" + }, + { + "name": "preserve_data_ordering", + "description": "Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "static_file_path", + "description": "Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.", + "default": "false", + "type": "boolean" + }, + { + "name": "storage_class", + "description": "Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "vivo_exporter", + "description": "Vivo Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "empty_stream_on_read", + "description": "If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed", + "default": "off", + "type": "boolean" + }, + { + "name": "stream_queue_size", + "description": "Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.", + "default": "20M", + "type": "size" + }, + { + "name": "http_cors_allow_origin", + "description": "Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "chronicle", + "description": "Send logs to Google Chronicle as unstructured log", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "customer_id", + "description": "Set the customer id", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "Set the log type", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Set the region", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "Set the log key", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + } + ] +} diff --git a/schemas/24.6.4/core-fluent-bit.json b/schemas/24.6.4/core-fluent-bit.json new file mode 100644 index 0000000..3166b96 --- /dev/null +++ b/schemas/24.6.4/core-fluent-bit.json @@ -0,0 +1 @@ +{"fluent-bit":{"version":"24.6.4","schema_version":"1","os":"linux"},"customs":[{"type":"custom","name":"calyptia","description":"Calyptia Cloud","properties":{"options":[{"name":"api_key","description":"Calyptia Cloud API Key.","default":null,"type":"string"},{"name":"store_path","description":"","default":null,"type":"string"},{"name":"calyptia_host","description":"","default":"cloud-api.calyptia.com","type":"string"},{"name":"calyptia_port","description":"","default":"443","type":"string"},{"name":"calyptia_tls","description":"","default":"true","type":"boolean"},{"name":"calyptia_tls.verify","description":"","default":"true","type":"boolean"},{"name":"add_label","description":"Label to append to the generated metric.","default":null,"type":"space delimited strings (minimum 1)"},{"name":"machine_id","description":"Custom machine_id to be used when registering agent","default":null,"type":"string"},{"name":"fleet_id","description":"Fleet id to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"fleet.config_dir","description":"Base path for the configuration directory.","default":null,"type":"string"},{"name":"fleet.interval_sec","description":"Set the collector interval","default":"-1","type":"integer"},{"name":"fleet.interval_nsec","description":"Set the collector interval (nanoseconds)","default":"-1","type":"integer"},{"name":"fleet_name","description":"Fleet name to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"pipeline_id","description":"Pipeline ID for reporting to calyptia cloud.","default":null,"type":"string"}]}}],"inputs":[{"type":"input","name":"cpu","description":"CPU Usage","properties":{"options":[{"name":"pid","description":"Configure a single process to measure usage via their PID","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"mem","description":"Memory Usage","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (subseconds)","default":"0","type":"integer"},{"name":"pid","description":"Set the PID of the process to measure","default":"0","type":"integer"}]}},{"type":"input","name":"thermal","description":"Thermal","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"name_regex","description":"Set thermal name regular expression filter","default":null,"type":"string"},{"name":"type_regex","description":"Set thermal type regular expression filter","default":null,"type":"string"}]}},{"type":"input","name":"kmsg","description":"Kernel Log Buffer","properties":{"options":[{"name":"prio_level","description":"The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.","default":"8","type":"integer"}]}},{"type":"input","name":"proc","description":"Check Process health","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"alert","description":"Only generate alerts if process is down","default":"false","type":"boolean"},{"name":"mem","description":"Append memory usage to record","default":"true","type":"boolean"},{"name":"fd","description":"Append fd count to record","default":"true","type":"boolean"},{"name":"proc_name","description":"Define process name to health check","default":null,"type":"string"}]}},{"type":"input","name":"disk","description":"Diskstats","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"dev_name","description":"Set the device name","default":null,"type":"string"}]}},{"type":"input","name":"systemd","description":"Systemd (Journal) reader","properties":{"options":[{"name":"path","description":"Set the systemd journal path","default":null,"type":"string"},{"name":"max_fields","description":"Set the maximum fields per notification","default":"8000","type":"integer"},{"name":"max_entries","description":"Set the maximum entries per notification","default":"5000","type":"integer"},{"name":"systemd_filter_type","description":"Set the systemd filter type to either 'and' or 'or'","default":null,"type":"string"},{"name":"systemd_filter","description":"Add a systemd filter, can be set multiple times","default":null,"type":"string"},{"name":"read_from_tail","description":"Read the journal from the end (tail)","default":"false","type":"boolean"},{"name":"lowercase","description":"Lowercase the fields","default":"false","type":"boolean"},{"name":"strip_underscores","description":"Strip undersecores from fields","default":"false","type":"boolean"},{"name":"db.sync","description":"Set the database sync mode: extra, full, normal or off","default":null,"type":"string"},{"name":"db","description":"Set the database path","default":null,"type":"string"}]}},{"type":"input","name":"netif","description":"Network Interface Usage","properties":{"options":[{"name":"interface","description":"Set the interface, eg: eth0 or enp1s0","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"verbose","description":"Enable verbosity","default":"false","type":"boolean"},{"name":"test_at_init","description":"Testing interface at initialization","default":"false","type":"boolean"}]}},{"type":"input","name":"docker","description":"Docker containers metrics","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"include","description":"A space-separated list of containers to include","default":null,"type":"string"},{"name":"exclude","description":"A space-separated list of containers to exclude","default":null,"type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys/fs/cgroup","type":"string"},{"name":"path.containers","description":"containers directory","default":"/var/lib/docker/containers","type":"string"}]}},{"type":"input","name":"docker_events","description":"Docker events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"unix_path","description":"Define Docker unix socket path to read events","default":"/var/run/docker.sock","type":"string"},{"name":"buffer_size","description":"Set buffer size to read events","default":"8k","type":"size"},{"name":"parser","description":"Optional parser for records, if not set, records are packages under 'key'","default":null,"type":"string"},{"name":"key","description":"Set the key name to store unparsed Docker events","default":"message","type":"string"},{"name":"reconnect.retry_limits","description":"Maximum number to retry to connect docker socket","default":"5","type":"integer"},{"name":"reconnect.retry_interval","description":"Retry interval to connect docker socket","default":"1","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"podman_metrics","description":"Podman metrics","properties":{"options":[{"name":"scrape_interval","description":"Scrape interval to collect the metrics of podman containers(defaults to 30s)","default":"30","type":"time"},{"name":"scrape_on_start","description":"Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"},{"name":"path.config","description":"Path to podman config file","default":null,"type":"string"},{"name":"path.sysfs","description":"Path to sysfs subsystem directory","default":"/sys/fs/cgroup","type":"string"},{"name":"path.procfs","description":"Path to proc subsystem directory","default":"/proc","type":"string"}]}},{"type":"input","name":"process_exporter_metrics","description":"Process Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"process_include_pattern","description":"include list regular expression","default":".+","type":"string"},{"name":"process_exclude_pattern","description":"exclude list regular expression","default":null,"type":"string"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread","type":"multiple comma delimited strings"}]}},{"type":"input","name":"node_exporter_metrics","description":"Node Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"collector.cpu.scrape_interval","description":"scrape interval to collect cpu metrics from the node.","default":"0","type":"time"},{"name":"collector.cpufreq.scrape_interval","description":"scrape interval to collect cpufreq metrics from the node.","default":"0","type":"time"},{"name":"collector.meminfo.scrape_interval","description":"scrape interval to collect meminfo metrics from the node.","default":"0","type":"time"},{"name":"collector.diskstats.scrape_interval","description":"scrape interval to collect diskstats metrics from the node.","default":"0","type":"time"},{"name":"collector.filesystem.scrape_interval","description":"scrape interval to collect filesystem metrics from the node.","default":"0","type":"time"},{"name":"collector.uname.scrape_interval","description":"scrape interval to collect uname metrics from the node.","default":"0","type":"time"},{"name":"collector.stat.scrape_interval","description":"scrape interval to collect stat metrics from the node.","default":"0","type":"time"},{"name":"collector.time.scrape_interval","description":"scrape interval to collect time metrics from the node.","default":"0","type":"time"},{"name":"collector.loadavg.scrape_interval","description":"scrape interval to collect loadavg metrics from the node.","default":"0","type":"time"},{"name":"collector.vmstat.scrape_interval","description":"scrape interval to collect vmstat metrics from the node.","default":"0","type":"time"},{"name":"collector.netdev.scrape_interval","description":"scrape interval to collect netdev metrics from the node.","default":"0","type":"time"},{"name":"collector.filefd.scrape_interval","description":"scrape interval to collect filefd metrics from the node.","default":"0","type":"time"},{"name":"collector.textfile.scrape_interval","description":"scrape interval to collect textfile metrics from the node.","default":"0","type":"time"},{"name":"collector.systemd.scrape_interval","description":"scrape interval to collect systemd metrics from the node.","default":"0","type":"time"},{"name":"collector.processes.scrape_interval","description":"scrape interval to collect processes metrics from the node.","default":"0","type":"time"},{"name":"collector.thermalzone.scrape_interval","description":"scrape interval to collect thermal zone metrics from the node.","default":"0","type":"time"},{"name":"collector.nvme.scrape_interval","description":"scrape interval to collect nvme metrics from the node.","default":"0","type":"time"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone","type":"multiple comma delimited strings"},{"name":"collector.textfile.path","description":"Specify file path or directory to collect textfile metrics from the node.","default":null,"type":"string"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys","type":"string"},{"name":"systemd_service_restart_metrics","description":"include systemd service restart metrics","default":"false","type":"boolean"},{"name":"systemd_unit_start_time_metrics","description":"include systemd unit start time metrics","default":"false","type":"boolean"},{"name":"systemd_include_service_task_metrics","description":"include systemd service task metrics","default":"false","type":"boolean"},{"name":"systemd_include_pattern","description":"include list regular expression","default":null,"type":"string"},{"name":"systemd_exclude_pattern","description":"exclude list regular expression","default":".+\\.(automount|device|mount|scope|slice)","type":"string"},{"name":"filesystem.ignore_mount_point_regex","description":"ignore regular expression for mount points","default":"^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)","type":"string"},{"name":"filesystem.ignore_filesystem_type_regex","description":"ignore regular expression for filesystem types","default":"^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$","type":"string"},{"name":"diskstats.ignore_device_regex","description":"ignore regular expression for disk devices","default":"^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$","type":"string"}]}},{"type":"input","name":"kubernetes_events","description":"Kubernetes Events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"interval_sec","description":"Set the polling interval for each channel","default":"0","type":"integer"},{"name":"interval_nsec","description":"Set the polling interval for each channel (sub seconds)","default":"500000000","type":"integer"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_request_limit","description":"kubernetes limit parameter for events query, no limit applied when set to 0","default":"0","type":"integer"},{"name":"kube_retention_time","description":"kubernetes retention time for events. Default: 1h","default":"1h","type":"time"},{"name":"kube_namespace","description":"kubernetes namespace to get events from, gets event from all namespaces by default.","default":null,"type":"string"},{"name":"timestamp_key","description":"Deprecated. To be removed in v3.0","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of recorded kubernetes events.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"kafka","description":"Kafka consumer input plugin","properties":{"options":[{"name":"poll_ms","description":"Interval in milliseconds to check for new messages.","default":"500","type":"integer"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"format","description":"Set the data format which will be used for parsing records.","default":"none","type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the librdkafka options","default":null,"type":"prefixed string"},{"name":"buffer_max_size","description":"Set the maximum size of chunk","default":"4M","type":"size"}]}},{"type":"input","name":"fluentbit_metrics","description":"Fluent Bit internal metrics","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect the internal metrics of Fluent Bit.","default":"2","type":"time"},{"name":"scrape_on_start","description":"scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"}]}},{"type":"input","name":"prometheus_scrape","description":"Scrape metrics from Prometheus Endpoint","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"scrape_interval","description":"Scraping interval.","default":"10s","type":"time"},{"name":"buffer_max_size","description":"","default":"10M","type":"size"},{"name":"metrics_path","description":"Set the metrics URI endpoint, it must start with a forward slash.","default":"/metrics","type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"tail","description":"Tail files","properties":{"options":[{"name":"path","description":"pattern specifying log files or multiple ones through the use of common wildcards.","default":null,"type":"multiple comma delimited strings"},{"name":"exclude_path","description":"Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'","default":null,"type":"multiple comma delimited strings"},{"name":"key","description":"when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.","default":"log","type":"string"},{"name":"read_from_head","description":"For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.","default":"false","type":"boolean"},{"name":"refresh_interval","description":"interval to refresh the list of watched files expressed in seconds.","default":"60","type":"string"},{"name":"watcher_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval_nsec","description":"","default":"0","type":"integer"},{"name":"rotate_wait","description":"specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.","default":"5","type":"time"},{"name":"docker_mode","description":"If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.","default":"false","type":"boolean"},{"name":"docker_mode_flush","description":"wait period time in seconds to flush queued unfinished split lines.","default":"4","type":"integer"},{"name":"docker_mode_parser","description":"specify the parser name to fetch log first line for muliline log","default":null,"type":"string"},{"name":"path_key","description":"set the 'key' name where the name of monitored file will be appended.","default":null,"type":"string"},{"name":"offset_key","description":"set the 'key' name where the offset of monitored file will be appended.","default":null,"type":"string"},{"name":"ignore_older","description":"ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.","default":"0","type":"time"},{"name":"buffer_chunk_size","description":"set the initial buffer size to read data from files. This value is used too to increase buffer size.","default":"32768","type":"size"},{"name":"buffer_max_size","description":"set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.","default":"32768","type":"size"},{"name":"static_batch_size","description":"On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.","default":"50M","type":"size"},{"name":"event_batch_size","description":"When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).","default":"50M","type":"size"},{"name":"skip_long_lines","description":"if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.","default":"false","type":"boolean"},{"name":"exit_on_eof","description":"exit Fluent Bit when reaching EOF on a monitored file.","default":"false","type":"boolean"},{"name":"skip_empty_lines","description":"Allows to skip empty lines.","default":"false","type":"boolean"},{"name":"inotify_watcher","description":"set to false to use file stat watcher instead of inotify.","default":"true","type":"boolean"},{"name":"parser","description":"specify the parser name to process an unstructured message.","default":null,"type":"string"},{"name":"tag_regex","description":"set a regex to extract fields from the file name and use them later to compose the Tag.","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of monitored files and it offsets.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"},{"name":"db.locking","description":"set exclusive locking mode, increase performance but don't allow external connections to the database file.","default":"false","type":"boolean"},{"name":"db.journal_mode","description":"Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.","default":"WAL","type":"string"},{"name":"db.compare_filename","description":"This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).","default":"false","type":"boolean"},{"name":"multiline","description":"if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.","default":"false","type":"boolean"},{"name":"multiline_flush","description":"wait period time in seconds to process queued multiline messages.","default":"4","type":"time"},{"name":"parser_firstline","description":"name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).","default":null,"type":"string"},{"name":"parser_","description":"optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.","default":null,"type":"prefixed string"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"}]}},{"type":"input","name":"dummy","description":"Generate dummy data","properties":{"options":[{"name":"samples","description":"set a number of times to generate event.","default":"0","type":"integer"},{"name":"dummy","description":"set the sample record to be generated. It should be a JSON object.","default":"{\"message\":\"dummy\"}","type":"string"},{"name":"metadata","description":"set the sample metadata to be generated. It should be a JSON object.","default":"{}","type":"string"},{"name":"rate","description":"set a number of events per second.","default":"1","type":"integer"},{"name":"interval_sec","description":"set seconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"interval_nsec","description":"set nanoseconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"copies","description":"set the number of copies to generate per collectd.","default":"1","type":"integer"},{"name":"start_time_sec","description":"set a dummy base timestamp in seconds.","default":"-1","type":"integer"},{"name":"start_time_nsec","description":"set a dummy base timestamp in nanoseconds.","default":"-1","type":"integer"},{"name":"fixed_timestamp","description":"used a fixed timestamp, allows the message to pre-generated once.","default":"off","type":"boolean"},{"name":"flush_on_startup","description":"generate the first event on startup","default":"false","type":"boolean"}]}},{"type":"input","name":"head","description":"Head Input","properties":{"options":[{"name":"file","description":"Set the file","default":null,"type":"string"},{"name":"key","description":"Set the record key","default":"head","type":"string"},{"name":"buf_size","description":"Set the read buffer size","default":"256","type":"integer"},{"name":"split_line","description":"generate key/value pair per line","default":"false","type":"boolean"},{"name":"lines","description":"Line number to read","default":"0","type":"integer"},{"name":"add_path","description":"append filepath to records","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}]}},{"type":"input","name":"health","description":"Check TCP server health","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"alert","description":"Only generate records when the port is down","default":"false","type":"boolean"},{"name":"add_host","description":"Append hostname to each record","default":"false","type":"boolean"},{"name":"add_port","description":"Append port to each record","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"http","description":"HTTP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"collectd","description":"collectd input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"typesdb","description":"Set the types database filename","default":"/usr/share/collectd/types.db","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"statsd","description":"StatsD input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"tag_from_uri","description":"If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .","default":"true","type":"boolean"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"},{"name":"raw_traces","description":"Forward traces without processing","default":"false","type":"boolean"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"elasticsearch","description":"HTTP Endpoints for Elasticsearch (Bulk API)","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"Set the maximum size of buffer","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"512K","type":"size"},{"name":"tag_key","description":"Specify a key name for extracting as a tag","default":null,"type":"string"},{"name":"meta_key","description":"Specify a key name for meta information","default":"@meta","type":"string"},{"name":"hostname","description":"Specify hostname or FQDN. This parameter is effective for sniffering node information.","default":"localhost","type":"string"},{"name":"version","description":"Specify returning Elasticsearch server version.","default":"8.0.0","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"splunk","description":"Input plugin for Splunk HEC payloads","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"splunk_token","description":"Set valid Splunk HEC tokens for the requests","default":null,"type":"string"},{"name":"tag_key","description":"","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"event_type","description":"Event tests for input plugins","properties":{"options":[{"name":"type","description":"Set the type of event to deliver, optionsa are: logs, metrics or traces","default":"logs","type":"string"},{"name":"interval_sec","description":"Set the interval seconds between events generation","default":"2","type":"integer"},{"name":"interval_nsec","description":"Set the nanoseconds interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"nginx_metrics","description":"Nginx status metrics","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"status_url","description":"Define URL of stub status handler","default":"/status","type":"string"},{"name":"nginx_plus","description":"Turn on NGINX plus mode","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"serial","description":"Serial input","properties":{"options":[{"name":"file","description":"Set the serial character device file name","default":null,"type":"string"},{"name":"bitrate","description":"Set the serial bitrate (baudrate)","default":null,"type":"string"},{"name":"separator","description":"Set the record separator","default":null,"type":"string"},{"name":"format","description":"Set the serial format: json or none","default":null,"type":"string"},{"name":"min_bytes","description":"Set the serial minimum bytes","default":"0","type":"integer"}]}},{"type":"input","name":"stdin","description":"Standard Input","properties":{"options":[{"name":"parser","description":"Set and use a fluent-bit parser","default":null,"type":"string"},{"name":"buffer_size","description":"Set the read buffer size","default":null,"type":"size"}]}},{"type":"input","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"mode","description":"Set the socket mode: unix_tcp, unix_udp, tcp or udp","default":null,"type":"string"},{"name":"path","description":"Set the path for the UNIX socket","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"32768","type":"size"},{"name":"buffer_max_size","description":"Set the buffer chunk size","default":null,"type":"size"},{"name":"parser","description":"Set the parser","default":null,"type":"string"},{"name":"receive_buffer_size","description":"Set the socket receiving buffer size","default":null,"type":"size"},{"name":"raw_message_key","description":"Key where the raw message will be preserved","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"exec","description":"Exec Input","properties":{"options":[{"name":"command","description":"Set the command to execute","default":null,"type":"string"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"oneshot","description":"execute the command only once","default":"false","type":"boolean"},{"name":"exit_after_oneshot","description":"exit fluent-bit after the command terminates in one-shot mode","default":"false","type":"boolean"},{"name":"propagate_exit_code","description":"propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions","default":"false","type":"boolean"}]}},{"type":"input","name":"udp","description":"UDP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"exec_wasi","description":"Exec WASI Input","properties":{"options":[{"name":"wasi_path","description":"Set the path of WASM program to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"bool","description":"execute the command only once","default":"false","type":"boolean"}]}},{"type":"input","name":"tcp","description":"TCP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"mqtt","description":"MQTT, listen for Publish messages","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"payload_key","description":"Key where the payload will be preserved","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"lib","description":"Library mode Input","properties":{}},{"type":"input","name":"forward","description":"Fluentd in-forward","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"tag_prefix","description":"Prefix incoming tag with the defined value.","default":null,"type":"string"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"security.users","description":"Specify username and password pairs.","default":null,"type":"string"},{"name":"unix_path","description":"The path to unix socket to receive a Forward message.","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"The buffer memory size used to receive a Forward message.","default":"1024000","type":"size"},{"name":"buffer_max_size","description":"The maximum buffer memory size used to receive a Forward message.","default":"6144000","type":"size"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"random","description":"Random","properties":{"options":[{"name":"samples","description":"Number of samples to send, -1 for infinite","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}}],"filters":[{"type":"filter","name":"alter_size","description":"Alter incoming chunk size","properties":{"options":[{"name":"add","description":"add N records to the chunk","default":"0","type":"integer"},{"name":"remove","description":"remove N records from the chunk","default":"0","type":"integer"}]}},{"type":"filter","name":"aws","description":"Add AWS Metadata","properties":{"options":[{"name":"imds_version","description":"Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.","default":"v2","type":"string"},{"name":"az","description":"Enable EC2 instance availability zone","default":"true","type":"boolean"},{"name":"ec2_instance_id","description":"Enable EC2 instance ID","default":"true","type":"boolean"},{"name":"ec2_instance_type","description":"Enable EC2 instance type","default":"false","type":"boolean"},{"name":"private_ip","description":"Enable EC2 instance private IP","default":"false","type":"boolean"},{"name":"vpc_id","description":"Enable EC2 instance VPC ID","default":"false","type":"boolean"},{"name":"ami_id","description":"Enable EC2 instance Image ID","default":"false","type":"boolean"},{"name":"account_id","description":"Enable EC2 instance Account ID","default":"false","type":"boolean"},{"name":"hostname","description":"Enable EC2 instance hostname","default":"false","type":"boolean"},{"name":"tags_enabled","description":"Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty","default":"false","type":"boolean"},{"name":"tags_include","description":"Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"","default":"","type":"string"},{"name":"tags_exclude","description":"Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails","default":"","type":"string"}]}},{"type":"filter","name":"checklist","description":"Check records and flag them","properties":{"options":[{"name":"file","description":"Specify the file that contains the patterns to lookup.","default":null,"type":"string"},{"name":"mode","description":"Set the check mode: 'exact' or 'partial'.","default":"exact","type":"string"},{"name":"print_query_time","description":"Print to stdout the elapseed query time for every matched record","default":"false","type":"boolean"},{"name":"ignore_case","description":"Compare strings by ignoring case.","default":"false","type":"boolean"},{"name":"lookup_key","description":"Name of the key to lookup.","default":"log","type":"string"},{"name":"record","description":"Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.","default":null,"type":"space delimited strings (minimum 2)"}]}},{"type":"filter","name":"ecs","description":"Add AWS ECS Metadata","properties":{"options":[{"name":"add","description":"Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.","default":null,"type":"string"},{"name":"ecs_tag_prefix","description":"This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).","default":"","type":"string"},{"name":"cluster_metadata_only","description":"Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).","default":"false","type":"boolean"},{"name":"ecs_meta_cache_ttl","description":"Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.","default":"3600","type":"time"},{"name":"ecs_meta_host","description":"The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1","default":"127.0.0.1","type":"string"},{"name":"ecs_meta_port","description":"The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678","default":"51678","type":"integer"},{"name":"agent_endpoint_retries","description":"Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.","default":"2","type":"integer"}]}},{"type":"filter","name":"record_modifier","description":"modify record","properties":{"options":[{"name":"record","description":"Append fields. This parameter needs key and value pair.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"remove_key","description":"If the key is matched, that field is removed.","default":null,"type":"string"},{"name":"allowlist_key","description":"If the key is not matched, that field is removed.","default":null,"type":"string"},{"name":"whitelist_key","description":"(Alias of allowlist_key)","default":null,"type":"string"},{"name":"uuid_key","description":"If set, the plugin generates uuid per record.","default":null,"type":"string"}]}},{"type":"filter","name":"sysinfo","description":"Filter for system info","properties":{"options":[{"name":"fluentbit_version_key","description":"Specify the key name for fluent-bit version.","default":null,"type":"string"},{"name":"os_name_key","description":"Specify the key name for os name. e.g. linux, win64 or macos.","default":null,"type":"string"},{"name":"hostname_key","description":"Specify the key name for hostname.","default":null,"type":"string"},{"name":"os_version_key","description":"Specify the key name for os version. It is not supported on some platforms.","default":null,"type":"string"},{"name":"kernel_version_key","description":"Specify the key name for kernel version. It is not supported on some platforms.","default":null,"type":"string"}]}},{"type":"filter","name":"throttle","description":"Throttle messages using sliding window algorithm","properties":{"options":[{"name":"rate","description":"Set throttle rate","default":"1","type":"double"},{"name":"window","description":"Set throttle window","default":"5","type":"integer"},{"name":"print_status","description":"Set whether or not to print status information","default":"false","type":"boolean"},{"name":"interval","description":"Set the slide interval","default":"1","type":"string"}]}},{"type":"filter","name":"type_converter","description":"Data type converter","properties":{"options":[{"name":"int_key","description":"Convert integer to other type. e.g. int_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"uint_key","description":"Convert unsinged integer to other type. e.g. uint_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"float_key","description":"Convert float to other type. e.g. float_key ratio id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"str_key","description":"Convert string to other type. e.g. str_key id id_val integer","default":null,"type":"space delimited strings (minimum 3)"}]}},{"type":"filter","name":"kubernetes","description":"Filter to append Kubernetes metadata","properties":{"options":[{"name":"buffer_size","description":"buffer size to receive response from API server","default":"32K","type":"size"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"merge_log","description":"merge 'log' key content as individual keys","default":"false","type":"boolean"},{"name":"merge_parser","description":"specify a 'parser' name to parse the 'log' key content","default":null,"type":"string"},{"name":"merge_log_key","description":"set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled","default":null,"type":"string"},{"name":"merge_log_trim","description":"remove ending '\\n' or '\\r' characters from the log content","default":"true","type":"boolean"},{"name":"keep_log","description":"keep original log content if it was successfully parsed and merged","default":"true","type":"boolean"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"kube_meta_preload_cache_dir","description":"set directory with metadata files","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_tag_prefix","description":"prefix used in tag by the input plugin","default":"kube.var.log.containers.","type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_command","description":"command to get Kubernetes authorization token","default":null,"type":"string"},{"name":"labels","description":"include Kubernetes labels on every record","default":"true","type":"boolean"},{"name":"annotations","description":"include Kubernetes annotations on every record","default":"true","type":"boolean"},{"name":"namespace_labels","description":"include Kubernetes namespace labels on every record","default":"false","type":"boolean"},{"name":"namespace_annotations","description":"include Kubernetes namespace annotations on every record","default":"false","type":"boolean"},{"name":"namespace_metadata_only","description":"ignore pod metadata entirely and only fetch namespace metadata","default":"false","type":"boolean"},{"name":"k8s-logging.parser","description":"allow Pods to suggest a parser","default":"false","type":"boolean"},{"name":"k8s-logging.exclude","description":"allow Pods to exclude themselves from the logging pipeline","default":"false","type":"boolean"},{"name":"use_journal","description":"use Journald (Systemd) mode","default":"false","type":"boolean"},{"name":"regex_parser","description":"optional regex parser to extract metadata from container name or container log file name","default":null,"type":"string"},{"name":"dummy_meta","description":"use 'dummy' metadata, do not talk to API server","default":"false","type":"boolean"},{"name":"dns_retries","description":"dns lookup retries N times until the network start working","default":"6","type":"integer"},{"name":"dns_wait_time","description":"dns interval between network status checks","default":"30","type":"time"},{"name":"cache_use_docker_id","description":"fetch K8s meta when docker_id is changed","default":"false","type":"boolean"},{"name":"use_tag_for_meta","description":"use tag associated to retrieve metadata instead of kube-server","default":"false","type":"boolean"},{"name":"use_kubelet","description":"use kubelet to get metadata instead of kube-server","default":"false","type":"boolean"},{"name":"kubelet_host","description":"kubelet host to connect with when using kubelet","default":"127.0.0.1","type":"string"},{"name":"kubelet_port","description":"kubelet port to connect with when using kubelet","default":"10250","type":"integer"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_meta_cache_ttl","description":"configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted","default":"0","type":"time"},{"name":"kube_meta_namespace_cache_ttl","description":"configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.","default":"15m","type":"time"}]}},{"type":"filter","name":"modify","description":"modify records by applying rules","properties":{"options":[{"name":"Set","description":"Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.","default":null,"type":"string"},{"name":"Add","description":"Add a key/value pair with key KEY and value VALUE if KEY does not exist","default":null,"type":"string"},{"name":"Remove","description":"Remove a key/value pair with key KEY if it exists","default":null,"type":"string"},{"name":"Remove_wildcard","description":"Remove all key/value pairs with key matching wildcard KEY","default":null,"type":"string"},{"name":"Remove_regex","description":"Remove all key/value pairs with key matching regexp KEY","default":null,"type":"string"},{"name":"Move_To_Start","description":"Move key/value pairs with keys matching KEY to the start of the message","default":null,"type":"string"},{"name":"Move_To_End","description":"Move key/value pairs with keys matching KEY to the end of the message","default":null,"type":"string"},{"name":"Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Condition","description":"Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.","default":null,"type":"string"}]}},{"type":"filter","name":"multiline","description":"Concatenate multiline messages","properties":{"options":[{"name":"debug_flush","description":"enable debugging for concatenation flush to stdout","default":"false","type":"boolean"},{"name":"buffer","description":"Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.","default":"true","type":"boolean"},{"name":"mode","description":"Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.","default":"parser","type":"string"},{"name":"flush_ms","description":"Flush time for pending multiline records","default":"2000","type":"integer"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"},{"name":"multiline.key_content","description":"specify the key name that holds the content to process.","default":null,"type":"string"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"nest","description":"nest events by specified field values","properties":{"options":[{"name":"Operation","description":"Select the operation nest or lift","default":null,"type":"string"},{"name":"Wildcard","description":"Nest records which field matches the wildcard","default":null,"type":"string"},{"name":"Nest_under","description":"Nest records matching the Wildcard under this key","default":null,"type":"string"},{"name":"Nested_under","description":"Lift records nested under the Nested_under key","default":null,"type":"string"},{"name":"Add_prefix","description":"Prefix affected keys with this string","default":null,"type":"string"},{"name":"Remove_prefix","description":"Remove prefix from affected keys if it matches this string","default":null,"type":"string"}]}},{"type":"filter","name":"parser","description":"Parse events","properties":{"options":[{"name":"Key_Name","description":"Specify field name in record to parse.","default":null,"type":"string"},{"name":"Parser","description":"Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).","default":null,"type":"string"},{"name":"Preserve_Key","description":"Keep original Key_Name field in the parsed result. If false, the field will be removed.","default":"false","type":"boolean"},{"name":"Reserve_Data","description":"Keep all other original fields in the parsed result. If false, all other original fields will be removed.","default":"false","type":"boolean"},{"name":"Unescape_key","description":"(deprecated)","default":null,"type":"deprecated"}]}},{"type":"filter","name":"expect","description":"Validate expected keys and values","properties":{"options":[{"name":"key_exists","description":"check that the given key name exists in the record","default":null,"type":"string"},{"name":"key_not_exists","description":"check that the given key name do not exists in the record","default":null,"type":"string"},{"name":"key_val_is_null","description":"check that the value of the key is NULL","default":null,"type":"string"},{"name":"key_val_is_not_null","description":"check that the value of the key is NOT NULL","default":null,"type":"string"},{"name":"key_val_eq","description":"check that the value of the key equals the given value","default":null,"type":"space delimited strings (minimum 1)"},{"name":"action","description":"action to take when a rule does not match: 'warn', 'exit' or 'result_key'.","default":"warn","type":"string"},{"name":"result_key","description":"specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.","default":"matched","type":"string"}]}},{"type":"filter","name":"grep","description":"grep events by specified field values","properties":{"options":[{"name":"regex","description":"Keep records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Exclude records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"logical_op","description":"Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.","default":"legacy","type":"string"}]}},{"type":"filter","name":"rewrite_tag","description":"Rewrite records tags","properties":{"options":[{"name":"rule","description":"","default":null,"type":"space delimited strings (minimum 4)"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"log_to_metrics","description":"generate log derived metrics","properties":{"options":[{"name":"regex","description":"Optional filter for records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Optional filter for records in which the content of KEY does not matches the regular expression.","default":null,"type":"string"},{"name":"metric_mode","description":"Mode selector. Values counter, gauge, or histogram. Summary is not supported","default":"counter","type":"string"},{"name":"value_field","description":"Numeric field to use for gauge or histogram","default":null,"type":"string"},{"name":"metric_name","description":"Name of metric","default":null,"type":"string"},{"name":"metric_description","description":"Help text for metric","default":null,"type":"string"},{"name":"kubernetes_mode","description":"Enable kubernetes log metric fields","default":"false","type":"boolean"},{"name":"add_label","description":"Add a label to the metric by supporting record accessor pattern","default":null,"type":"string"},{"name":"label_field","description":"Specify message field that should be included in the metric","default":null,"type":"string"},{"name":"bucket","description":"Specify bucket for histogram metric","default":null,"type":"string"},{"name":"tag","description":"Metric Tag","default":null,"type":"string"}]}},{"type":"filter","name":"lua","description":"Lua Scripting Filter","properties":{"options":[{"name":"script","description":"The path of lua script.","default":null,"type":"string"},{"name":"code","description":"String that contains the Lua script source code","default":null,"type":"string"},{"name":"call","description":"Lua function name that will be triggered to do filtering.","default":null,"type":"string"},{"name":"type_int_key","description":"If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"type_array_key","description":"If these keys are matched, the fields are converted to array. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"protected_mode","description":"If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.","default":"true","type":"boolean"},{"name":"time_as_table","description":"If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.","default":"false","type":"boolean"},{"name":"enable_flb_null","description":"If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.","default":"false","type":"boolean"}]}},{"type":"filter","name":"stdout","description":"Filter events to STDOUT","properties":{"options":[]}},{"type":"filter","name":"geoip2","description":"add geoip information to records","properties":{"options":[{"name":"database","description":"Set the geoip2 database path","default":null,"type":"string"},{"name":"lookup_key","description":"Add a lookup_key","default":null,"type":"string"},{"name":"record","description":"Add a record to the output base on geoip2","default":null,"type":"string"}]}},{"type":"filter","name":"nightfall","description":"scans records for sensitive content","properties":{"options":[{"name":"nightfall_api_key","description":"The Nightfall API key to scan your logs with.","default":null,"type":"string"},{"name":"policy_id","description":"The Nightfall policy ID to scan your logs with.","default":null,"type":"string"},{"name":"sampling_rate","description":"The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.","default":"1","type":"double"},{"name":"tls.debug","description":"Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"Enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"Set optional TLS virtual host","default":null,"type":"string"},{"name":"tls.ca_path","description":"Path to root certificates on the system","default":null,"type":"string"}]}},{"type":"filter","name":"wasm","description":"WASM program filter","properties":{"options":[{"name":"event_format","description":"Sepecify the ingesting event format for wasm program","default":null,"type":"string"},{"name":"wasm_path","description":"Set the wasm path to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"function_name","description":"Set the function name in wasm to execute","default":null,"type":"string"}]}}],"outputs":[{"type":"output","name":"azure","description":"Send events to Azure HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"customer_id","description":"Customer ID or WorkspaceID string.","default":null,"type":"string"},{"name":"shared_key","description":"The primary or the secondary Connected Sources client authentication key.","default":null,"type":"string"},{"name":"log_type","description":"The name of the event type.","default":"fluentbit","type":"string"},{"name":"log_type_key","description":"If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ","default":null,"type":"string"},{"name":"time_key","description":"Optional parameter to specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_blob","description":"Azure Blob Storage","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"account_name","description":"Azure account name (mandatory)","default":null,"type":"string"},{"name":"container_name","description":"Container name (mandatory)","default":null,"type":"string"},{"name":"auto_create_container","description":"Auto create container if it don't exists","default":"true","type":"boolean"},{"name":"blob_type","description":"Set the block type: appendblob or blockblob","default":"appendblob","type":"string"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"},{"name":"compress_blob","description":"Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type","default":"false","type":"boolean"},{"name":"emulator_mode","description":"Use emulator mode, enable it if you want to use Azurite","default":"false","type":"boolean"},{"name":"shared_key","description":"Azure shared key","default":null,"type":"string"},{"name":"endpoint","description":"Custom full URL endpoint to use an emulator","default":null,"type":"string"},{"name":"path","description":"Set a path for your blob","default":null,"type":"string"},{"name":"date_key","description":"Name of the key that will have the record timestamp","default":"@timestamp","type":"string"},{"name":"auth_type","description":"Set the auth type: key or sas","default":"key","type":"string"},{"name":"sas_token","description":"Azure Blob SAS token","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_logs_ingestion","description":"Send logs to Log Analytics with Log Ingestion API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application","default":null,"type":"string"},{"name":"client_id","description":"Set the client/app ID of the AAD application","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret of the AAD application","default":null,"type":"string"},{"name":"dce_url","description":"Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)","default":null,"type":"string"},{"name":"dcr_id","description":"Data Collection Rule (DCR) immutable ID","default":null,"type":"string"},{"name":"table_name","description":"The name of the custom log table, including '_CL' suffix","default":null,"type":"string"},{"name":"time_key","description":"[Optional] Specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter","default":"false","type":"boolean"},{"name":"compress","description":"Enable HTTP payload compression (gzip).","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_kusto","description":"Send events to Kusto (Azure Data Explorer)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_id","description":"Set the client ID (Application ID) of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret (Application Password) of the AAD application used for authentication","default":null,"type":"string"},{"name":"ingestion_endpoint","description":"Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)","default":null,"type":"string"},{"name":"database_name","description":"Set the database name","default":null,"type":"string"},{"name":"table_name","description":"Set the table name","default":null,"type":"string"},{"name":"ingestion_mapping_reference","description":"Set the ingestion mapping reference","default":null,"type":"string"},{"name":"log_key","description":"The key name of event payload","default":"log","type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"true","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tag","type":"string"},{"name":"include_time_key","description":"If enabled, time is appended to output. The key name is used 'time_key' property.","default":"true","type":"boolean"},{"name":"time_key","description":"The key name of the time. If 'include_time_key' is false, This property is ignored","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"bigquery","description":"Send events to BigQuery via streaming insert","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"enable_identity_federation","description":"Enable identity federation","default":"false","type":"boolean"},{"name":"aws_region","description":"Enable identity federation","default":null,"type":"string"},{"name":"project_number","description":"Set project number","default":null,"type":"string"},{"name":"pool_id","description":"Set the pool id","default":null,"type":"string"},{"name":"provider_id","description":"Set the provider id","default":null,"type":"string"},{"name":"google_service_account","description":"Set the google service account","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"dataset_id","description":"Set the dataset id","default":null,"type":"string"},{"name":"table_id","description":"Set the table id","default":null,"type":"string"},{"name":"skip_invalid_rows","description":"Enable skipping of invalid rows","default":"false","type":"boolean"},{"name":"ignore_unknown_values","description":"Enable ignoring unknown value","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"counter","description":"Records counter","properties":{"options":[]}},{"type":"output","name":"datadog","description":"Send events to DataDog HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.","default":"false","type":"string"},{"name":"apikey","description":"Datadog API key","default":null,"type":"string"},{"name":"dd_service","description":"The human readable name for your service generating the logs - the name of your application or database.","default":null,"type":"string"},{"name":"dd_source","description":"A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.","default":null,"type":"string"},{"name":"dd_tags","description":"The tags you want to assign to your logs in Datadog.","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.","default":null,"type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"false","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tagkey","type":"string"},{"name":"dd_message_key","description":"By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.","default":null,"type":"string"},{"name":"provider","description":"To activate the remapping, specify configuration flag provider with value 'ecs'","default":null,"type":"string"},{"name":"json_date_key","description":"Date key name for output.","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"es","description":"Elasticsearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for Elastic X-Pack access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in HTTP_User","default":"","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"cloud_id","description":"Elastic cloud ID of the cluster to connect to","default":null,"type":"string"},{"name":"cloud_auth","description":"Elastic cloud authentication credentials","default":null,"type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the Elasticsearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the Elasticsearch exception to stderr (for diag only)","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"exit","description":"Exit after a number of flushes (test purposes)","properties":{"options":[{"name":"flush_count","description":"","default":"1","type":"integer"}]}},{"type":"output","name":"file","description":"Generate log file","properties":{"options":[{"name":"path","description":"Absolute path to store the files. This parameter is optional","default":null,"type":"string"},{"name":"file","description":"Name of the target file to write the records. If 'path' is specified, the value is prefixed","default":null,"type":"string"},{"name":"format","description":"Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json","default":null,"type":"string"},{"name":"delimiter","description":"Set a custom delimiter for the records","default":null,"type":"string"},{"name":"label_delimiter","description":"Set a custom label delimiter, to be used with 'ltsv' format","default":null,"type":"string"},{"name":"template","description":"Set a custom template format for the data","default":"{time} {message}","type":"string"},{"name":"csv_column_names","description":"Add column names (keys) in the first line of the target file","default":"false","type":"boolean"},{"name":"mkdir","description":"Recursively create output directory if it does not exist. Permissions set to 0755","default":"false","type":"boolean"}]}},{"type":"output","name":"forward","description":"Forward (Fluentd protocol)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"time_as_integer","description":"Set timestamp in integer format (compat mode for old Fluentd v0.12)","default":"false","type":"boolean"},{"name":"retain_metadata_in_forward_mode","description":"Retain metadata when operating in forward mode","default":"false","type":"boolean"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"empty_shared_key","description":"Set an empty shared key for authentication","default":"false","type":"boolean"},{"name":"send_options","description":"Send 'forward protocol options' to remote endpoint","default":"false","type":"boolean"},{"name":"require_ack_response","description":"Require that remote endpoint confirms data reception","default":"false","type":"boolean"},{"name":"username","description":"Username for authentication","default":"","type":"string"},{"name":"password","description":"Password for authentication","default":"","type":"string"},{"name":"unix_path","description":"Path to unix socket. It is ignored when 'upstream' property is set","default":null,"type":"string"},{"name":"upstream","description":"Path to 'upstream' configuration file (define multiple nodes)","default":null,"type":"string"},{"name":"tag","description":"Set a custom Tag for the outgoing records","default":null,"type":"string"},{"name":"compress","description":"Compression mode","default":null,"type":"string"},{"name":"fluentd_compat","description":"Send metrics and traces with Fluentd compatible format","default":"false","type":"boolean"},{"name":"add_option","description":"Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.","default":null,"type":"space delimited strings (minimum 2)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"http","description":"HTTP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"allow_duplicated_headers","description":"Specify if duplicated headers are allowed or not","default":"true","type":"boolean"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":null,"type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header_tag","description":"Set a HTTP header which value is the Tag","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":"json","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Specify the key to use for 'timestamp' in gelf format","default":null,"type":"string"},{"name":"gelf_host_key","description":"Specify the key to use for the 'host' in gelf format","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Specify the key to use as the 'short' message in gelf format","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Specify the key to use for the 'full' message in gelf format","default":null,"type":"string"},{"name":"gelf_level_key","description":"Specify the key to use for the 'level' in gelf format","default":null,"type":"string"},{"name":"body_key","description":"Specify the key which contains the body","default":null,"type":"string"},{"name":"headers_key","description":"Specify the key which contains the headers","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"influxdb","description":"InfluxDB Time Series","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"database","description":"Set the database name.","default":"fluentbit","type":"string"},{"name":"bucket","description":"Specify the bucket name, used on InfluxDB API v2.","default":null,"type":"string"},{"name":"org","description":"Set the Organization name.","default":"fluent","type":"string"},{"name":"sequence_tag","description":"Specify the sequence tag.","default":null,"type":"string"},{"name":"uri","description":"Specify a custom URI endpoint (must start with '/').","default":null,"type":"string"},{"name":"http_user","description":"HTTP Basic Auth username.","default":null,"type":"string"},{"name":"http_passwd","description":"HTTP Basic Auth password.","default":"","type":"string"},{"name":"http_token","description":"Set InfluxDB HTTP Token API v2.","default":null,"type":"string"},{"name":"http_header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"auto_tags","description":"Automatically tag keys where value is string.","default":"false","type":"boolean"},{"name":"tag_keys","description":"Space separated list of keys that needs to be tagged.","default":null,"type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"logdna","description":"LogDNA","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"logdna_host","description":"LogDNA Host address","default":"logs.logdna.com","type":"string"},{"name":"logdna_port","description":"LogDNA TCP port","default":"443","type":"integer"},{"name":"api_key","description":"Logdna API key","default":null,"type":"string"},{"name":"hostname","description":"Local Server or device host name","default":null,"type":"string"},{"name":"mac","description":"MAC address (optional)","default":"","type":"string"},{"name":"ip","description":"IP address (optional)","default":"","type":"string"},{"name":"tags","description":"Tags (optional)","default":"","type":"multiple comma delimited strings"},{"name":"file","description":"Name of the monitored file (optional)","default":null,"type":"string"},{"name":"app","description":"Name of the application generating the data (optional)","default":"Fluent Bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"loki","description":"Loki","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify a custom HTTP URI. It must start with forward slash.","default":"/loki/api/v1/push","type":"string"},{"name":"tenant_id","description":"Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.","default":null,"type":"string"},{"name":"tenant_id_key","description":"If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.","default":null,"type":"string"},{"name":"labels","description":"labels for API requests. If no value is set, the default label is 'job=fluent-bit'","default":null,"type":"multiple comma delimited strings"},{"name":"auto_kubernetes_labels","description":"If set to true, it will add all Kubernetes labels to Loki labels.","default":"false","type":"boolean"},{"name":"drop_single_key","description":"If set to true and only a single key remains, the log line sent to Loki will be the value of that key.","default":"false","type":"boolean"},{"name":"label_keys","description":"Comma separated list of keys to use as stream labels.","default":null,"type":"multiple comma delimited strings"},{"name":"remove_keys","description":"Comma separated list of keys to remove.","default":null,"type":"multiple comma delimited strings"},{"name":"line_format","description":"Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.","default":"json","type":"string"},{"name":"label_map_path","description":"A label map file path","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"kafka","description":"Kafka","properties":{"options":[{"name":"topic_key","description":"Which record to use as the kafka topic.","default":null,"type":"string"},{"name":"dynamic_topic","description":"Activate dynamic topics.","default":"false","type":"boolean"},{"name":"format","description":"Set the record output format.","default":null,"type":"string"},{"name":"message_key","description":"Which record key to use as the message data.","default":null,"type":"string"},{"name":"message_key_field","description":"Which record key field to use as the message data.","default":null,"type":"string"},{"name":"timestamp_key","description":"Set the key for the the timestamp.","default":"@timestamp","type":"string"},{"name":"timestamp_format","description":"Set the format the timestamp is in.","default":null,"type":"string"},{"name":"queue_full_retries","description":"Set the number of local retries to enqueue the data.","default":"10","type":"integer"},{"name":"gelf_timestamp_key","description":"Set the timestamp key for gelf output.","default":null,"type":"string"},{"name":"gelf_host_key","description":"Set the host key for gelf output.","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Set the short message key for gelf output.","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Set the full message key for gelf output.","default":null,"type":"string"},{"name":"gelf_level_key","description":"Set the level key for gelf output.","default":null,"type":"string"},{"name":"schema_str","description":"Set AVRO schema.","default":null,"type":"string"},{"name":"schema_id","description":"Set AVRO schema ID.","default":null,"type":"string"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the kafka group_id.","default":null,"type":"prefixed string"}]}},{"type":"output","name":"kafka-rest","description":"Kafka REST Proxy","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"message_key","description":"Specify a message key. ","default":null,"type":"string"},{"name":"time_key","description":"Specify the name of the field that holds the record timestamp. ","default":null,"type":"string"},{"name":"topic","description":"Specify the kafka topic. ","default":"fluent-bit","type":"string"},{"name":"url_path","description":"Specify an optional HTTP URL path for the target web server, e.g: /something","default":null,"type":"string"},{"name":"partition","description":"Specify kafka partition number. ","default":"-1","type":"double"},{"name":"time_key_format","description":"Specify the format of the timestamp. ","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"include_tag_key","description":"Specify whether to append tag name to final record. ","default":"false","type":"boolean"},{"name":"tag_key","description":"Specify the key name of the record if include_tag_key is enabled. ","default":"_flb-key","type":"string"},{"name":"avro_http_header","description":"Specify if the format has avro header in http request","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"nats","description":"NATS Server","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"nrlogs","description":"New Relic","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"base_uri","description":"New Relic Host address","default":"https://log-api.newrelic.com/log/v1","type":"string"},{"name":"api_key","description":"New Relic API Key","default":null,"type":"string"},{"name":"license_key","description":"New Relic License Key","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism","default":"gzip","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"null","description":"Throws away events","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specifies the name of the date field in output.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"date","type":"string"}]}},{"type":"output","name":"opensearch","description":"OpenSearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in 'http_user'","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":"default","type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the OpenSearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the OpenSearch exception to stderr (for diag only)","default":"false","type":"boolean"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"oracle_log_analytics","description":"Oracle log analytics","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"config_file_location","description":"Location of the oci config file for user api key signing","default":"","type":"string"},{"name":"profile_name","description":"name of the profile in the config file from which the user configs should be loaded","default":"DEFAULT","type":"string"},{"name":"oci_config_in_record","description":"If true, oci_la_* configs will be read from the record","default":"false","type":"boolean"},{"name":"uri","description":"Set the uri for rest api request","default":null,"type":"string"},{"name":"oci_la_log_group_id","description":"log group id","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_type","description":"","default":null,"type":"string"},{"name":"oci_la_log_source_name","description":"","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_log_path","description":"","default":null,"type":"string"},{"name":"oci_la_global_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"oci_la_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"namespace","description":"namespace in your tenancy where the log objects reside","default":null,"type":"string"},{"name":"proxy","description":"define proxy if required, in http://host:port format, supports only http protocol","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"plot","description":"Generate data file for GNU Plot","properties":{"options":[{"name":"key","description":"set a number of times to generate event.","default":null,"type":"string"},{"name":"file","description":"set a number of times to generate event.","default":null,"type":"string"}]}},{"type":"output","name":"scalyr_dataset","description":"Send events to scalyr's dataset HTTP API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"token","description":"Specify the Authentication Bearer Token for the Dataset API.","default":null,"type":"string"},{"name":"server_host","description":"Specify the serverHost in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"server_type","description":"Specify the serverType in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"region","description":"Specify the region in the Scalyr sessionInfo.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"skywalking","description":"Send logs into log collector on SkyWalking OAP","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"auth_token","description":"Auth token for SkyWalking OAP","default":null,"type":"string"},{"name":"svc_name","description":"Service name","default":"sw-service","type":"string"},{"name":"svc_inst_name","description":"Instance name","default":"fluent-bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"slack","description":"Send events to a Slack channel","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"webhook","description":"","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"splunk","description":"Send events to Splunk HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"event_key","description":"Specify the key name that will be used to send a single value as part of the record.","default":null,"type":"string"},{"name":"event_host","description":"Set the host value to the event data. The value allows a record accessor pattern.","default":null,"type":"string"},{"name":"event_source","description":"Set the source value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype","description":"Set the sourcetype value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype_key","description":"Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.","default":null,"type":"string"},{"name":"event_index","description":"The name of the index by which the event data is to be indexed.","default":null,"type":"string"},{"name":"event_index_key","description":"Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.","default":null,"type":"string"},{"name":"event_field","description":"Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"splunk_token","description":"Specify the Authentication Token for the HTTP Event Collector interface.","default":null,"type":"string"},{"name":"splunk_send_raw","description":"When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.","default":"off","type":"boolean"},{"name":"channel","description":"Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stackdriver","description":"Send events to Google Stackdriver Logging","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"metadata_server","description":"Set the metadata server","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"export_to_project_id","description":"Export to project id","default":null,"type":"string"},{"name":"project_id_key","description":"Set the gcp project id key","default":"logging.googleapis.com/projectId","type":"string"},{"name":"resource","description":"Set the resource","default":"global","type":"string"},{"name":"severity_key","description":"Set the severity key","default":"logging.googleapis.com/severity","type":"string"},{"name":"autoformat_stackdriver_trace","description":"Autoformat the stackdriver trace","default":"false","type":"boolean"},{"name":"trace_key","description":"Set the trace key","default":"logging.googleapis.com/trace","type":"string"},{"name":"span_id_key","description":"Set the span id key","default":"logging.googleapis.com/spanId","type":"string"},{"name":"trace_sampled_key","description":"Set the trace sampled key","default":"logging.googleapis.com/traceSampled","type":"string"},{"name":"log_name_key","description":"Set the logname key","default":"logging.googleapis.com/logName","type":"string"},{"name":"http_request_key","description":"Set the http request key","default":"logging.googleapis.com/http_request","type":"string"},{"name":"k8s_cluster_name","description":"Set the kubernetes cluster name","default":null,"type":"string"},{"name":"k8s_cluster_location","description":"Set the kubernetes cluster location","default":null,"type":"string"},{"name":"location","description":"Set the resource location","default":null,"type":"string"},{"name":"namespace","description":"Set the resource namespace","default":null,"type":"string"},{"name":"node_id","description":"Set the resource node id","default":null,"type":"string"},{"name":"job","description":"Set the resource job","default":null,"type":"string"},{"name":"task_id","description":"Set the resource task id","default":null,"type":"string"},{"name":"compress","description":"Set log payload compression method. Option available is 'gzip'","default":null,"type":"string"},{"name":"labels","description":"Set the labels","default":null,"type":"multiple comma delimited strings"},{"name":"labels_key","description":"Set the labels key","default":"logging.googleapis.com/labels","type":"string"},{"name":"tag_prefix","description":"Set the tag prefix","default":null,"type":"string"},{"name":"stackdriver_agent","description":"Set the stackdriver agent","default":null,"type":"string"},{"name":"custom_k8s_regex","description":"Set a custom kubernetes regex filter","default":"(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$","type":"string"},{"name":"resource_labels","description":"Set the resource labels","default":null,"type":"multiple comma delimited strings"},{"name":"test_log_entry_format","description":"Test log entry format","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stdout","description":"Prints events to STDOUT","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"}]}},{"type":"output","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.","default":"udp","type":"string"},{"name":"syslog_format","description":"Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.","default":"rfc5424","type":"string"},{"name":"syslog_maxsize","description":"Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.","default":"0","type":"size"},{"name":"syslog_severity_key","description":"Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_severity_preset","description":"Specify the preset severity number. It must be 0-7. This configuration is optional.","default":"6","type":"integer"},{"name":"syslog_facility_key","description":"Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_facility_preset","description":"Specify the preset facility number. It must be 0-23. This configuration is optional.","default":"1","type":"integer"},{"name":"syslog_hostname_key","description":"Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_hostname_preset","description":"Specify the preset hostname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_key","description":"Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_preset","description":"Specify the preset appname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_key","description":"Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_preset","description":"Specify the preset procid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_key","description":"Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_preset","description":"Specify the preset msgid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_sd_key","description":"Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.","default":null,"type":"string"},{"name":"syslog_message_key","description":"Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.","default":null,"type":"string"},{"name":"allow_longer_sd_id","description":"If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"tcp","description":"TCP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"msgpack","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"udp","description":"UDP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"json_lines","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"td","description":"Treasure Data","properties":{"options":[{"name":"API","description":"Set the API key","default":null,"type":"string"},{"name":"Database","description":"Set the Database file","default":null,"type":"string"},{"name":"Table","description":"Set the Database Table","default":null,"type":"string"},{"name":"Region","description":"Set the Region: us or jp","default":null,"type":"string"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"lib","description":"Library mode Output","properties":{}},{"type":"output","name":"flowcounter","description":"FlowCounter","properties":{"options":[{"name":"unit","description":"","default":null,"type":"string"},{"name":"event_based","description":"","default":"false","type":"boolean"}]}},{"type":"output","name":"gelf","description":"GELF Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"The protocol to use. 'tls', 'tcp' or 'udp'","default":"udp","type":"string"},{"name":"gelf_short_message_key","description":"A short descriptive message (MUST be set in GELF)","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Timestamp key name (SHOULD be set in GELF)","default":null,"type":"string"},{"name":"gelf_host_key","description":"Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)","default":null,"type":"string"},{"name":"gelf_level_key","description":"Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)","default":null,"type":"string"},{"name":"packet_size","description":"If transport protocol is udp, you can set the size of packets to be sent.","default":"1420","type":"integer"},{"name":"compress","description":"If transport protocol is udp, you can set this if you want your UDP packets to be compressed.","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"websocket","description":"Websocket","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify an optional URI for the target web socket server, e.g: /something","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"cloudwatch_logs","description":"Send logs to Amazon CloudWatch","properties":{"options":[{"name":"region","description":"The AWS region to send logs to","default":null,"type":"string"},{"name":"log_group_name","description":"CloudWatch Log Group Name","default":null,"type":"string"},{"name":"log_stream_name","description":"CloudWatch Log Stream Name; not compatible with `log_stream_prefix`","default":null,"type":"string"},{"name":"log_stream_prefix","description":"Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name","default":null,"type":"string"},{"name":"log_group_template","description":"Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.","default":null,"type":"string"},{"name":"log_stream_template","description":"Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.","default":null,"type":"string"},{"name":"extra_user_agent","description":"This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.","default":null,"type":"string"},{"name":"log_format","description":"An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"auto_create_group","description":"Automatically create the log group (log streams will always automatically be created)","default":"false","type":"boolean"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"log_retention_days","description":"If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]","default":"0","type":"integer"},{"name":"endpoint","description":"Specify a custom endpoint for the CloudWatch Logs API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Specify a custom endpoint for the STS API, can be used with the role_arn parameter","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"metric_namespace","description":"Metric namespace for CloudWatch EMF logs","default":null,"type":"string"},{"name":"metric_dimensions","description":"Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_firehose","description":"Send logs to Amazon Kinesis Firehose","properties":{"options":[{"name":"region","description":"The AWS region of your delivery stream","default":null,"type":"string"},{"name":"delivery_stream","description":"Firehose delivery stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Firehose API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"compression","description":"Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_streams","description":"Send logs to Amazon Kinesis Streams","properties":{"options":[{"name":"region","description":"The AWS region of your kinesis stream","default":null,"type":"string"},{"name":"stream","description":"Kinesis stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Kinesis API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"metrics_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/metrics","type":"string"},{"name":"batch_size","description":"Set the maximum number of log records to be flushed at a time","default":"1000","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"logs_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/logs","type":"string"},{"name":"logs_body_key","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":null,"type":"string"},{"name":"logs_body_key_attributes","description":"If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.","default":"false","type":"boolean"},{"name":"traces_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/traces","type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"logs_observed_timestamp_metadata_key","description":"Specify an ObservedTimestamp key","default":"$ObservedTimestamp","type":"string"},{"name":"logs_timestamp_metadata_key","description":"Specify a Timestamp key","default":"$Timestamp","type":"string"},{"name":"logs_severity_text_metadata_key","description":"Specify a SeverityText key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_metadata_key","description":"Specify a SeverityNumber key","default":"$SeverityNumber","type":"string"},{"name":"logs_trace_flags_metadata_key","description":"Specify a TraceFlags key","default":"$TraceFlags","type":"string"},{"name":"logs_span_id_metadata_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_metadata_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_attributes_metadata_key","description":"Specify an Attributes key","default":"$Attributes","type":"string"},{"name":"logs_instrumentation_scope_metadata_key","description":"Specify an InstrumentationScope key","default":"InstrumentationScope","type":"string"},{"name":"logs_resource_metadata_key","description":"Specify a Resource key","default":"Resource","type":"string"},{"name":"logs_span_id_message_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_message_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_severity_text_message_key","description":"Specify a Severity Text key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_message_key","description":"Specify a Severity Number key","default":"$SeverityNumber","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"prometheus_exporter","description":"Prometheus Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"add_timestamp","description":"Add timestamp to every metric honoring collection time.","default":"false","type":"boolean"},{"name":"add_label","description":"TCP port for listening for HTTP connections.","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"prometheus_remote_write","description":"Prometheus remote write","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"compression","description":"Compress the payload with either snappy, gzip if set","default":"snappy","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":"aps","type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"s3","description":"Send to S3","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"aws_shared_credentials_file","description":"Path to the AWS shared credentials file.","default":"","type":"string"},{"name":"aws_config_file","description":"Path to the AWS default configuration file.","default":"","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"},{"name":"total_file_size","description":"Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB","default":"100000000","type":"size"},{"name":"upload_chunk_size","description":"This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.","default":"5242880","type":"size"},{"name":"upload_timeout","description":"Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.","default":"10m","type":"time"},{"name":"bucket","description":"S3 bucket name.","default":null,"type":"string"},{"name":"region","description":"AWS region.","default":"us-east-1","type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Custom endpoint for the S3 API.","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"canned_acl","description":"Predefined Canned ACL policy for S3 objects.","default":null,"type":"string"},{"name":"compression","description":"Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.","default":null,"type":"string"},{"name":"content_type","description":"A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.","default":null,"type":"string"},{"name":"store_dir","description":"Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.","default":"/tmp/fluent-bit/s3","type":"string"},{"name":"store_dir_limit_size","description":"S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.","default":null,"type":"size"},{"name":"s3_key_format","description":"Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.","default":"/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S","type":"string"},{"name":"s3_key_format_tag_delimiters","description":"A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.","default":".","type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"use_put_object","description":"Use the S3 PutObject API, instead of the multipart upload API","default":"false","type":"boolean"},{"name":"send_content_md5","description":"Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled","default":"false","type":"boolean"},{"name":"preserve_data_ordering","description":"Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.","default":"true","type":"boolean"},{"name":"log_key","description":"By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"static_file_path","description":"Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.","default":"false","type":"boolean"},{"name":"storage_class","description":"Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"vivo_exporter","description":"Vivo Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"empty_stream_on_read","description":"If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed","default":"off","type":"boolean"},{"name":"stream_queue_size","description":"Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.","default":"20M","type":"size"},{"name":"http_cors_allow_origin","description":"Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"chronicle","description":"Send logs to Google Chronicle as unstructured log","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"customer_id","description":"Set the customer id","default":null,"type":"string"},{"name":"log_type","description":"Set the log type","default":null,"type":"string"},{"name":"region","description":"Set the region","default":null,"type":"string"},{"name":"log_key","description":"Set the log key","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}}]} diff --git a/schemas/24.6.5/core-fluent-bit-lua-pretty.json b/schemas/24.6.5/core-fluent-bit-lua-pretty.json new file mode 100644 index 0000000..50e7a84 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit-lua-pretty.json @@ -0,0 +1,1106 @@ +{ + "processingRules": { + "aggregate": { + "description": "Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "compute": { + "additionalProperties": { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + }, + "description": "Additional keys which will be computed for each group", + "type": "object" + }, + "keys": { + "description": "Keys which will be used for grouping", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "prefixItems": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "type": "array" + } + ] + }, + "type": "array" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "keys", + "window", + "compute" + ], + "type": "object" + }, + "label": "Aggregate records (preview)", + "uiSchema": { + "labels": { + "compute": "Compute keys (Should be formatted as a JSON object)", + "keys": "Select keys (Should be formatted as a JSON array of strings)", + "window": "Time window" + }, + "ordering": [ + "window", + "keys", + "compute" + ] + } + }, + "allow_keys": { + "description": "Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match allowed keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow keys" + }, + "allow_records": { + "description": "Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Allow records" + }, + "block_keys": { + "description": "Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "nestedPath": { + "default": "", + "description": "If set, this is a nested access pattern for matchin keys in a subrecord", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used match blocked keys", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block keys" + }, + "block_records": { + "description": "Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "default": "log", + "description": "Key that will be checked", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Regular expression that will be used match the key", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Block records" + }, + "copy": { + "description": "Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "dst", + "src" + ], + "type": "object" + }, + "label": "Copy keys" + }, + "csv_decode": { + "description": "Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_csv", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "header": { + "default": "", + "description": "Preset header for the parsed CSV stream.", + "type": "string" + }, + "parseHeader": { + "default": false, + "type": "boolean" + }, + "src": { + "default": "log", + "description": "Source key which contains raw CSV data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode CSV", + "uiSchema": { + "labels": { + "parseHeader": "Parse header" + } + } + }, + "csv_encode": { + "description": "Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_csv", + "description": "Destination key which will receive the serialized CSV.", + "type": "string" + }, + "header": { + "description": "Preset header for the generated CSV stream", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode CSV (preview)", + "uiSchema": { + "labels": { + "header": "Header (JSON array of strings)" + } + } + }, + "custom_script": { + "description": "Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "script": { + "default": "-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n", + "description": "Lua script implemented similarly to fluent-bit Lua filters.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Custom Lua", + "uiSchema": { + "form": { + "script": "code:lua" + }, + "labels": { + "script": "Lua script" + } + } + }, + "deduplicate": { + "description": "Deduplicate records in a time window(specified in seconds), based on a single key.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key to use for deduplicating records", + "type": "string" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "key" + ], + "type": "object" + }, + "label": "Deduplicate records", + "uiSchema": { + "labels": { + "key": "Select key", + "window": "Time window" + }, + "ordering": [ + "window", + "key" + ] + } + }, + "delete": { + "description": "Delete `key` from the record.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be deleted", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Delete key" + }, + "extract_kv": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "dst", + "src", + "regex" + ], + "type": "object" + }, + "label": "Extract keys/values" + }, + "flatten": { + "description": "Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the flattened object will not be removed from the record.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Flatten subrecord", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "hash": { + "description": "Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "algo": { + "default": "sha256", + "description": "Hash algorithm", + "enum": [ + "sha256", + "md5" + ], + "type": "string" + }, + "dst": { + "description": "Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".", + "type": "string" + }, + "encoding": { + "default": "hex", + "description": "Encoding algorithm", + "enum": [ + "hex", + "binary", + "base64" + ], + "type": "string" + }, + "src": { + "description": "Source key from which will be used to compute the hash", + "type": "string" + } + }, + "required": [ + "src", + "algo", + "encoding" + ], + "type": "object" + }, + "label": "Hash key", + "uiSchema": { + "labels": { + "base64": "Base64", + "binary": "Binary", + "hex": "Hexadecimal", + "md5": "MD5", + "sha256": "SHA256" + } + } + }, + "join": { + "description": "Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains the nested array items in each split record.", + "type": "string" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not found, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Join records by tag and timestamp", + "uiSchema": { + "labels": { + "key": "Key which will be joined in an array" + } + } + }, + "json_decode": { + "description": "Decode JSON data in the key `src` into key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "decoded_json", + "description": "Destination key which will receive the parsed object.", + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key which contains raw JSON data.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Decode JSON" + }, + "json_encode": { + "description": "Encode the object in the key `src` as JSON into the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "encoded_json", + "description": "Destination key which will receive the serialized JSON.", + "type": "string" + }, + "src": { + "description": "Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Encode JSON" + }, + "lift": { + "description": "Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "keepOrig": { + "default": false, + "description": "If true, the original key will not be removed from the parent.", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested object to be merged.", + "type": "string" + }, + "keyReplacement": { + "default": "%1", + "description": "Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)", + "type": "string" + }, + "levels": { + "default": 1, + "description": "How many levels the keys will be lifted.", + "type": "integer" + }, + "regex": { + "default": "^.+$", + "description": "Regular expression that will be used match keys that will be merged", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Lift submap", + "uiSchema": { + "labels": { + "keepOrig": "Keep original key/submap" + } + } + }, + "multiline_join": { + "description": "Use regular expression to match start of a new record and join previously buffered lines together.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "lineLimit": { + "default": 1000, + "description": "Maximum number of lines to join.", + "minimum": 2, + "type": "integer" + }, + "regex": { + "description": "Regular expression to match the start of a new record.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "default": "log", + "description": "Source key from which lines will be joined.", + "type": "string" + } + }, + "required": [ + "regex" + ], + "type": "object" + }, + "label": "Multiline Join" + }, + "nest": { + "description": "Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "nested", + "description": "Destination key which will receive the nested keys.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive (regexMode only).", + "type": "boolean" + }, + "merge": { + "default": false, + "description": "If the destination map already exists, merge the nested keys.", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be interpreted as a regex.", + "type": "boolean" + }, + "src": { + "description": "Source keys which will be nested. If missing, the whole record will be nested.", + "type": "string" + } + }, + "type": "object" + }, + "label": "Nest keys", + "uiSchema": { + "labels": { + "merge": "Merge to existing map" + } + } + }, + "parse": { + "description": "Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "default": "parsed", + "description": "Destination key which will contain the parsed object", + "type": "string" + }, + "regex": { + "description": "Regular expression that will be used to extract keys/values. It must have named capture groups.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "src": { + "description": "Source key from which keys/values will be extracted from.", + "type": "string" + } + }, + "required": [ + "src", + "regex" + ], + "type": "object" + }, + "label": "Parse" + }, + "parse_number": { + "description": "Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "base": { + "default": 10, + "description": "Numeric base", + "type": "integer" + }, + "key": { + "description": "Key from which a number will be extracted.", + "type": "string" + }, + "regex": { + "default": "[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)", + "description": "Regular expression used to extract number from the value.", + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Parse number" + }, + "put": { + "description": "Add or Set `key` = `value`. If the key already exists, it will be overriden.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which will be added/updated", + "type": "string" + }, + "value": { + "description": "New value for the key", + "type": "string" + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "label": "Add/Set key/value", + "uiSchema": { + "labels": { + "value": "Value" + }, + "ordering": [ + "key", + "value" + ] + } + }, + "redact": { + "description": "Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be redacted.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be redacted.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replaceChar": { + "default": "*", + "description": "Characters which will replace the value.", + "type": "string" + } + }, + "required": [ + "key", + "regex" + ], + "type": "object" + }, + "label": "Redact/mask value", + "uiSchema": { + "labels": { + "replaceChar": "Replacement characters" + }, + "ordering": [ + "key", + "regex", + "replaceChar" + ] + } + }, + "rename": { + "description": "Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dst": { + "description": "Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "regexMode": { + "default": false, + "description": "If set, `src` will be treated as a regex and `dst` as a substitution pattern.", + "type": "boolean" + }, + "src": { + "description": "Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.", + "type": "string" + } + }, + "required": [ + "src", + "dst" + ], + "type": "object" + }, + "label": "Rename keys" + }, + "replace": { + "description": "Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "key": { + "description": "Key which contains value to be replaced.", + "type": "string" + }, + "matchCase": { + "default": false, + "description": "Flag which controls if the regex match will be case-sensitive", + "type": "boolean" + }, + "regex": { + "description": "Pattern within the value which will be replaced.", + "type": "string" + }, + "regexEngine": { + "default": "pcre2", + "description": "Regular expression engine to use", + "enum": [ + "pcre2", + "onig", + "posix", + "tre", + "gnu" + ], + "type": "string" + }, + "replacement": { + "description": "Replacement pattern. Can reference capture groups in the `regex`.", + "type": "string" + }, + "submax": { + "description": "Maximum number of substitutions", + "type": "integer" + } + }, + "required": [ + "key", + "regex", + "replacement" + ], + "type": "object" + }, + "label": "Search/replace value", + "uiSchema": { + "labels": { + "replacement": "Replacement (can specify captures with %1, %2, ...)" + }, + "ordering": [ + "key", + "regex", + "matchCase", + "submax" + ] + } + }, + "sampling": { + "description": "Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "percentage": { + "description": "Percentage of records to be flushed", + "maximum": 100, + "minimum": 1, + "type": "integer" + }, + "seed": { + "description": "Optional seed for random number generator", + "type": "integer" + }, + "window": { + "description": "Time window in seconds", + "type": "integer" + } + }, + "required": [ + "window", + "percentage" + ], + "type": "object" + }, + "label": "Random sampling (preview)", + "uiSchema": { + "labels": { + "percentage": "Sample %", + "window": "Time window" + }, + "ordering": [ + "window", + "percentage" + ] + } + }, + "split": { + "description": "Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field", + "jsonSchema": { + "additionalProperties": false, + "properties": { + "dest": { + "default": "", + "description": "Destination key to contain the array item. If empty, defaults to \"key\"", + "type": "string" + }, + "keepOrig": { + "default": false, + "description": "Keep \"key\" when it is different than \"dest\"", + "type": "boolean" + }, + "key": { + "description": "Key which contains the nested array.", + "type": "string" + }, + "skipEmpty": { + "default": false, + "description": "If the specified key is an empty array, don't touch the record", + "type": "boolean" + }, + "skipMissing": { + "default": false, + "description": "If the specified key is not an array, don't touch the record", + "type": "boolean" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "label": "Split record", + "uiSchema": { + "labels": { + "dest": "Destination key", + "keepOrig": "Keep original array", + "skipEmpty": "Ignore if array is empty", + "skipMissing": "Ignore if missing" + } + } + } + }, + "uiSchemaFallback": { + "errors": { + "should be integer": "Should be an integer" + }, + "labels": { + "dst": "Destination key", + "gnu": "GNU", + "key": "Key", + "matchCase": "Match case", + "onig": "Oniguruma", + "pcre2": "PCRE2", + "posix": "POSIX", + "regex": "Regex", + "regexEngine": "Regex engine", + "regexExtended": "Extended regex syntax", + "regexMode": "Regex mode", + "src": "Source key", + "tre": "TRE" + }, + "ordering": [ + "src", + "dst", + "key", + "regex", + "matchCase", + "regexEngine", + "regexExtended" + ] + }, + "version": "v0.1-dev" +} diff --git a/schemas/24.6.5/core-fluent-bit-lua.json b/schemas/24.6.5/core-fluent-bit-lua.json new file mode 100644 index 0000000..ca28c98 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit-lua.json @@ -0,0 +1 @@ +{"processingRules":{"aggregate":{"description":"Aggregate records in a time window(specified in seconds), grouping by a set of keys and computing new keys on aggregated data. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"compute":{"additionalProperties":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"},"description":"Additional keys which will be computed for each group","type":"object"},"keys":{"description":"Keys which will be used for grouping","items":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array"}]},"type":"array"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["keys","window","compute"],"type":"object"},"label":"Aggregate records (preview)","uiSchema":{"labels":{"compute":"Compute keys (Should be formatted as a JSON object)","keys":"Select keys (Should be formatted as a JSON array of strings)","window":"Time window"},"ordering":["window","keys","compute"]}},"allow_keys":{"description":"Remove all keys that don't match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match allowed keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow keys"},"allow_records":{"description":"Drop all record that have a key not matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Allow records"},"block_keys":{"description":"Remove all keys that match a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"nestedPath":{"default":"","description":"If set, this is a nested access pattern for matchin keys in a subrecord","type":"string"},"regex":{"description":"Regular expression that will be used match blocked keys","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block keys"},"block_records":{"description":"Drop all record that have a key matching a regular expression. If `matchCase` is set, the match will be case sensitive.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"default":"log","description":"Key that will be checked","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Regular expression that will be used match the key","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["regex"],"type":"object"},"label":"Block records"},"copy":{"description":"Copy key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that match the regex will be copied to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be copied to. If `regexMode` is true, this can reference captured groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be copied from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["dst","src"],"type":"object"},"label":"Copy keys"},"csv_decode":{"description":"Decode CSV data in the key `src` into key `dst`. If `parseHeader` option is set, the first row of parsed CSV is treated as the header, and subsequent rows will be parsed as key/value pairs. If not, the data will be parsed as array of values.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_csv","description":"Destination key which will receive the parsed object.","type":"string"},"header":{"default":"","description":"Preset header for the parsed CSV stream.","type":"string"},"parseHeader":{"default":false,"type":"boolean"},"src":{"default":"log","description":"Source key which contains raw CSV data.","type":"string"}},"type":"object"},"label":"Decode CSV","uiSchema":{"labels":{"parseHeader":"Parse header"}}},"csv_encode":{"description":"Encode object in the key `src` as CSV into the key `dst`. If `header` is set, then it will be used to extract keys/values from `src`, and the generated CSV stream will have the header. If not, then `src` must be an array of strings. This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_csv","description":"Destination key which will receive the serialized CSV.","type":"string"},"header":{"description":"Preset header for the generated CSV stream","type":"string"},"src":{"description":"Source key which contains the object to be converted to CSV. If `header` is not set, this must be an array of strings.","type":"string"}},"type":"object"},"label":"Encode CSV (preview)","uiSchema":{"labels":{"header":"Header (JSON array of strings)"}}},"custom_script":{"description":"Inject a Lua script in the processing rule pipeline. The script must return a function that has the same interface as the one implemented by fluent-bit Lua filters.","jsonSchema":{"additionalProperties":false,"properties":{"script":{"default":"-- The function below has an API similar to that of fluent-bit Lua scripts.\n-- The main exception is the extra paramenter `code`, which contains the value\n-- returned by the previous processing rule.\n--\n-- See https://docs.fluentbit.io/manual/pipeline/filters/lua for details.\nreturn function(tag, ts, record, code)\n -- Add statements before the \"return\" line.\n -- You can access a certain field (\"field_a\" for example) in\n -- using \"record.field_a\" or \"record['field_a']\".\n --\n -- Here's a simple example that concatenates \"key_one\" and \"key_two\" to\n -- a new field named \"key_three\"\n --\n -- record.key_three = tostring(record.key_one) .. tostring(record.key_two)\n return code, ts, record\nend\n","description":"Lua script implemented similarly to fluent-bit Lua filters.","type":"string"}},"type":"object"},"label":"Custom Lua","uiSchema":{"form":{"script":"code:lua"},"labels":{"script":"Lua script"}}},"deduplicate":{"description":"Deduplicate records in a time window(specified in seconds), based on a single key.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key to use for deduplicating records","type":"string"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","key"],"type":"object"},"label":"Deduplicate records","uiSchema":{"labels":{"key":"Select key","window":"Time window"},"ordering":["window","key"]}},"delete":{"description":"Delete `key` from the record.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be deleted","type":"string"}},"required":["key"],"type":"object"},"label":"Delete key"},"extract_kv":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must have two captures, which will be set as the key and value. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have two capture groups, which will be the key and value.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["dst","src","regex"],"type":"object"},"label":"Extract keys/values"},"flatten":{"description":"Flatten a submap in the key `key` by extracting all keys/values and setting into the record object, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted.","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the flattened object will not be removed from the record.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the flattened key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"}},"required":["key"],"type":"object"},"label":"Flatten subrecord","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"hash":{"description":"Compute hash of a `src`. By default the result will go into a key in the format \"[SOURCE_KEY]_[HASH_ALGORITHM]\", but it can be overriden by setting `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"algo":{"default":"sha256","description":"Hash algorithm","enum":["sha256","md5"],"type":"string"},"dst":{"description":"Destination key which will contain the computed hash. Defaults to \"[SOURCE_KEY]_[HASH_ALGORITHM]\".","type":"string"},"encoding":{"default":"hex","description":"Encoding algorithm","enum":["hex","binary","base64"],"type":"string"},"src":{"description":"Source key from which will be used to compute the hash","type":"string"}},"required":["src","algo","encoding"],"type":"object"},"label":"Hash key","uiSchema":{"labels":{"base64":"Base64","binary":"Binary","hex":"Hexadecimal","md5":"MD5","sha256":"SHA256"}}},"join":{"description":"Join records that were previously split, based on their timestamp and tag. Records are joined and emitted when the timestamp for a specific tag changes.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains the nested array items in each split record.","type":"string"},"skipMissing":{"default":false,"description":"If the specified key is not found, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Join records by tag and timestamp","uiSchema":{"labels":{"key":"Key which will be joined in an array"}}},"json_decode":{"description":"Decode JSON data in the key `src` into key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"decoded_json","description":"Destination key which will receive the parsed object.","type":"string"},"src":{"default":"log","description":"Source key which contains raw JSON data.","type":"string"}},"type":"object"},"label":"Decode JSON"},"json_encode":{"description":"Encode the object in the key `src` as JSON into the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"encoded_json","description":"Destination key which will receive the serialized JSON.","type":"string"},"src":{"description":"Source key which contains the object to be converted to JSON. If missing, the whole record will be serialized.","type":"string"}},"type":"object"},"label":"Encode JSON"},"lift":{"description":"Lift a submap in the key `key` by extracting all keys/values and setting into the parent submap, then deleting `key`. If `regex` is set, only keys that match will be transferred. If `keepOrig` is set, then the submap is not deleted. The `levels` parameter configures how many times the lift is applied","jsonSchema":{"additionalProperties":false,"properties":{"keepOrig":{"default":false,"description":"If true, the original key will not be removed from the parent.","type":"boolean"},"key":{"description":"Key which contains the nested object to be merged.","type":"string"},"keyReplacement":{"default":"%1","description":"Regex replacement for the lifted key (HINT: %1 matches the original key, so \"prefix.%1\" adds \"prefix\" to the key)","type":"string"},"levels":{"default":1,"description":"How many levels the keys will be lifted.","type":"integer"},"regex":{"default":"^.+$","description":"Regular expression that will be used match keys that will be merged","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"}},"required":["key"],"type":"object"},"label":"Lift submap","uiSchema":{"labels":{"keepOrig":"Keep original key/submap"}}},"multiline_join":{"description":"Use regular expression to match start of a new record and join previously buffered lines together.","jsonSchema":{"additionalProperties":false,"properties":{"lineLimit":{"default":1000,"description":"Maximum number of lines to join.","minimum":2,"type":"integer"},"regex":{"description":"Regular expression to match the start of a new record.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"default":"log","description":"Source key from which lines will be joined.","type":"string"}},"required":["regex"],"type":"object"},"label":"Multiline Join"},"nest":{"description":"Nest keys listed in `src` under a new map in the key `dst`. If `regexMode` is set, `src` is interpreted as a regular expression, and all keys that match it will be included.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"nested","description":"Destination key which will receive the nested keys.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive (regexMode only).","type":"boolean"},"merge":{"default":false,"description":"If the destination map already exists, merge the nested keys.","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be interpreted as a regex.","type":"boolean"},"src":{"description":"Source keys which will be nested. If missing, the whole record will be nested.","type":"string"}},"type":"object"},"label":"Nest keys","uiSchema":{"labels":{"merge":"Merge to existing map"}}},"parse":{"description":"Use regular expression to extract key/value pairs from the text in `src`. The regex must use named captures, which will be used as the key for the captured values. The result is a map/object, which will be set to the key `dst`.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"default":"parsed","description":"Destination key which will contain the parsed object","type":"string"},"regex":{"description":"Regular expression that will be used to extract keys/values. It must have named capture groups.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"src":{"description":"Source key from which keys/values will be extracted from.","type":"string"}},"required":["src","regex"],"type":"object"},"label":"Parse"},"parse_number":{"description":"Parse numeric text in the key `key`. If `regex` is set, the pattern used to extract number text can be customized.","jsonSchema":{"additionalProperties":false,"properties":{"base":{"default":10,"description":"Numeric base","type":"integer"},"key":{"description":"Key from which a number will be extracted.","type":"string"},"regex":{"default":"[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)","description":"Regular expression used to extract number from the value.","type":"string"}},"required":["key"],"type":"object"},"label":"Parse number"},"put":{"description":"Add or Set `key` = `value`. If the key already exists, it will be overriden.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which will be added/updated","type":"string"},"value":{"description":"New value for the key","type":"string"}},"required":["key","value"],"type":"object"},"label":"Add/Set key/value","uiSchema":{"labels":{"value":"Value"},"ordering":["key","value"]}},"redact":{"description":"Hide a pattern specified by `regex` in the `key` by replacing it with a certain characted such as \"*\"(default).","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be redacted.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be redacted.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replaceChar":{"default":"*","description":"Characters which will replace the value.","type":"string"}},"required":["key","regex"],"type":"object"},"label":"Redact/mask value","uiSchema":{"labels":{"replaceChar":"Replacement characters"},"ordering":["key","regex","replaceChar"]}},"rename":{"description":"Move key `src` to `dst`. If `regexMode` is set, `src` is treated as a regular expression and `dst` as a substitution pattern. All keys that keys that match the regex will be moved to new keys defined by the substitution pattern, which can reference captures in the regex.","jsonSchema":{"additionalProperties":false,"properties":{"dst":{"description":"Destination key to which the value will be moved to. If `regexMode` is true, this can reference captured groups.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"regexMode":{"default":false,"description":"If set, `src` will be treated as a regex and `dst` as a substitution pattern.","type":"boolean"},"src":{"description":"Source key from which the value will be moved from. If `regexMode` is true, this can match multiple keys.","type":"string"}},"required":["src","dst"],"type":"object"},"label":"Rename keys"},"replace":{"description":"Use `regex` to do a global search/replace in the key specified by `key`. The `replacement` option can be used to specify a substitution pattern (which can reference captures). The `submax` option can be used to specify the maximum number of substitions done.","jsonSchema":{"additionalProperties":false,"properties":{"key":{"description":"Key which contains value to be replaced.","type":"string"},"matchCase":{"default":false,"description":"Flag which controls if the regex match will be case-sensitive","type":"boolean"},"regex":{"description":"Pattern within the value which will be replaced.","type":"string"},"regexEngine":{"default":"pcre2","description":"Regular expression engine to use","enum":["pcre2","onig","posix","tre","gnu"],"type":"string"},"replacement":{"description":"Replacement pattern. Can reference capture groups in the `regex`.","type":"string"},"submax":{"description":"Maximum number of substitutions","type":"integer"}},"required":["key","regex","replacement"],"type":"object"},"label":"Search/replace value","uiSchema":{"labels":{"replacement":"Replacement (can specify captures with %1, %2, ...)"},"ordering":["key","regex","matchCase","submax"]}},"sampling":{"description":"Sample random records in a time window (specified in seconds). This processing rule is still in preview and might not work for all cases.","jsonSchema":{"additionalProperties":false,"properties":{"percentage":{"description":"Percentage of records to be flushed","maximum":100,"minimum":1,"type":"integer"},"seed":{"description":"Optional seed for random number generator","type":"integer"},"window":{"description":"Time window in seconds","type":"integer"}},"required":["window","percentage"],"type":"object"},"label":"Random sampling (preview)","uiSchema":{"labels":{"percentage":"Sample %","window":"Time window"},"ordering":["window","percentage"]}},"split":{"description":"Split a record based on the contents of a nested array field. A new record will be created for each item in the array, copying all the original fields and moving the array item into the original array field","jsonSchema":{"additionalProperties":false,"properties":{"dest":{"default":"","description":"Destination key to contain the array item. If empty, defaults to \"key\"","type":"string"},"keepOrig":{"default":false,"description":"Keep \"key\" when it is different than \"dest\"","type":"boolean"},"key":{"description":"Key which contains the nested array.","type":"string"},"skipEmpty":{"default":false,"description":"If the specified key is an empty array, don't touch the record","type":"boolean"},"skipMissing":{"default":false,"description":"If the specified key is not an array, don't touch the record","type":"boolean"}},"required":["key"],"type":"object"},"label":"Split record","uiSchema":{"labels":{"dest":"Destination key","keepOrig":"Keep original array","skipEmpty":"Ignore if array is empty","skipMissing":"Ignore if missing"}}}},"uiSchemaFallback":{"errors":{"should be integer":"Should be an integer"},"labels":{"dst":"Destination key","gnu":"GNU","key":"Key","matchCase":"Match case","onig":"Oniguruma","pcre2":"PCRE2","posix":"POSIX","regex":"Regex","regexEngine":"Regex engine","regexExtended":"Extended regex syntax","regexMode":"Regex mode","src":"Source key","tre":"TRE"},"ordering":["src","dst","key","regex","matchCase","regexEngine","regexExtended"]},"version":"v0.1-dev"} diff --git a/schemas/24.6.5/core-fluent-bit-plugins-pretty.json b/schemas/24.6.5/core-fluent-bit-plugins-pretty.json new file mode 100644 index 0000000..7b5c0c0 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit-plugins-pretty.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.1", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.5/core-fluent-bit-plugins.json b/schemas/24.6.5/core-fluent-bit-plugins.json new file mode 100644 index 0000000..7b5c0c0 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit-plugins.json @@ -0,0 +1,64 @@ +{ + "plugins": [ + { + "name": "go-s3-replay-plugin", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-s3-replay", + "repository": "chronosphereio/calyptia-core-fluent-bit-s3-replay" + }, + { + "name": "calyptia-core-fluent-bit-dummy", + "version": "v3.0.3", + "artefact_name": "calyptia-core-fluent-bit-dummy", + "repository": "chronosphereio/calyptia-core-fluent-bit-dummy" + }, + { + "name": "calyptia-core-fluent-bit-gsuite-reporter", + "version": "v2.0.5", + "artefact_name": "calyptia-core-fluent-bit-gsuite-reporter", + "repository": "chronosphereio/calyptia-core-fluent-bit-gsuite-reporter" + }, + { + "name": "datagen", + "version": "v1.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-datagen", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-datagen" + }, + { + "name": "http_scraper", + "version": "v0.0.4", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-scraper", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-scraper" + }, + { + "name": "http_loader", + "version": "v0.8.3", + "artefact_name": "calyptia-core-fluent-bit-plugin-http-loader", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-http-loader" + }, + { + "name": "aws_kinesis_stream", + "version": "v0.0.5", + "artefact_name": "calyptia-core-fluent-bit-aws-kinesis-stream-input", + "repository": "chronosphereio/calyptia-core-fluent-bit-aws-kinesis-stream-input" + }, + { + "name": "s3_sqs", + "version": "v1.0.6", + "artefact_name": "calyptia-core-fluent-bit-plugin-input-s3-sqs", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-input-s3-sqs" + }, + { + "name": "azeventgrid", + "version": "v0.1.3", + "artefact_name": "calyptia-core-fluent-bit-azure-event-grid", + "repository": "chronosphereio/calyptia-core-fluent-bit-azure-event-grid" + }, + { + "name": "sqldb", + "version": "v0.2.1", + "artefact_name": "calyptia-core-fluent-bit-plugin-sqldb", + "repository": "chronosphereio/calyptia-core-fluent-bit-plugin-sqldb" + } + ] +} diff --git a/schemas/24.6.5/core-fluent-bit-pretty.json b/schemas/24.6.5/core-fluent-bit-pretty.json new file mode 100644 index 0000000..fd195b2 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit-pretty.json @@ -0,0 +1,13676 @@ +{ + "fluent-bit": { + "version": "24.6.5", + "schema_version": "1", + "os": "linux" + }, + "customs": [ + { + "type": "custom", + "name": "calyptia", + "description": "Calyptia Cloud", + "properties": { + "options": [ + { + "name": "api_key", + "description": "Calyptia Cloud API Key.", + "default": null, + "type": "string" + }, + { + "name": "store_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "calyptia_host", + "description": "", + "default": "cloud-api.calyptia.com", + "type": "string" + }, + { + "name": "calyptia_port", + "description": "", + "default": "443", + "type": "string" + }, + { + "name": "calyptia_tls", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "calyptia_tls.verify", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Label to append to the generated metric.", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "machine_id", + "description": "Custom machine_id to be used when registering agent", + "default": null, + "type": "string" + }, + { + "name": "fleet_id", + "description": "Fleet id to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "fleet.config_dir", + "description": "Base path for the configuration directory.", + "default": null, + "type": "string" + }, + { + "name": "fleet.interval_sec", + "description": "Set the collector interval", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet.interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "-1", + "type": "integer" + }, + { + "name": "fleet_name", + "description": "Fleet name to be used when registering agent in a fleet", + "default": null, + "type": "string" + }, + { + "name": "pipeline_id", + "description": "Pipeline ID for reporting to calyptia cloud.", + "default": null, + "type": "string" + } + ] + } + } + ], + "inputs": [ + { + "type": "input", + "name": "cpu", + "description": "CPU Usage", + "properties": { + "options": [ + { + "name": "pid", + "description": "Configure a single process to measure usage via their PID", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "mem", + "description": "Memory Usage", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (subseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "pid", + "description": "Set the PID of the process to measure", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "thermal", + "description": "Thermal", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "name_regex", + "description": "Set thermal name regular expression filter", + "default": null, + "type": "string" + }, + { + "name": "type_regex", + "description": "Set thermal type regular expression filter", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kmsg", + "description": "Kernel Log Buffer", + "properties": { + "options": [ + { + "name": "prio_level", + "description": "The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.", + "default": "8", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "proc", + "description": "Check Process health", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate alerts if process is down", + "default": "false", + "type": "boolean" + }, + { + "name": "mem", + "description": "Append memory usage to record", + "default": "true", + "type": "boolean" + }, + { + "name": "fd", + "description": "Append fd count to record", + "default": "true", + "type": "boolean" + }, + { + "name": "proc_name", + "description": "Define process name to health check", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "disk", + "description": "Diskstats", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "dev_name", + "description": "Set the device name", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "systemd", + "description": "Systemd (Journal) reader", + "properties": { + "options": [ + { + "name": "path", + "description": "Set the systemd journal path", + "default": null, + "type": "string" + }, + { + "name": "max_fields", + "description": "Set the maximum fields per notification", + "default": "8000", + "type": "integer" + }, + { + "name": "max_entries", + "description": "Set the maximum entries per notification", + "default": "5000", + "type": "integer" + }, + { + "name": "systemd_filter_type", + "description": "Set the systemd filter type to either 'and' or 'or'", + "default": null, + "type": "string" + }, + { + "name": "systemd_filter", + "description": "Add a systemd filter, can be set multiple times", + "default": null, + "type": "string" + }, + { + "name": "read_from_tail", + "description": "Read the journal from the end (tail)", + "default": "false", + "type": "boolean" + }, + { + "name": "lowercase", + "description": "Lowercase the fields", + "default": "false", + "type": "boolean" + }, + { + "name": "strip_underscores", + "description": "Strip undersecores from fields", + "default": "false", + "type": "boolean" + }, + { + "name": "db.sync", + "description": "Set the database sync mode: extra, full, normal or off", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "Set the database path", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "netif", + "description": "Network Interface Usage", + "properties": { + "options": [ + { + "name": "interface", + "description": "Set the interface, eg: eth0 or enp1s0", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "verbose", + "description": "Enable verbosity", + "default": "false", + "type": "boolean" + }, + { + "name": "test_at_init", + "description": "Testing interface at initialization", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "docker", + "description": "Docker containers metrics", + "properties": { + "options": [ + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "include", + "description": "A space-separated list of containers to include", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "A space-separated list of containers to exclude", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.containers", + "description": "containers directory", + "default": "/var/lib/docker/containers", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "docker_events", + "description": "Docker events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "unix_path", + "description": "Define Docker unix socket path to read events", + "default": "/var/run/docker.sock", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set buffer size to read events", + "default": "8k", + "type": "size" + }, + { + "name": "parser", + "description": "Optional parser for records, if not set, records are packages under 'key'", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the key name to store unparsed Docker events", + "default": "message", + "type": "string" + }, + { + "name": "reconnect.retry_limits", + "description": "Maximum number to retry to connect docker socket", + "default": "5", + "type": "integer" + }, + { + "name": "reconnect.retry_interval", + "description": "Retry interval to connect docker socket", + "default": "1", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "podman_metrics", + "description": "Podman metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "Scrape interval to collect the metrics of podman containers(defaults to 30s)", + "default": "30", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + }, + { + "name": "path.config", + "description": "Path to podman config file", + "default": null, + "type": "string" + }, + { + "name": "path.sysfs", + "description": "Path to sysfs subsystem directory", + "default": "/sys/fs/cgroup", + "type": "string" + }, + { + "name": "path.procfs", + "description": "Path to proc subsystem directory", + "default": "/proc", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "process_exporter_metrics", + "description": "Process Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "process_include_pattern", + "description": "include list regular expression", + "default": ".+", + "type": "string" + }, + { + "name": "process_exclude_pattern", + "description": "exclude list regular expression", + "default": null, + "type": "string" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread", + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "node_exporter_metrics", + "description": "Node Exporter Metrics (Prometheus Compatible)", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect metrics from the node.", + "default": "5", + "type": "time" + }, + { + "name": "collector.cpu.scrape_interval", + "description": "scrape interval to collect cpu metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.cpufreq.scrape_interval", + "description": "scrape interval to collect cpufreq metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.meminfo.scrape_interval", + "description": "scrape interval to collect meminfo metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.diskstats.scrape_interval", + "description": "scrape interval to collect diskstats metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filesystem.scrape_interval", + "description": "scrape interval to collect filesystem metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.uname.scrape_interval", + "description": "scrape interval to collect uname metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.stat.scrape_interval", + "description": "scrape interval to collect stat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.time.scrape_interval", + "description": "scrape interval to collect time metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.loadavg.scrape_interval", + "description": "scrape interval to collect loadavg metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.vmstat.scrape_interval", + "description": "scrape interval to collect vmstat metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.netdev.scrape_interval", + "description": "scrape interval to collect netdev metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.filefd.scrape_interval", + "description": "scrape interval to collect filefd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.textfile.scrape_interval", + "description": "scrape interval to collect textfile metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.systemd.scrape_interval", + "description": "scrape interval to collect systemd metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.processes.scrape_interval", + "description": "scrape interval to collect processes metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.thermalzone.scrape_interval", + "description": "scrape interval to collect thermal zone metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "collector.nvme.scrape_interval", + "description": "scrape interval to collect nvme metrics from the node.", + "default": "0", + "type": "time" + }, + { + "name": "metrics", + "description": "Comma separated list of keys to enable metrics.", + "default": "cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone", + "type": "multiple comma delimited strings" + }, + { + "name": "collector.textfile.path", + "description": "Specify file path or directory to collect textfile metrics from the node.", + "default": null, + "type": "string" + }, + { + "name": "path.procfs", + "description": "procfs mount point", + "default": "/proc", + "type": "string" + }, + { + "name": "path.sysfs", + "description": "sysfs mount point", + "default": "/sys", + "type": "string" + }, + { + "name": "systemd_service_restart_metrics", + "description": "include systemd service restart metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_unit_start_time_metrics", + "description": "include systemd unit start time metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_service_task_metrics", + "description": "include systemd service task metrics", + "default": "false", + "type": "boolean" + }, + { + "name": "systemd_include_pattern", + "description": "include list regular expression", + "default": null, + "type": "string" + }, + { + "name": "systemd_exclude_pattern", + "description": "exclude list regular expression", + "default": ".+\\.(automount|device|mount|scope|slice)", + "type": "string" + }, + { + "name": "filesystem.ignore_mount_point_regex", + "description": "ignore regular expression for mount points", + "default": "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)", + "type": "string" + }, + { + "name": "filesystem.ignore_filesystem_type_regex", + "description": "ignore regular expression for filesystem types", + "default": "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$", + "type": "string" + }, + { + "name": "diskstats.ignore_device_regex", + "description": "ignore regular expression for disk devices", + "default": "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$", + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kubernetes_events", + "description": "Kubernetes Events", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the polling interval for each channel", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the polling interval for each channel (sub seconds)", + "default": "500000000", + "type": "integer" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_request_limit", + "description": "kubernetes limit parameter for events query, no limit applied when set to 0", + "default": "0", + "type": "integer" + }, + { + "name": "kube_retention_time", + "description": "kubernetes retention time for events. Default: 1h", + "default": "1h", + "type": "time" + }, + { + "name": "kube_namespace", + "description": "kubernetes namespace to get events from, gets event from all namespaces by default.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Deprecated. To be removed in v3.0", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of recorded kubernetes events.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "kafka", + "description": "Kafka consumer input plugin", + "properties": { + "options": [ + { + "name": "poll_ms", + "description": "Interval in milliseconds to check for new messages.", + "default": "500", + "type": "integer" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the data format which will be used for parsing records.", + "default": "none", + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the librdkafka options", + "default": null, + "type": "prefixed string" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of chunk", + "default": "4M", + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "fluentbit_metrics", + "description": "Fluent Bit internal metrics", + "properties": { + "options": [ + { + "name": "scrape_interval", + "description": "scrape interval to collect the internal metrics of Fluent Bit.", + "default": "2", + "type": "time" + }, + { + "name": "scrape_on_start", + "description": "scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "prometheus_scrape", + "description": "Scrape metrics from Prometheus Endpoint", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "scrape_interval", + "description": "Scraping interval.", + "default": "10s", + "type": "time" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "10M", + "type": "size" + }, + { + "name": "metrics_path", + "description": "Set the metrics URI endpoint, it must start with a forward slash.", + "default": "/metrics", + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "tail", + "description": "Tail files", + "properties": { + "options": [ + { + "name": "path", + "description": "pattern specifying log files or multiple ones through the use of common wildcards.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "exclude_path", + "description": "Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "key", + "description": "when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.", + "default": "log", + "type": "string" + }, + { + "name": "read_from_head", + "description": "For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.", + "default": "false", + "type": "boolean" + }, + { + "name": "refresh_interval", + "description": "interval to refresh the list of watched files expressed in seconds.", + "default": "60", + "type": "string" + }, + { + "name": "watcher_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval", + "description": "", + "default": "2s", + "type": "time" + }, + { + "name": "progress_check_interval_nsec", + "description": "", + "default": "0", + "type": "integer" + }, + { + "name": "rotate_wait", + "description": "specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.", + "default": "5", + "type": "time" + }, + { + "name": "docker_mode", + "description": "If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.", + "default": "false", + "type": "boolean" + }, + { + "name": "docker_mode_flush", + "description": "wait period time in seconds to flush queued unfinished split lines.", + "default": "4", + "type": "integer" + }, + { + "name": "docker_mode_parser", + "description": "specify the parser name to fetch log first line for muliline log", + "default": null, + "type": "string" + }, + { + "name": "path_key", + "description": "set the 'key' name where the name of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "offset_key", + "description": "set the 'key' name where the offset of monitored file will be appended.", + "default": null, + "type": "string" + }, + { + "name": "ignore_older", + "description": "ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.", + "default": "0", + "type": "time" + }, + { + "name": "buffer_chunk_size", + "description": "set the initial buffer size to read data from files. This value is used too to increase buffer size.", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.", + "default": "32768", + "type": "size" + }, + { + "name": "static_batch_size", + "description": "On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.", + "default": "50M", + "type": "size" + }, + { + "name": "event_batch_size", + "description": "When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).", + "default": "50M", + "type": "size" + }, + { + "name": "skip_long_lines", + "description": "if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_on_eof", + "description": "exit Fluent Bit when reaching EOF on a monitored file.", + "default": "false", + "type": "boolean" + }, + { + "name": "skip_empty_lines", + "description": "Allows to skip empty lines.", + "default": "false", + "type": "boolean" + }, + { + "name": "inotify_watcher", + "description": "set to false to use file stat watcher instead of inotify.", + "default": "true", + "type": "boolean" + }, + { + "name": "parser", + "description": "specify the parser name to process an unstructured message.", + "default": null, + "type": "string" + }, + { + "name": "tag_regex", + "description": "set a regex to extract fields from the file name and use them later to compose the Tag.", + "default": null, + "type": "string" + }, + { + "name": "db", + "description": "set a database file to keep track of monitored files and it offsets.", + "default": null, + "type": "string" + }, + { + "name": "db.sync", + "description": "set a database sync method. values: extra, full, normal and off.", + "default": "normal", + "type": "string" + }, + { + "name": "db.locking", + "description": "set exclusive locking mode, increase performance but don't allow external connections to the database file.", + "default": "false", + "type": "boolean" + }, + { + "name": "db.journal_mode", + "description": "Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.", + "default": "WAL", + "type": "string" + }, + { + "name": "db.compare_filename", + "description": "This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline", + "description": "if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.", + "default": "false", + "type": "boolean" + }, + { + "name": "multiline_flush", + "description": "wait period time in seconds to process queued multiline messages.", + "default": "4", + "type": "time" + }, + { + "name": "parser_firstline", + "description": "name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).", + "default": null, + "type": "string" + }, + { + "name": "parser_", + "description": "optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.", + "default": null, + "type": "prefixed string" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + } + ] + } + }, + { + "type": "input", + "name": "dummy", + "description": "Generate dummy data", + "properties": { + "options": [ + { + "name": "samples", + "description": "set a number of times to generate event.", + "default": "0", + "type": "integer" + }, + { + "name": "dummy", + "description": "set the sample record to be generated. It should be a JSON object.", + "default": "{\"message\":\"dummy\"}", + "type": "string" + }, + { + "name": "metadata", + "description": "set the sample metadata to be generated. It should be a JSON object.", + "default": "{}", + "type": "string" + }, + { + "name": "rate", + "description": "set a number of events per second.", + "default": "1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "set seconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "set nanoseconds of interval to generate events. overrides rate setting.", + "default": "0", + "type": "integer" + }, + { + "name": "copies", + "description": "set the number of copies to generate per collectd.", + "default": "1", + "type": "integer" + }, + { + "name": "start_time_sec", + "description": "set a dummy base timestamp in seconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "start_time_nsec", + "description": "set a dummy base timestamp in nanoseconds.", + "default": "-1", + "type": "integer" + }, + { + "name": "fixed_timestamp", + "description": "used a fixed timestamp, allows the message to pre-generated once.", + "default": "off", + "type": "boolean" + }, + { + "name": "flush_on_startup", + "description": "generate the first event on startup", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "head", + "description": "Head Input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the file", + "default": null, + "type": "string" + }, + { + "name": "key", + "description": "Set the record key", + "default": "head", + "type": "string" + }, + { + "name": "buf_size", + "description": "Set the read buffer size", + "default": "256", + "type": "integer" + }, + { + "name": "split_line", + "description": "generate key/value pair per line", + "default": "false", + "type": "boolean" + }, + { + "name": "lines", + "description": "Line number to read", + "default": "0", + "type": "integer" + }, + { + "name": "add_path", + "description": "append filepath to records", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "health", + "description": "Check TCP server health", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "alert", + "description": "Only generate records when the port is down", + "default": "false", + "type": "boolean" + }, + { + "name": "add_host", + "description": "Append hostname to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "add_port", + "description": "Append port to each record", + "default": "false", + "type": "boolean" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "http", + "description": "HTTP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "collectd", + "description": "collectd input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "typesdb", + "description": "Set the types database filename", + "default": "/usr/share/collectd/types.db", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "statsd", + "description": "StatsD input plugin", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "tag_from_uri", + "description": "If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .", + "default": "true", + "type": "boolean" + }, + { + "name": "successful_response_code", + "description": "Set successful response code. 200, 201 and 204 are supported.", + "default": "201", + "type": "integer" + }, + { + "name": "raw_traces", + "description": "Forward traces without processing", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "elasticsearch", + "description": "HTTP Endpoints for Elasticsearch (Bulk API)", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "Set the maximum size of buffer", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "512K", + "type": "size" + }, + { + "name": "tag_key", + "description": "Specify a key name for extracting as a tag", + "default": null, + "type": "string" + }, + { + "name": "meta_key", + "description": "Specify a key name for meta information", + "default": "@meta", + "type": "string" + }, + { + "name": "hostname", + "description": "Specify hostname or FQDN. This parameter is effective for sniffering node information.", + "default": "localhost", + "type": "string" + }, + { + "name": "version", + "description": "Specify returning Elasticsearch server version.", + "default": "8.0.0", + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "splunk", + "description": "Input plugin for Splunk HEC payloads", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "http2", + "description": "", + "default": "true", + "type": "boolean" + }, + { + "name": "buffer_max_size", + "description": "", + "default": "4M", + "type": "size" + }, + { + "name": "buffer_chunk_size", + "description": "", + "default": "512K", + "type": "size" + }, + { + "name": "success_header", + "description": "Add an HTTP header key/value pair on success. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "splunk_token", + "description": "Set valid Splunk HEC tokens for the requests", + "default": null, + "type": "string" + }, + { + "name": "tag_key", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "event_type", + "description": "Event tests for input plugins", + "properties": { + "options": [ + { + "name": "type", + "description": "Set the type of event to deliver, optionsa are: logs, metrics or traces", + "default": "logs", + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the interval seconds between events generation", + "default": "2", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the nanoseconds interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "nginx_metrics", + "description": "Nginx status metrics", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "status_url", + "description": "Define URL of stub status handler", + "default": "/status", + "type": "string" + }, + { + "name": "nginx_plus", + "description": "Turn on NGINX plus mode", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "serial", + "description": "Serial input", + "properties": { + "options": [ + { + "name": "file", + "description": "Set the serial character device file name", + "default": null, + "type": "string" + }, + { + "name": "bitrate", + "description": "Set the serial bitrate (baudrate)", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set the record separator", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set the serial format: json or none", + "default": null, + "type": "string" + }, + { + "name": "min_bytes", + "description": "Set the serial minimum bytes", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "input", + "name": "stdin", + "description": "Standard Input", + "properties": { + "options": [ + { + "name": "parser", + "description": "Set and use a fluent-bit parser", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the read buffer size", + "default": null, + "type": "size" + } + ] + } + }, + { + "type": "input", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "mode", + "description": "Set the socket mode: unix_tcp, unix_udp, tcp or udp", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set the path for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "Set the buffer chunk size", + "default": "32768", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "Set the buffer chunk size", + "default": null, + "type": "size" + }, + { + "name": "parser", + "description": "Set the parser", + "default": null, + "type": "string" + }, + { + "name": "receive_buffer_size", + "description": "Set the socket receiving buffer size", + "default": null, + "type": "size" + }, + { + "name": "raw_message_key", + "description": "Key where the raw message will be preserved", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "exec", + "description": "Exec Input", + "properties": { + "options": [ + { + "name": "command", + "description": "Set the command to execute", + "default": null, + "type": "string" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "oneshot", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + }, + { + "name": "exit_after_oneshot", + "description": "exit fluent-bit after the command terminates in one-shot mode", + "default": "false", + "type": "boolean" + }, + { + "name": "propagate_exit_code", + "description": "propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "udp", + "description": "UDP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "exec_wasi", + "description": "Exec WASI Input", + "properties": { + "options": [ + { + "name": "wasi_path", + "description": "Set the path of WASM program to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "parser", + "description": "Set a parser", + "default": null, + "type": "string" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (nanoseconds)", + "default": "0", + "type": "integer" + }, + { + "name": "buf_size", + "description": "Set the buffer size", + "default": "4096", + "type": "size" + }, + { + "name": "bool", + "description": "execute the command only once", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "input", + "name": "tcp", + "description": "TCP", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Set the format: json or none", + "default": null, + "type": "string" + }, + { + "name": "separator", + "description": "Set separator", + "default": null, + "type": "string" + }, + { + "name": "chunk_size", + "description": "Set the chunk size", + "default": null, + "type": "string" + }, + { + "name": "buffer_size", + "description": "Set the buffer size", + "default": null, + "type": "string" + }, + { + "name": "source_address_key", + "description": "Key where the source address will be injected", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "mqtt", + "description": "MQTT, listen for Publish messages", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "payload_key", + "description": "Key where the payload will be preserved", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "lib", + "description": "Library mode Input", + "properties": {} + }, + { + "type": "input", + "name": "forward", + "description": "Fluentd in-forward", + "properties": { + "options": [ + { + "name": "host", + "description": "Listen Address", + "default": "0.0.0.0", + "type": "string" + }, + { + "name": "port", + "description": "Listen Port", + "default": "0", + "type": "integer" + }, + { + "name": "tag_prefix", + "description": "Prefix incoming tag with the defined value.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "security.users", + "description": "Specify username and password pairs.", + "default": null, + "type": "string" + }, + { + "name": "unix_path", + "description": "The path to unix socket to receive a Forward message.", + "default": null, + "type": "string" + }, + { + "name": "unix_perm", + "description": "Set the permissions for the UNIX socket", + "default": null, + "type": "string" + }, + { + "name": "buffer_chunk_size", + "description": "The buffer memory size used to receive a Forward message.", + "default": "1024000", + "type": "size" + }, + { + "name": "buffer_max_size", + "description": "The maximum buffer memory size used to receive a Forward message.", + "default": "6144000", + "type": "size" + } + ], + "networking": [ + { + "name": "net.share_port", + "description": "Allow multiple plugins to bind to the same port", + "default": "false", + "type": "boolean" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle", + "default": "0s", + "type": "time" + }, + { + "name": "net.accept_timeout", + "description": "Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.accept_timeout_log_error", + "description": "On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "input", + "name": "random", + "description": "Random", + "properties": { + "options": [ + { + "name": "samples", + "description": "Number of samples to send, -1 for infinite", + "default": "-1", + "type": "integer" + }, + { + "name": "interval_sec", + "description": "Set the collector interval", + "default": "1", + "type": "integer" + }, + { + "name": "interval_nsec", + "description": "Set the collector interval (sub seconds)", + "default": "0", + "type": "integer" + } + ] + } + } + ], + "filters": [ + { + "type": "filter", + "name": "alter_size", + "description": "Alter incoming chunk size", + "properties": { + "options": [ + { + "name": "add", + "description": "add N records to the chunk", + "default": "0", + "type": "integer" + }, + { + "name": "remove", + "description": "remove N records from the chunk", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "aws", + "description": "Add AWS Metadata", + "properties": { + "options": [ + { + "name": "imds_version", + "description": "Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.", + "default": "v2", + "type": "string" + }, + { + "name": "az", + "description": "Enable EC2 instance availability zone", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_id", + "description": "Enable EC2 instance ID", + "default": "true", + "type": "boolean" + }, + { + "name": "ec2_instance_type", + "description": "Enable EC2 instance type", + "default": "false", + "type": "boolean" + }, + { + "name": "private_ip", + "description": "Enable EC2 instance private IP", + "default": "false", + "type": "boolean" + }, + { + "name": "vpc_id", + "description": "Enable EC2 instance VPC ID", + "default": "false", + "type": "boolean" + }, + { + "name": "ami_id", + "description": "Enable EC2 instance Image ID", + "default": "false", + "type": "boolean" + }, + { + "name": "account_id", + "description": "Enable EC2 instance Account ID", + "default": "false", + "type": "boolean" + }, + { + "name": "hostname", + "description": "Enable EC2 instance hostname", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_enabled", + "description": "Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty", + "default": "false", + "type": "boolean" + }, + { + "name": "tags_include", + "description": "Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"", + "default": "", + "type": "string" + }, + { + "name": "tags_exclude", + "description": "Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails", + "default": "", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "checklist", + "description": "Check records and flag them", + "properties": { + "options": [ + { + "name": "file", + "description": "Specify the file that contains the patterns to lookup.", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the check mode: 'exact' or 'partial'.", + "default": "exact", + "type": "string" + }, + { + "name": "print_query_time", + "description": "Print to stdout the elapseed query time for every matched record", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_case", + "description": "Compare strings by ignoring case.", + "default": "false", + "type": "boolean" + }, + { + "name": "lookup_key", + "description": "Name of the key to lookup.", + "default": "log", + "type": "string" + }, + { + "name": "record", + "description": "Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ] + } + }, + { + "type": "filter", + "name": "ecs", + "description": "Add AWS ECS Metadata", + "properties": { + "options": [ + { + "name": "add", + "description": "Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.", + "default": null, + "type": "string" + }, + { + "name": "ecs_tag_prefix", + "description": "This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).", + "default": "", + "type": "string" + }, + { + "name": "cluster_metadata_only", + "description": "Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).", + "default": "false", + "type": "boolean" + }, + { + "name": "ecs_meta_cache_ttl", + "description": "Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.", + "default": "3600", + "type": "time" + }, + { + "name": "ecs_meta_host", + "description": "The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "ecs_meta_port", + "description": "The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678", + "default": "51678", + "type": "integer" + }, + { + "name": "agent_endpoint_retries", + "description": "Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.", + "default": "2", + "type": "integer" + } + ] + } + }, + { + "type": "filter", + "name": "record_modifier", + "description": "modify record", + "properties": { + "options": [ + { + "name": "record", + "description": "Append fields. This parameter needs key and value pair.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "remove_key", + "description": "If the key is matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "allowlist_key", + "description": "If the key is not matched, that field is removed.", + "default": null, + "type": "string" + }, + { + "name": "whitelist_key", + "description": "(Alias of allowlist_key)", + "default": null, + "type": "string" + }, + { + "name": "uuid_key", + "description": "If set, the plugin generates uuid per record.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "sysinfo", + "description": "Filter for system info", + "properties": { + "options": [ + { + "name": "fluentbit_version_key", + "description": "Specify the key name for fluent-bit version.", + "default": null, + "type": "string" + }, + { + "name": "os_name_key", + "description": "Specify the key name for os name. e.g. linux, win64 or macos.", + "default": null, + "type": "string" + }, + { + "name": "hostname_key", + "description": "Specify the key name for hostname.", + "default": null, + "type": "string" + }, + { + "name": "os_version_key", + "description": "Specify the key name for os version. It is not supported on some platforms.", + "default": null, + "type": "string" + }, + { + "name": "kernel_version_key", + "description": "Specify the key name for kernel version. It is not supported on some platforms.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "throttle", + "description": "Throttle messages using sliding window algorithm", + "properties": { + "options": [ + { + "name": "rate", + "description": "Set throttle rate", + "default": "1", + "type": "double" + }, + { + "name": "window", + "description": "Set throttle window", + "default": "5", + "type": "integer" + }, + { + "name": "print_status", + "description": "Set whether or not to print status information", + "default": "false", + "type": "boolean" + }, + { + "name": "interval", + "description": "Set the slide interval", + "default": "1", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "type_converter", + "description": "Data type converter", + "properties": { + "options": [ + { + "name": "int_key", + "description": "Convert integer to other type. e.g. int_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "uint_key", + "description": "Convert unsinged integer to other type. e.g. uint_key id id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "float_key", + "description": "Convert float to other type. e.g. float_key ratio id_str string", + "default": null, + "type": "space delimited strings (minimum 3)" + }, + { + "name": "str_key", + "description": "Convert string to other type. e.g. str_key id id_val integer", + "default": null, + "type": "space delimited strings (minimum 3)" + } + ] + } + }, + { + "type": "filter", + "name": "kubernetes", + "description": "Filter to append Kubernetes metadata", + "properties": { + "options": [ + { + "name": "buffer_size", + "description": "buffer size to receive response from API server", + "default": "32K", + "type": "size" + }, + { + "name": "tls.debug", + "description": "set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "merge_log", + "description": "merge 'log' key content as individual keys", + "default": "false", + "type": "boolean" + }, + { + "name": "merge_parser", + "description": "specify a 'parser' name to parse the 'log' key content", + "default": null, + "type": "string" + }, + { + "name": "merge_log_key", + "description": "set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled", + "default": null, + "type": "string" + }, + { + "name": "merge_log_trim", + "description": "remove ending '\\n' or '\\r' characters from the log content", + "default": "true", + "type": "boolean" + }, + { + "name": "keep_log", + "description": "keep original log content if it was successfully parsed and merged", + "default": "true", + "type": "boolean" + }, + { + "name": "kube_url", + "description": "Kubernetes API server URL", + "default": "https://kubernetes.default.svc", + "type": "string" + }, + { + "name": "kube_meta_preload_cache_dir", + "description": "set directory with metadata files", + "default": null, + "type": "string" + }, + { + "name": "kube_ca_file", + "description": "Kubernetes TLS CA file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt", + "type": "string" + }, + { + "name": "kube_ca_path", + "description": "Kubernetes TLS ca path", + "default": null, + "type": "string" + }, + { + "name": "kube_tag_prefix", + "description": "prefix used in tag by the input plugin", + "default": "kube.var.log.containers.", + "type": "string" + }, + { + "name": "kube_token_file", + "description": "Kubernetes authorization token file", + "default": "/var/run/secrets/kubernetes.io/serviceaccount/token", + "type": "string" + }, + { + "name": "kube_token_command", + "description": "command to get Kubernetes authorization token", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "include Kubernetes labels on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "annotations", + "description": "include Kubernetes annotations on every record", + "default": "true", + "type": "boolean" + }, + { + "name": "namespace_labels", + "description": "include Kubernetes namespace labels on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_annotations", + "description": "include Kubernetes namespace annotations on every record", + "default": "false", + "type": "boolean" + }, + { + "name": "namespace_metadata_only", + "description": "ignore pod metadata entirely and only fetch namespace metadata", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.parser", + "description": "allow Pods to suggest a parser", + "default": "false", + "type": "boolean" + }, + { + "name": "k8s-logging.exclude", + "description": "allow Pods to exclude themselves from the logging pipeline", + "default": "false", + "type": "boolean" + }, + { + "name": "use_journal", + "description": "use Journald (Systemd) mode", + "default": "false", + "type": "boolean" + }, + { + "name": "regex_parser", + "description": "optional regex parser to extract metadata from container name or container log file name", + "default": null, + "type": "string" + }, + { + "name": "dummy_meta", + "description": "use 'dummy' metadata, do not talk to API server", + "default": "false", + "type": "boolean" + }, + { + "name": "dns_retries", + "description": "dns lookup retries N times until the network start working", + "default": "6", + "type": "integer" + }, + { + "name": "dns_wait_time", + "description": "dns interval between network status checks", + "default": "30", + "type": "time" + }, + { + "name": "cache_use_docker_id", + "description": "fetch K8s meta when docker_id is changed", + "default": "false", + "type": "boolean" + }, + { + "name": "use_tag_for_meta", + "description": "use tag associated to retrieve metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "use_kubelet", + "description": "use kubelet to get metadata instead of kube-server", + "default": "false", + "type": "boolean" + }, + { + "name": "kubelet_host", + "description": "kubelet host to connect with when using kubelet", + "default": "127.0.0.1", + "type": "string" + }, + { + "name": "kubelet_port", + "description": "kubelet port to connect with when using kubelet", + "default": "10250", + "type": "integer" + }, + { + "name": "kube_token_ttl", + "description": "kubernetes token ttl, until it is reread from the token file. Default: 10m", + "default": "10m", + "type": "time" + }, + { + "name": "kube_meta_cache_ttl", + "description": "configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted", + "default": "0", + "type": "time" + }, + { + "name": "kube_meta_namespace_cache_ttl", + "description": "configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.", + "default": "15m", + "type": "time" + } + ] + } + }, + { + "type": "filter", + "name": "modify", + "description": "modify records by applying rules", + "properties": { + "options": [ + { + "name": "Set", + "description": "Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.", + "default": null, + "type": "string" + }, + { + "name": "Add", + "description": "Add a key/value pair with key KEY and value VALUE if KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Remove", + "description": "Remove a key/value pair with key KEY if it exists", + "default": null, + "type": "string" + }, + { + "name": "Remove_wildcard", + "description": "Remove all key/value pairs with key matching wildcard KEY", + "default": null, + "type": "string" + }, + { + "name": "Remove_regex", + "description": "Remove all key/value pairs with key matching regexp KEY", + "default": null, + "type": "string" + }, + { + "name": "Move_To_Start", + "description": "Move key/value pairs with keys matching KEY to the start of the message", + "default": null, + "type": "string" + }, + { + "name": "Move_To_End", + "description": "Move key/value pairs with keys matching KEY to the end of the message", + "default": null, + "type": "string" + }, + { + "name": "Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_Rename", + "description": "Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist", + "default": null, + "type": "string" + }, + { + "name": "Hard_copy", + "description": "Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten", + "default": null, + "type": "string" + }, + { + "name": "Condition", + "description": "Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "multiline", + "description": "Concatenate multiline messages", + "properties": { + "options": [ + { + "name": "debug_flush", + "description": "enable debugging for concatenation flush to stdout", + "default": "false", + "type": "boolean" + }, + { + "name": "buffer", + "description": "Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.", + "default": "true", + "type": "boolean" + }, + { + "name": "mode", + "description": "Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.", + "default": "parser", + "type": "string" + }, + { + "name": "flush_ms", + "description": "Flush time for pending multiline records", + "default": "2000", + "type": "integer" + }, + { + "name": "multiline.parser", + "description": "specify one or multiple multiline parsers: docker, cri, go, java, etc.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "multiline.key_content", + "description": "specify the key name that holds the content to process.", + "default": null, + "type": "string" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "nest", + "description": "nest events by specified field values", + "properties": { + "options": [ + { + "name": "Operation", + "description": "Select the operation nest or lift", + "default": null, + "type": "string" + }, + { + "name": "Wildcard", + "description": "Nest records which field matches the wildcard", + "default": null, + "type": "string" + }, + { + "name": "Nest_under", + "description": "Nest records matching the Wildcard under this key", + "default": null, + "type": "string" + }, + { + "name": "Nested_under", + "description": "Lift records nested under the Nested_under key", + "default": null, + "type": "string" + }, + { + "name": "Add_prefix", + "description": "Prefix affected keys with this string", + "default": null, + "type": "string" + }, + { + "name": "Remove_prefix", + "description": "Remove prefix from affected keys if it matches this string", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "parser", + "description": "Parse events", + "properties": { + "options": [ + { + "name": "Key_Name", + "description": "Specify field name in record to parse.", + "default": null, + "type": "string" + }, + { + "name": "Parser", + "description": "Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).", + "default": null, + "type": "string" + }, + { + "name": "Preserve_Key", + "description": "Keep original Key_Name field in the parsed result. If false, the field will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Reserve_Data", + "description": "Keep all other original fields in the parsed result. If false, all other original fields will be removed.", + "default": "false", + "type": "boolean" + }, + { + "name": "Unescape_key", + "description": "(deprecated)", + "default": null, + "type": "deprecated" + } + ] + } + }, + { + "type": "filter", + "name": "expect", + "description": "Validate expected keys and values", + "properties": { + "options": [ + { + "name": "key_exists", + "description": "check that the given key name exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_not_exists", + "description": "check that the given key name do not exists in the record", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_null", + "description": "check that the value of the key is NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_is_not_null", + "description": "check that the value of the key is NOT NULL", + "default": null, + "type": "string" + }, + { + "name": "key_val_eq", + "description": "check that the value of the key equals the given value", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "action", + "description": "action to take when a rule does not match: 'warn', 'exit' or 'result_key'.", + "default": "warn", + "type": "string" + }, + { + "name": "result_key", + "description": "specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.", + "default": "matched", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "grep", + "description": "grep events by specified field values", + "properties": { + "options": [ + { + "name": "regex", + "description": "Keep records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Exclude records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "logical_op", + "description": "Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.", + "default": "legacy", + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "rewrite_tag", + "description": "Rewrite records tags", + "properties": { + "options": [ + { + "name": "rule", + "description": "", + "default": null, + "type": "space delimited strings (minimum 4)" + }, + { + "name": "emitter_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "emitter_storage.type", + "description": "", + "default": "memory", + "type": "string" + }, + { + "name": "emitter_mem_buf_limit", + "description": "set a memory buffer limit to restrict memory usage of emitter", + "default": "10M", + "type": "size" + } + ] + } + }, + { + "type": "filter", + "name": "log_to_metrics", + "description": "generate log derived metrics", + "properties": { + "options": [ + { + "name": "regex", + "description": "Optional filter for records in which the content of KEY matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "exclude", + "description": "Optional filter for records in which the content of KEY does not matches the regular expression.", + "default": null, + "type": "string" + }, + { + "name": "metric_mode", + "description": "Mode selector. Values counter, gauge, or histogram. Summary is not supported", + "default": "counter", + "type": "string" + }, + { + "name": "value_field", + "description": "Numeric field to use for gauge or histogram", + "default": null, + "type": "string" + }, + { + "name": "metric_name", + "description": "Name of metric", + "default": null, + "type": "string" + }, + { + "name": "metric_description", + "description": "Help text for metric", + "default": null, + "type": "string" + }, + { + "name": "kubernetes_mode", + "description": "Enable kubernetes log metric fields", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "Add a label to the metric by supporting record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "label_field", + "description": "Specify message field that should be included in the metric", + "default": null, + "type": "string" + }, + { + "name": "bucket", + "description": "Specify bucket for histogram metric", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Metric Tag", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "lua", + "description": "Lua Scripting Filter", + "properties": { + "options": [ + { + "name": "script", + "description": "The path of lua script.", + "default": null, + "type": "string" + }, + { + "name": "code", + "description": "String that contains the Lua script source code", + "default": null, + "type": "string" + }, + { + "name": "call", + "description": "Lua function name that will be triggered to do filtering.", + "default": null, + "type": "string" + }, + { + "name": "type_int_key", + "description": "If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "type_array_key", + "description": "If these keys are matched, the fields are converted to array. If more than one key, delimit by space.", + "default": null, + "type": "string" + }, + { + "name": "protected_mode", + "description": "If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_as_table", + "description": "If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.", + "default": "false", + "type": "boolean" + }, + { + "name": "enable_flb_null", + "description": "If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "filter", + "name": "stdout", + "description": "Filter events to STDOUT", + "properties": { + "options": [] + } + }, + { + "type": "filter", + "name": "geoip2", + "description": "add geoip information to records", + "properties": { + "options": [ + { + "name": "database", + "description": "Set the geoip2 database path", + "default": null, + "type": "string" + }, + { + "name": "lookup_key", + "description": "Add a lookup_key", + "default": null, + "type": "string" + }, + { + "name": "record", + "description": "Add a record to the output base on geoip2", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "nightfall", + "description": "scans records for sensitive content", + "properties": { + "options": [ + { + "name": "nightfall_api_key", + "description": "The Nightfall API key to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "policy_id", + "description": "The Nightfall policy ID to scan your logs with.", + "default": null, + "type": "string" + }, + { + "name": "sampling_rate", + "description": "The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.", + "default": "1", + "type": "double" + }, + { + "name": "tls.debug", + "description": "Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)", + "default": "0", + "type": "integer" + }, + { + "name": "tls.verify", + "description": "Enable or disable verification of TLS peer certificate", + "default": "true", + "type": "boolean" + }, + { + "name": "tls.vhost", + "description": "Set optional TLS virtual host", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Path to root certificates on the system", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "filter", + "name": "wasm", + "description": "WASM program filter", + "properties": { + "options": [ + { + "name": "event_format", + "description": "Sepecify the ingesting event format for wasm program", + "default": null, + "type": "string" + }, + { + "name": "wasm_path", + "description": "Set the wasm path to execute", + "default": null, + "type": "string" + }, + { + "name": "accessible_paths", + "description": "Specifying paths to be accessible from a WASM program.Default value is current working directory", + "default": ".", + "type": "multiple comma delimited strings" + }, + { + "name": "function_name", + "description": "Set the function name in wasm to execute", + "default": null, + "type": "string" + } + ] + } + } + ], + "outputs": [ + { + "type": "output", + "name": "azure", + "description": "Send events to Azure HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "customer_id", + "description": "Customer ID or WorkspaceID string.", + "default": null, + "type": "string" + }, + { + "name": "shared_key", + "description": "The primary or the secondary Connected Sources client authentication key.", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "The name of the event type.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "log_type_key", + "description": "If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Optional parameter to specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_blob", + "description": "Azure Blob Storage", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "account_name", + "description": "Azure account name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "container_name", + "description": "Container name (mandatory)", + "default": null, + "type": "string" + }, + { + "name": "auto_create_container", + "description": "Auto create container if it don't exists", + "default": "true", + "type": "boolean" + }, + { + "name": "blob_type", + "description": "Set the block type: appendblob or blockblob", + "default": "appendblob", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "compress_blob", + "description": "Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type", + "default": "false", + "type": "boolean" + }, + { + "name": "emulator_mode", + "description": "Use emulator mode, enable it if you want to use Azurite", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Azure shared key", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom full URL endpoint to use an emulator", + "default": null, + "type": "string" + }, + { + "name": "path", + "description": "Set a path for your blob", + "default": null, + "type": "string" + }, + { + "name": "date_key", + "description": "Name of the key that will have the record timestamp", + "default": "@timestamp", + "type": "string" + }, + { + "name": "auth_type", + "description": "Set the auth type: key or sas", + "default": "key", + "type": "string" + }, + { + "name": "sas_token", + "description": "Azure Blob SAS token", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_logs_ingestion", + "description": "Send logs to Log Analytics with Log Ingestion API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client/app ID of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret of the AAD application", + "default": null, + "type": "string" + }, + { + "name": "dce_url", + "description": "Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)", + "default": null, + "type": "string" + }, + { + "name": "dcr_id", + "description": "Data Collection Rule (DCR) immutable ID", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "The name of the custom log table, including '_CL' suffix", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "[Optional] Specify the key name where the timestamp will be stored.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_generated", + "description": "If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Enable HTTP payload compression (gzip).", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "azure_kusto", + "description": "Send events to Kusto (Azure Data Explorer)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tenant_id", + "description": "Set the tenant ID of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the client ID (Application ID) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "client_secret", + "description": "Set the client secret (Application Password) of the AAD application used for authentication", + "default": null, + "type": "string" + }, + { + "name": "ingestion_endpoint", + "description": "Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)", + "default": null, + "type": "string" + }, + { + "name": "database_name", + "description": "Set the database name", + "default": null, + "type": "string" + }, + { + "name": "table_name", + "description": "Set the table name", + "default": null, + "type": "string" + }, + { + "name": "ingestion_mapping_reference", + "description": "Set the ingestion mapping reference", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "The key name of event payload", + "default": "log", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tag", + "type": "string" + }, + { + "name": "include_time_key", + "description": "If enabled, time is appended to output. The key name is used 'time_key' property.", + "default": "true", + "type": "boolean" + }, + { + "name": "time_key", + "description": "The key name of the time. If 'include_time_key' is false, This property is ignored", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "bigquery", + "description": "Send events to BigQuery via streaming insert", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "enable_identity_federation", + "description": "Enable identity federation", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "Enable identity federation", + "default": null, + "type": "string" + }, + { + "name": "project_number", + "description": "Set project number", + "default": null, + "type": "string" + }, + { + "name": "pool_id", + "description": "Set the pool id", + "default": null, + "type": "string" + }, + { + "name": "provider_id", + "description": "Set the provider id", + "default": null, + "type": "string" + }, + { + "name": "google_service_account", + "description": "Set the google service account", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "dataset_id", + "description": "Set the dataset id", + "default": null, + "type": "string" + }, + { + "name": "table_id", + "description": "Set the table id", + "default": null, + "type": "string" + }, + { + "name": "skip_invalid_rows", + "description": "Enable skipping of invalid rows", + "default": "false", + "type": "boolean" + }, + { + "name": "ignore_unknown_values", + "description": "Enable ignoring unknown value", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "counter", + "description": "Records counter", + "properties": { + "options": [] + } + }, + { + "type": "output", + "name": "datadog", + "description": "Send events to DataDog HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.", + "default": "false", + "type": "string" + }, + { + "name": "apikey", + "description": "Datadog API key", + "default": null, + "type": "string" + }, + { + "name": "dd_service", + "description": "The human readable name for your service generating the logs - the name of your application or database.", + "default": null, + "type": "string" + }, + { + "name": "dd_source", + "description": "A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.", + "default": null, + "type": "string" + }, + { + "name": "dd_tags", + "description": "The tags you want to assign to your logs in Datadog.", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.", + "default": null, + "type": "string" + }, + { + "name": "include_tag_key", + "description": "If enabled, tag is appended to output. The key name is used 'tag_key' property.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "The key name of tag. If 'include_tag_key' is false, This property is ignored", + "default": "tagkey", + "type": "string" + }, + { + "name": "dd_message_key", + "description": "By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.", + "default": null, + "type": "string" + }, + { + "name": "provider", + "description": "To activate the remapping, specify configuration flag provider with value 'ecs'", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Date key name for output.", + "default": "timestamp", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "es", + "description": "Elasticsearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for Elastic X-Pack access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in HTTP_User", + "default": "", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "cloud_id", + "description": "Elastic cloud ID of the cluster to connect to", + "default": null, + "type": "string" + }, + { + "name": "cloud_auth", + "description": "Elastic cloud authentication credentials", + "default": null, + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the Elasticsearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the Elasticsearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "exit", + "description": "Exit after a number of flushes (test purposes)", + "properties": { + "options": [ + { + "name": "flush_count", + "description": "", + "default": "1", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "file", + "description": "Generate log file", + "properties": { + "options": [ + { + "name": "path", + "description": "Absolute path to store the files. This parameter is optional", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "Name of the target file to write the records. If 'path' is specified, the value is prefixed", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json", + "default": null, + "type": "string" + }, + { + "name": "delimiter", + "description": "Set a custom delimiter for the records", + "default": null, + "type": "string" + }, + { + "name": "label_delimiter", + "description": "Set a custom label delimiter, to be used with 'ltsv' format", + "default": null, + "type": "string" + }, + { + "name": "template", + "description": "Set a custom template format for the data", + "default": "{time} {message}", + "type": "string" + }, + { + "name": "csv_column_names", + "description": "Add column names (keys) in the first line of the target file", + "default": "false", + "type": "boolean" + }, + { + "name": "mkdir", + "description": "Recursively create output directory if it does not exist. Permissions set to 0755", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "forward", + "description": "Forward (Fluentd protocol)", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "time_as_integer", + "description": "Set timestamp in integer format (compat mode for old Fluentd v0.12)", + "default": "false", + "type": "boolean" + }, + { + "name": "retain_metadata_in_forward_mode", + "description": "Retain metadata when operating in forward mode", + "default": "false", + "type": "boolean" + }, + { + "name": "shared_key", + "description": "Shared key for authentication", + "default": null, + "type": "string" + }, + { + "name": "self_hostname", + "description": "Hostname", + "default": null, + "type": "string" + }, + { + "name": "empty_shared_key", + "description": "Set an empty shared key for authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "send_options", + "description": "Send 'forward protocol options' to remote endpoint", + "default": "false", + "type": "boolean" + }, + { + "name": "require_ack_response", + "description": "Require that remote endpoint confirms data reception", + "default": "false", + "type": "boolean" + }, + { + "name": "username", + "description": "Username for authentication", + "default": "", + "type": "string" + }, + { + "name": "password", + "description": "Password for authentication", + "default": "", + "type": "string" + }, + { + "name": "unix_path", + "description": "Path to unix socket. It is ignored when 'upstream' property is set", + "default": null, + "type": "string" + }, + { + "name": "upstream", + "description": "Path to 'upstream' configuration file (define multiple nodes)", + "default": null, + "type": "string" + }, + { + "name": "tag", + "description": "Set a custom Tag for the outgoing records", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Compression mode", + "default": null, + "type": "string" + }, + { + "name": "fluentd_compat", + "description": "Send metrics and traces with Fluentd compatible format", + "default": "false", + "type": "boolean" + }, + { + "name": "add_option", + "description": "Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.", + "default": null, + "type": "space delimited strings (minimum 2)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "http", + "description": "HTTP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "allow_duplicated_headers", + "description": "Specify if duplicated headers are allowed or not", + "default": "true", + "type": "boolean" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": null, + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header_tag", + "description": "Set a HTTP header which value is the Tag", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": "json", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Specify the key to use for 'timestamp' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Specify the key to use for the 'host' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Specify the key to use as the 'short' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Specify the key to use for the 'full' message in gelf format", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Specify the key to use for the 'level' in gelf format", + "default": null, + "type": "string" + }, + { + "name": "body_key", + "description": "Specify the key which contains the body", + "default": null, + "type": "string" + }, + { + "name": "headers_key", + "description": "Specify the key which contains the headers", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "influxdb", + "description": "InfluxDB Time Series", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "database", + "description": "Set the database name.", + "default": "fluentbit", + "type": "string" + }, + { + "name": "bucket", + "description": "Specify the bucket name, used on InfluxDB API v2.", + "default": null, + "type": "string" + }, + { + "name": "org", + "description": "Set the Organization name.", + "default": "fluent", + "type": "string" + }, + { + "name": "sequence_tag", + "description": "Specify the sequence tag.", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom URI endpoint (must start with '/').", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "HTTP Basic Auth username.", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "HTTP Basic Auth password.", + "default": "", + "type": "string" + }, + { + "name": "http_token", + "description": "Set InfluxDB HTTP Token API v2.", + "default": null, + "type": "string" + }, + { + "name": "http_header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "auto_tags", + "description": "Automatically tag keys where value is string.", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_keys", + "description": "Space separated list of keys that needs to be tagged.", + "default": null, + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "logdna", + "description": "LogDNA", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "logdna_host", + "description": "LogDNA Host address", + "default": "logs.logdna.com", + "type": "string" + }, + { + "name": "logdna_port", + "description": "LogDNA TCP port", + "default": "443", + "type": "integer" + }, + { + "name": "api_key", + "description": "Logdna API key", + "default": null, + "type": "string" + }, + { + "name": "hostname", + "description": "Local Server or device host name", + "default": null, + "type": "string" + }, + { + "name": "mac", + "description": "MAC address (optional)", + "default": "", + "type": "string" + }, + { + "name": "ip", + "description": "IP address (optional)", + "default": "", + "type": "string" + }, + { + "name": "tags", + "description": "Tags (optional)", + "default": "", + "type": "multiple comma delimited strings" + }, + { + "name": "file", + "description": "Name of the monitored file (optional)", + "default": null, + "type": "string" + }, + { + "name": "app", + "description": "Name of the application generating the data (optional)", + "default": "Fluent Bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "loki", + "description": "Loki", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify a custom HTTP URI. It must start with forward slash.", + "default": "/loki/api/v1/push", + "type": "string" + }, + { + "name": "tenant_id", + "description": "Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.", + "default": null, + "type": "string" + }, + { + "name": "tenant_id_key", + "description": "If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "labels for API requests. If no value is set, the default label is 'job=fluent-bit'", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "auto_kubernetes_labels", + "description": "If set to true, it will add all Kubernetes labels to Loki labels.", + "default": "false", + "type": "boolean" + }, + { + "name": "drop_single_key", + "description": "If set to true and only a single key remains, the log line sent to Loki will be the value of that key.", + "default": "false", + "type": "boolean" + }, + { + "name": "label_keys", + "description": "Comma separated list of keys to use as stream labels.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "remove_keys", + "description": "Comma separated list of keys to remove.", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "line_format", + "description": "Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.", + "default": "json", + "type": "string" + }, + { + "name": "label_map_path", + "description": "A label map file path", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "bearer_token", + "description": "Set bearer token auth", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "compress", + "description": "Set payload compression in network transfer. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kafka", + "description": "Kafka", + "properties": { + "options": [ + { + "name": "topic_key", + "description": "Which record to use as the kafka topic.", + "default": null, + "type": "string" + }, + { + "name": "dynamic_topic", + "description": "Activate dynamic topics.", + "default": "false", + "type": "boolean" + }, + { + "name": "format", + "description": "Set the record output format.", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Which record key to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "message_key_field", + "description": "Which record key field to use as the message data.", + "default": null, + "type": "string" + }, + { + "name": "timestamp_key", + "description": "Set the key for the the timestamp.", + "default": "@timestamp", + "type": "string" + }, + { + "name": "timestamp_format", + "description": "Set the format the timestamp is in.", + "default": null, + "type": "string" + }, + { + "name": "queue_full_retries", + "description": "Set the number of local retries to enqueue the data.", + "default": "10", + "type": "integer" + }, + { + "name": "gelf_timestamp_key", + "description": "Set the timestamp key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Set the host key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "Set the short message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Set the full message key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Set the level key for gelf output.", + "default": null, + "type": "string" + }, + { + "name": "schema_str", + "description": "Set AVRO schema.", + "default": null, + "type": "string" + }, + { + "name": "schema_id", + "description": "Set AVRO schema ID.", + "default": null, + "type": "string" + }, + { + "name": "topics", + "description": "Set the kafka topics, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "brokers", + "description": "Set the kafka brokers, delimited by commas.", + "default": null, + "type": "string" + }, + { + "name": "client_id", + "description": "Set the kafka client_id.", + "default": null, + "type": "string" + }, + { + "name": "group_id", + "description": "Set the kafka group_id.", + "default": null, + "type": "string" + }, + { + "name": "rdkafka.", + "description": "Set the kafka group_id.", + "default": null, + "type": "prefixed string" + } + ] + } + }, + { + "type": "output", + "name": "kafka-rest", + "description": "Kafka REST Proxy", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "message_key", + "description": "Specify a message key. ", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Specify the name of the field that holds the record timestamp. ", + "default": null, + "type": "string" + }, + { + "name": "topic", + "description": "Specify the kafka topic. ", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "url_path", + "description": "Specify an optional HTTP URL path for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "partition", + "description": "Specify kafka partition number. ", + "default": "-1", + "type": "double" + }, + { + "name": "time_key_format", + "description": "Specify the format of the timestamp. ", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "include_tag_key", + "description": "Specify whether to append tag name to final record. ", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "Specify the key name of the record if include_tag_key is enabled. ", + "default": "_flb-key", + "type": "string" + }, + { + "name": "avro_http_header", + "description": "Specify if the format has avro header in http request", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "nats", + "description": "NATS Server", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "nrlogs", + "description": "New Relic", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "base_uri", + "description": "New Relic Host address", + "default": "https://log-api.newrelic.com/log/v1", + "type": "string" + }, + { + "name": "api_key", + "description": "New Relic API Key", + "default": null, + "type": "string" + }, + { + "name": "license_key", + "description": "New Relic License Key", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism", + "default": "gzip", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "null", + "description": "Throws away events", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specifies the name of the date field in output.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opensearch", + "description": "OpenSearch", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "index", + "description": "Set an index name", + "default": "fluent-bit", + "type": "string" + }, + { + "name": "type", + "description": "Set the document type property", + "default": "_doc", + "type": "string" + }, + { + "name": "suppress_type_name", + "description": "If true, mapping types is removed. (for v7.0.0 or later)", + "default": "false", + "type": "boolean" + }, + { + "name": "http_user", + "description": "Optional username credential for access", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Password for user defined in 'http_user'", + "default": "", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS Sigv4 Authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_region", + "description": "AWS Region of your Amazon OpenSearch Service cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": "default", + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "AWS IAM Role to assume to put records to your Amazon OpenSearch cluster", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "External ID for the AWS IAM Role specified with `aws_role_arn`", + "default": null, + "type": "string" + }, + { + "name": "aws_service_name", + "description": "AWS Service Name", + "default": "es", + "type": "string" + }, + { + "name": "logstash_format", + "description": "Enable Logstash format compatibility", + "default": "false", + "type": "boolean" + }, + { + "name": "logstash_prefix", + "description": "When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated", + "default": "logstash", + "type": "string" + }, + { + "name": "logstash_prefix_separator", + "description": "Set a separator between logstash_prefix and date.", + "default": "-", + "type": "string" + }, + { + "name": "logstash_prefix_key", + "description": "When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern", + "default": null, + "type": "string" + }, + { + "name": "logstash_dateformat", + "description": "Time format (based on strftime) to generate the second part of the Index name", + "default": "%Y.%m.%d", + "type": "string" + }, + { + "name": "time_key", + "description": "When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field", + "default": "@timestamp", + "type": "string" + }, + { + "name": "time_key_format", + "description": "When Logstash_Format is enabled, this property defines the format of the timestamp", + "default": "%Y-%m-%dT%H:%M:%S", + "type": "string" + }, + { + "name": "time_key_nanos", + "description": "When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps", + "default": "false", + "type": "boolean" + }, + { + "name": "include_tag_key", + "description": "When enabled, it append the Tag name to the record", + "default": "false", + "type": "boolean" + }, + { + "name": "tag_key", + "description": "When Include_Tag_Key is enabled, this property defines the key name for the tag", + "default": "flb-key", + "type": "string" + }, + { + "name": "buffer_size", + "description": "Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": "512k", + "type": "size" + }, + { + "name": "path", + "description": "OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI", + "default": null, + "type": "string" + }, + { + "name": "pipeline", + "description": "OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines", + "default": null, + "type": "string" + }, + { + "name": "generate_id", + "description": "When enabled, generate _id for outgoing records. This prevents duplicate records when retrying", + "default": "false", + "type": "boolean" + }, + { + "name": "write_operation", + "description": "Operation to use to write in bulk requests", + "default": "create", + "type": "string" + }, + { + "name": "id_key", + "description": "If set, _id will be the value of the key from incoming record.", + "default": null, + "type": "string" + }, + { + "name": "replace_dots", + "description": "When enabled, replace field name dots with underscore.", + "default": "false", + "type": "boolean" + }, + { + "name": "current_time_index", + "description": "Use current time for index generation instead of message record", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_output", + "description": "When enabled print the OpenSearch API calls to stdout (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_error", + "description": "When enabled print the OpenSearch exception to stderr (for diag only)", + "default": "false", + "type": "boolean" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "oracle_log_analytics", + "description": "Oracle log analytics", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "config_file_location", + "description": "Location of the oci config file for user api key signing", + "default": "", + "type": "string" + }, + { + "name": "profile_name", + "description": "name of the profile in the config file from which the user configs should be loaded", + "default": "DEFAULT", + "type": "string" + }, + { + "name": "oci_config_in_record", + "description": "If true, oci_la_* configs will be read from the record", + "default": "false", + "type": "boolean" + }, + { + "name": "uri", + "description": "Set the uri for rest api request", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_group_id", + "description": "log group id", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_entity_type", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_source_name", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_set_id", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_log_path", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "oci_la_global_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "oci_la_metadata", + "description": "", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "namespace", + "description": "namespace in your tenancy where the log objects reside", + "default": null, + "type": "string" + }, + { + "name": "proxy", + "description": "define proxy if required, in http://host:port format, supports only http protocol", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "plot", + "description": "Generate data file for GNU Plot", + "properties": { + "options": [ + { + "name": "key", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + }, + { + "name": "file", + "description": "set a number of times to generate event.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "scalyr_dataset", + "description": "Send events to scalyr's dataset HTTP API", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "token", + "description": "Specify the Authentication Bearer Token for the Dataset API.", + "default": null, + "type": "string" + }, + { + "name": "server_host", + "description": "Specify the serverHost in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "server_type", + "description": "Specify the serverType in the Scalyr sessionInfo.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Specify the region in the Scalyr sessionInfo.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "skywalking", + "description": "Send logs into log collector on SkyWalking OAP", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "auth_token", + "description": "Auth token for SkyWalking OAP", + "default": null, + "type": "string" + }, + { + "name": "svc_name", + "description": "Service name", + "default": "sw-service", + "type": "string" + }, + { + "name": "svc_inst_name", + "description": "Instance name", + "default": "fluent-bit", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "slack", + "description": "Send events to a Slack channel", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "webhook", + "description": "", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "splunk", + "description": "Send events to Splunk HTTP Event Collector", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "http_buffer_size", + "description": "Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification", + "default": null, + "type": "size" + }, + { + "name": "http_debug_bad_request", + "description": "If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.", + "default": "false", + "type": "boolean" + }, + { + "name": "event_key", + "description": "Specify the key name that will be used to send a single value as part of the record.", + "default": null, + "type": "string" + }, + { + "name": "event_host", + "description": "Set the host value to the event data. The value allows a record accessor pattern.", + "default": null, + "type": "string" + }, + { + "name": "event_source", + "description": "Set the source value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype", + "description": "Set the sourcetype value to assign to the event data.", + "default": null, + "type": "string" + }, + { + "name": "event_sourcetype_key", + "description": "Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.", + "default": null, + "type": "string" + }, + { + "name": "event_index", + "description": "The name of the index by which the event data is to be indexed.", + "default": null, + "type": "string" + }, + { + "name": "event_index_key", + "description": "Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.", + "default": null, + "type": "string" + }, + { + "name": "event_field", + "description": "Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.", + "default": null, + "type": "space delimited strings (minimum 2)" + }, + { + "name": "splunk_token", + "description": "Specify the Authentication Token for the HTTP Event Collector interface.", + "default": null, + "type": "string" + }, + { + "name": "splunk_send_raw", + "description": "When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.", + "default": "off", + "type": "boolean" + }, + { + "name": "channel", + "description": "Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stackdriver", + "description": "Send events to Google Stackdriver Logging", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "metadata_server", + "description": "Set the metadata server", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "export_to_project_id", + "description": "Export to project id", + "default": null, + "type": "string" + }, + { + "name": "project_id_key", + "description": "Set the gcp project id key", + "default": "logging.googleapis.com/projectId", + "type": "string" + }, + { + "name": "resource", + "description": "Set the resource", + "default": "global", + "type": "string" + }, + { + "name": "severity_key", + "description": "Set the severity key", + "default": "logging.googleapis.com/severity", + "type": "string" + }, + { + "name": "autoformat_stackdriver_trace", + "description": "Autoformat the stackdriver trace", + "default": "false", + "type": "boolean" + }, + { + "name": "trace_key", + "description": "Set the trace key", + "default": "logging.googleapis.com/trace", + "type": "string" + }, + { + "name": "span_id_key", + "description": "Set the span id key", + "default": "logging.googleapis.com/spanId", + "type": "string" + }, + { + "name": "trace_sampled_key", + "description": "Set the trace sampled key", + "default": "logging.googleapis.com/traceSampled", + "type": "string" + }, + { + "name": "log_name_key", + "description": "Set the logname key", + "default": "logging.googleapis.com/logName", + "type": "string" + }, + { + "name": "http_request_key", + "description": "Set the http request key", + "default": "logging.googleapis.com/http_request", + "type": "string" + }, + { + "name": "k8s_cluster_name", + "description": "Set the kubernetes cluster name", + "default": null, + "type": "string" + }, + { + "name": "k8s_cluster_location", + "description": "Set the kubernetes cluster location", + "default": null, + "type": "string" + }, + { + "name": "location", + "description": "Set the resource location", + "default": null, + "type": "string" + }, + { + "name": "namespace", + "description": "Set the resource namespace", + "default": null, + "type": "string" + }, + { + "name": "node_id", + "description": "Set the resource node id", + "default": null, + "type": "string" + }, + { + "name": "job", + "description": "Set the resource job", + "default": null, + "type": "string" + }, + { + "name": "task_id", + "description": "Set the resource task id", + "default": null, + "type": "string" + }, + { + "name": "compress", + "description": "Set log payload compression method. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "labels", + "description": "Set the labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "labels_key", + "description": "Set the labels key", + "default": "logging.googleapis.com/labels", + "type": "string" + }, + { + "name": "tag_prefix", + "description": "Set the tag prefix", + "default": null, + "type": "string" + }, + { + "name": "stackdriver_agent", + "description": "Set the stackdriver agent", + "default": null, + "type": "string" + }, + { + "name": "custom_k8s_regex", + "description": "Set a custom kubernetes regex filter", + "default": "(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$", + "type": "string" + }, + { + "name": "resource_labels", + "description": "Set the resource labels", + "default": null, + "type": "multiple comma delimited strings" + }, + { + "name": "test_log_entry_format", + "description": "Test log entry format", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "stdout", + "description": "Prints events to STDOUT", + "properties": { + "options": [ + { + "name": "format", + "description": "Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "syslog", + "description": "Syslog", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.", + "default": "udp", + "type": "string" + }, + { + "name": "syslog_format", + "description": "Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.", + "default": "rfc5424", + "type": "string" + }, + { + "name": "syslog_maxsize", + "description": "Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.", + "default": "0", + "type": "size" + }, + { + "name": "syslog_severity_key", + "description": "Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_severity_preset", + "description": "Specify the preset severity number. It must be 0-7. This configuration is optional.", + "default": "6", + "type": "integer" + }, + { + "name": "syslog_facility_key", + "description": "Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_facility_preset", + "description": "Specify the preset facility number. It must be 0-23. This configuration is optional.", + "default": "1", + "type": "integer" + }, + { + "name": "syslog_hostname_key", + "description": "Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_hostname_preset", + "description": "Specify the preset hostname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_key", + "description": "Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_appname_preset", + "description": "Specify the preset appname. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_key", + "description": "Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_procid_preset", + "description": "Specify the preset procid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_key", + "description": "Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_msgid_preset", + "description": "Specify the preset msgid. This configuration is optional.", + "default": null, + "type": "string" + }, + { + "name": "syslog_sd_key", + "description": "Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.", + "default": null, + "type": "string" + }, + { + "name": "syslog_message_key", + "description": "Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.", + "default": null, + "type": "string" + }, + { + "name": "allow_longer_sd_id", + "description": "If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.", + "default": "false", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "tcp", + "description": "TCP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "msgpack", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "udp", + "description": "UDP Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "format", + "description": "Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.", + "default": "json_lines", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "raw_message_key", + "description": "use a raw message key for the message.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "td", + "description": "Treasure Data", + "properties": { + "options": [ + { + "name": "API", + "description": "Set the API key", + "default": null, + "type": "string" + }, + { + "name": "Database", + "description": "Set the Database file", + "default": null, + "type": "string" + }, + { + "name": "Table", + "description": "Set the Database Table", + "default": null, + "type": "string" + }, + { + "name": "Region", + "description": "Set the Region: us or jp", + "default": null, + "type": "string" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "lib", + "description": "Library mode Output", + "properties": {} + }, + { + "type": "output", + "name": "flowcounter", + "description": "FlowCounter", + "properties": { + "options": [ + { + "name": "unit", + "description": "", + "default": null, + "type": "string" + }, + { + "name": "event_based", + "description": "", + "default": "false", + "type": "boolean" + } + ] + } + }, + { + "type": "output", + "name": "gelf", + "description": "GELF Output", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "mode", + "description": "The protocol to use. 'tls', 'tcp' or 'udp'", + "default": "udp", + "type": "string" + }, + { + "name": "gelf_short_message_key", + "description": "A short descriptive message (MUST be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_timestamp_key", + "description": "Timestamp key name (SHOULD be set in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_host_key", + "description": "Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ", + "default": null, + "type": "string" + }, + { + "name": "gelf_full_message_key", + "description": "Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "gelf_level_key", + "description": "Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)", + "default": null, + "type": "string" + }, + { + "name": "packet_size", + "description": "If transport protocol is udp, you can set the size of packets to be sent.", + "default": "1420", + "type": "integer" + }, + { + "name": "compress", + "description": "If transport protocol is udp, you can set this if you want your UDP packets to be compressed.", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "websocket", + "description": "Websocket", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "uri", + "description": "Specify an optional URI for the target web socket server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "format", + "description": "Set desired payload format: json, json_stream, json_lines, gelf or msgpack", + "default": null, + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date", + "default": "double", + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specify the name of the date field in output", + "default": "date", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "cloudwatch_logs", + "description": "Send logs to Amazon CloudWatch", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region to send logs to", + "default": null, + "type": "string" + }, + { + "name": "log_group_name", + "description": "CloudWatch Log Group Name", + "default": null, + "type": "string" + }, + { + "name": "log_stream_name", + "description": "CloudWatch Log Stream Name; not compatible with `log_stream_prefix`", + "default": null, + "type": "string" + }, + { + "name": "log_stream_prefix", + "description": "Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name", + "default": null, + "type": "string" + }, + { + "name": "log_group_template", + "description": "Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_stream_template", + "description": "Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.", + "default": null, + "type": "string" + }, + { + "name": "extra_user_agent", + "description": "This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.", + "default": null, + "type": "string" + }, + { + "name": "log_format", + "description": "An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "auto_create_group", + "description": "Automatically create the log group (log streams will always automatically be created)", + "default": "false", + "type": "boolean" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_retention_days", + "description": "If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]", + "default": "0", + "type": "integer" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the CloudWatch Logs API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Specify a custom endpoint for the STS API, can be used with the role_arn parameter", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "metric_namespace", + "description": "Metric namespace for CloudWatch EMF logs", + "default": null, + "type": "string" + }, + { + "name": "metric_dimensions", + "description": "Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_firehose", + "description": "Send logs to Amazon Kinesis Firehose", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your delivery stream", + "default": null, + "type": "string" + }, + { + "name": "delivery_stream", + "description": "Firehose delivery stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Firehose API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "kinesis_streams", + "description": "Send logs to Amazon Kinesis Streams", + "properties": { + "options": [ + { + "name": "region", + "description": "The AWS region of your kinesis stream", + "default": null, + "type": "string" + }, + { + "name": "stream", + "description": "Kinesis stream name", + "default": null, + "type": "string" + }, + { + "name": "time_key", + "description": "Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "time_key_format", + "description": "strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ", + "default": null, + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Specify a custom endpoint for the Kinesis API", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.", + "default": null, + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "opentelemetry", + "description": "OpenTelemetry", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "metrics_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/metrics", + "type": "string" + }, + { + "name": "batch_size", + "description": "Set the maximum number of log records to be flushed at a time", + "default": "1000", + "type": "integer" + }, + { + "name": "compress", + "description": "Set payload compression mechanism. Option available is 'gzip'", + "default": null, + "type": "string" + }, + { + "name": "logs_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/logs", + "type": "string" + }, + { + "name": "logs_body_key", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": null, + "type": "string" + }, + { + "name": "logs_body_key_attributes", + "description": "If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.", + "default": "false", + "type": "boolean" + }, + { + "name": "traces_uri", + "description": "Specify an optional HTTP URI for the target OTel endpoint.", + "default": "/v1/traces", + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + }, + { + "name": "logs_observed_timestamp_metadata_key", + "description": "Specify an ObservedTimestamp key", + "default": "$ObservedTimestamp", + "type": "string" + }, + { + "name": "logs_timestamp_metadata_key", + "description": "Specify a Timestamp key", + "default": "$Timestamp", + "type": "string" + }, + { + "name": "logs_severity_text_metadata_key", + "description": "Specify a SeverityText key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_metadata_key", + "description": "Specify a SeverityNumber key", + "default": "$SeverityNumber", + "type": "string" + }, + { + "name": "logs_trace_flags_metadata_key", + "description": "Specify a TraceFlags key", + "default": "$TraceFlags", + "type": "string" + }, + { + "name": "logs_span_id_metadata_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_metadata_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_attributes_metadata_key", + "description": "Specify an Attributes key", + "default": "$Attributes", + "type": "string" + }, + { + "name": "logs_instrumentation_scope_metadata_key", + "description": "Specify an InstrumentationScope key", + "default": "InstrumentationScope", + "type": "string" + }, + { + "name": "logs_resource_metadata_key", + "description": "Specify a Resource key", + "default": "Resource", + "type": "string" + }, + { + "name": "logs_span_id_message_key", + "description": "Specify a SpanId key", + "default": "$SpanId", + "type": "string" + }, + { + "name": "logs_trace_id_message_key", + "description": "Specify a TraceId key", + "default": "$TraceId", + "type": "string" + }, + { + "name": "logs_severity_text_message_key", + "description": "Specify a Severity Text key", + "default": "$SeverityText", + "type": "string" + }, + { + "name": "logs_severity_number_message_key", + "description": "Specify a Severity Number key", + "default": "$SeverityNumber", + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_exporter", + "description": "Prometheus Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "add_timestamp", + "description": "Add timestamp to every metric honoring collection time.", + "default": "false", + "type": "boolean" + }, + { + "name": "add_label", + "description": "TCP port for listening for HTTP connections.", + "default": null, + "type": "space delimited strings (minimum 1)" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "prometheus_remote_write", + "description": "Prometheus remote write", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + }, + { + "name": "add_label", + "description": "Adds a custom label to the metrics use format: 'add_label name value'", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "proxy", + "description": "Specify an HTTP Proxy. The expected format of this value is http://host:port. ", + "default": null, + "type": "string" + }, + { + "name": "http_user", + "description": "Set HTTP auth user", + "default": null, + "type": "string" + }, + { + "name": "http_passwd", + "description": "Set HTTP auth password", + "default": "", + "type": "string" + }, + { + "name": "compression", + "description": "Compress the payload with either snappy, gzip if set", + "default": "snappy", + "type": "string" + }, + { + "name": "aws_auth", + "description": "Enable AWS SigV4 authentication", + "default": "false", + "type": "boolean" + }, + { + "name": "aws_service", + "description": "AWS destination service code, used by SigV4 authentication", + "default": "aps", + "type": "string" + }, + { + "name": "aws_region", + "description": "AWS region of your service", + "default": null, + "type": "string" + }, + { + "name": "aws_sts_endpoint", + "description": "Custom endpoint for the AWS STS API, used with the `aws_role_arn` option", + "default": null, + "type": "string" + }, + { + "name": "aws_role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access)", + "default": null, + "type": "string" + }, + { + "name": "aws_external_id", + "description": "Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "aws_profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + }, + { + "name": "header", + "description": "Add a HTTP header key/value pair. Multiple headers can be set", + "default": null, + "type": "space delimited strings (minimum 1)" + }, + { + "name": "uri", + "description": "Specify an optional HTTP URI for the target web server, e.g: /something", + "default": null, + "type": "string" + }, + { + "name": "log_response_payload", + "description": "Specify if the response paylod should be logged or not", + "default": "true", + "type": "boolean" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "s3", + "description": "Send to S3", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "aws_shared_credentials_file", + "description": "Path to the AWS shared credentials file.", + "default": "", + "type": "string" + }, + { + "name": "aws_config_file", + "description": "Path to the AWS default configuration file.", + "default": "", + "type": "string" + }, + { + "name": "json_date_format", + "description": "Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.", + "default": null, + "type": "string" + }, + { + "name": "json_date_key", + "description": "Specifies the name of the date field in output.", + "default": "date", + "type": "string" + }, + { + "name": "total_file_size", + "description": "Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB", + "default": "100000000", + "type": "size" + }, + { + "name": "upload_chunk_size", + "description": "This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.", + "default": "5242880", + "type": "size" + }, + { + "name": "upload_timeout", + "description": "Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.", + "default": "10m", + "type": "time" + }, + { + "name": "bucket", + "description": "S3 bucket name.", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "AWS region.", + "default": "us-east-1", + "type": "string" + }, + { + "name": "role_arn", + "description": "ARN of an IAM role to assume (ex. for cross account access).", + "default": null, + "type": "string" + }, + { + "name": "endpoint", + "description": "Custom endpoint for the S3 API.", + "default": null, + "type": "string" + }, + { + "name": "sts_endpoint", + "description": "Custom endpoint for the STS API.", + "default": null, + "type": "string" + }, + { + "name": "canned_acl", + "description": "Predefined Canned ACL policy for S3 objects.", + "default": null, + "type": "string" + }, + { + "name": "compression", + "description": "Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.", + "default": null, + "type": "string" + }, + { + "name": "content_type", + "description": "A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.", + "default": null, + "type": "string" + }, + { + "name": "store_dir", + "description": "Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.", + "default": "/tmp/fluent-bit/s3", + "type": "string" + }, + { + "name": "store_dir_limit_size", + "description": "S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.", + "default": null, + "type": "size" + }, + { + "name": "s3_key_format", + "description": "Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.", + "default": "/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S", + "type": "string" + }, + { + "name": "s3_key_format_tag_delimiters", + "description": "A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.", + "default": ".", + "type": "string" + }, + { + "name": "auto_retry_requests", + "description": "Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.", + "default": "true", + "type": "boolean" + }, + { + "name": "use_put_object", + "description": "Use the S3 PutObject API, instead of the multipart upload API", + "default": "false", + "type": "boolean" + }, + { + "name": "send_content_md5", + "description": "Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled", + "default": "false", + "type": "boolean" + }, + { + "name": "preserve_data_ordering", + "description": "Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.", + "default": "true", + "type": "boolean" + }, + { + "name": "log_key", + "description": "By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.", + "default": null, + "type": "string" + }, + { + "name": "external_id", + "description": "Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.", + "default": null, + "type": "string" + }, + { + "name": "static_file_path", + "description": "Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.", + "default": "false", + "type": "boolean" + }, + { + "name": "storage_class", + "description": "Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.", + "default": null, + "type": "string" + }, + { + "name": "profile", + "description": "AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + }, + { + "type": "output", + "name": "vivo_exporter", + "description": "Vivo Exporter", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "empty_stream_on_read", + "description": "If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed", + "default": "off", + "type": "boolean" + }, + { + "name": "stream_queue_size", + "description": "Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.", + "default": "20M", + "type": "size" + }, + { + "name": "http_cors_allow_origin", + "description": "Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ] + } + }, + { + "type": "output", + "name": "chronicle", + "description": "Send logs to Google Chronicle as unstructured log", + "properties": { + "options": [ + { + "name": "host", + "description": "Host Address", + "default": "", + "type": "string" + }, + { + "name": "port", + "description": "host Port", + "default": "0", + "type": "integer" + }, + { + "name": "google_service_credentials", + "description": "Set the path for the google service credentials file", + "default": null, + "type": "string" + }, + { + "name": "service_account_email", + "description": "Set the service account email", + "default": null, + "type": "string" + }, + { + "name": "service_account_secret", + "description": "Set the service account secret", + "default": null, + "type": "string" + }, + { + "name": "project_id", + "description": "Set the project id", + "default": null, + "type": "string" + }, + { + "name": "customer_id", + "description": "Set the customer id", + "default": null, + "type": "string" + }, + { + "name": "log_type", + "description": "Set the log type", + "default": null, + "type": "string" + }, + { + "name": "region", + "description": "Set the region", + "default": null, + "type": "string" + }, + { + "name": "log_key", + "description": "Set the log key", + "default": null, + "type": "string" + } + ], + "networking": [ + { + "name": "net.dns.mode", + "description": "Select the primary DNS connection type (TCP or UDP)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.resolver", + "description": "Select the primary DNS resolver type (LEGACY or ASYNC)", + "default": null, + "type": "string" + }, + { + "name": "net.dns.prefer_ipv4", + "description": "Prioritize IPv4 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.dns.prefer_ipv6", + "description": "Prioritize IPv6 DNS results when trying to establish a connection", + "default": "false", + "type": "boolean" + }, + { + "name": "net.keepalive", + "description": "Enable or disable Keepalive support", + "default": "true", + "type": "boolean" + }, + { + "name": "net.keepalive_idle_timeout", + "description": "Set maximum time allowed for an idle Keepalive connection", + "default": "30s", + "type": "time" + }, + { + "name": "net.io_timeout", + "description": "Set maximum time a connection can stay idle while assigned", + "default": "0s", + "type": "time" + }, + { + "name": "net.connect_timeout", + "description": "Set maximum time allowed to establish a connection, this time includes the TLS handshake", + "default": "10s", + "type": "time" + }, + { + "name": "net.connect_timeout_log_error", + "description": "On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message", + "default": "true", + "type": "boolean" + }, + { + "name": "net.source_address", + "description": "Specify network address to bind for data traffic", + "default": null, + "type": "string" + }, + { + "name": "net.keepalive_max_recycle", + "description": "Set maximum number of times a keepalive connection can be used before it is retried.", + "default": "2000", + "type": "integer" + }, + { + "name": "net.max_worker_connections", + "description": "Set the maximum number of active TCP connections that can be used per worker thread.", + "default": "0", + "type": "integer" + } + ], + "network_tls": [ + { + "name": "tls", + "description": "Enable or disable TLS/SSL support", + "default": "off", + "type": "boolean" + }, + { + "name": "tls.verify", + "description": "Force certificate validation", + "default": "on", + "type": "boolean" + }, + { + "name": "tls.debug", + "description": "Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose", + "default": "1", + "type": "integer" + }, + { + "name": "tls.ca_file", + "description": "Absolute path to CA certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.ca_path", + "description": "Absolute path to scan for certificate files", + "default": null, + "type": "string" + }, + { + "name": "tls.crt_file", + "description": "Absolute path to Certificate file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_file", + "description": "Absolute path to private Key file", + "default": null, + "type": "string" + }, + { + "name": "tls.key_passwd", + "description": "Optional password for tls.key_file file", + "default": null, + "type": "string" + }, + { + "name": "tls.vhost", + "description": "Hostname to be used for TLS SNI extension", + "default": null, + "type": "string" + } + ] + } + } + ] +} diff --git a/schemas/24.6.5/core-fluent-bit.json b/schemas/24.6.5/core-fluent-bit.json new file mode 100644 index 0000000..26624d3 --- /dev/null +++ b/schemas/24.6.5/core-fluent-bit.json @@ -0,0 +1 @@ +{"fluent-bit":{"version":"24.6.5","schema_version":"1","os":"linux"},"customs":[{"type":"custom","name":"calyptia","description":"Calyptia Cloud","properties":{"options":[{"name":"api_key","description":"Calyptia Cloud API Key.","default":null,"type":"string"},{"name":"store_path","description":"","default":null,"type":"string"},{"name":"calyptia_host","description":"","default":"cloud-api.calyptia.com","type":"string"},{"name":"calyptia_port","description":"","default":"443","type":"string"},{"name":"calyptia_tls","description":"","default":"true","type":"boolean"},{"name":"calyptia_tls.verify","description":"","default":"true","type":"boolean"},{"name":"add_label","description":"Label to append to the generated metric.","default":null,"type":"space delimited strings (minimum 1)"},{"name":"machine_id","description":"Custom machine_id to be used when registering agent","default":null,"type":"string"},{"name":"fleet_id","description":"Fleet id to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"fleet.config_dir","description":"Base path for the configuration directory.","default":null,"type":"string"},{"name":"fleet.interval_sec","description":"Set the collector interval","default":"-1","type":"integer"},{"name":"fleet.interval_nsec","description":"Set the collector interval (nanoseconds)","default":"-1","type":"integer"},{"name":"fleet_name","description":"Fleet name to be used when registering agent in a fleet","default":null,"type":"string"},{"name":"pipeline_id","description":"Pipeline ID for reporting to calyptia cloud.","default":null,"type":"string"}]}}],"inputs":[{"type":"input","name":"cpu","description":"CPU Usage","properties":{"options":[{"name":"pid","description":"Configure a single process to measure usage via their PID","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"mem","description":"Memory Usage","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (subseconds)","default":"0","type":"integer"},{"name":"pid","description":"Set the PID of the process to measure","default":"0","type":"integer"}]}},{"type":"input","name":"thermal","description":"Thermal","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"name_regex","description":"Set thermal name regular expression filter","default":null,"type":"string"},{"name":"type_regex","description":"Set thermal type regular expression filter","default":null,"type":"string"}]}},{"type":"input","name":"kmsg","description":"Kernel Log Buffer","properties":{"options":[{"name":"prio_level","description":"The log level to filter. The kernel log is dropped if its priority is more than prio_level. Allowed values are 0-8. Default is 8.","default":"8","type":"integer"}]}},{"type":"input","name":"proc","description":"Check Process health","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"alert","description":"Only generate alerts if process is down","default":"false","type":"boolean"},{"name":"mem","description":"Append memory usage to record","default":"true","type":"boolean"},{"name":"fd","description":"Append fd count to record","default":"true","type":"boolean"},{"name":"proc_name","description":"Define process name to health check","default":null,"type":"string"}]}},{"type":"input","name":"disk","description":"Diskstats","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"dev_name","description":"Set the device name","default":null,"type":"string"}]}},{"type":"input","name":"systemd","description":"Systemd (Journal) reader","properties":{"options":[{"name":"path","description":"Set the systemd journal path","default":null,"type":"string"},{"name":"max_fields","description":"Set the maximum fields per notification","default":"8000","type":"integer"},{"name":"max_entries","description":"Set the maximum entries per notification","default":"5000","type":"integer"},{"name":"systemd_filter_type","description":"Set the systemd filter type to either 'and' or 'or'","default":null,"type":"string"},{"name":"systemd_filter","description":"Add a systemd filter, can be set multiple times","default":null,"type":"string"},{"name":"read_from_tail","description":"Read the journal from the end (tail)","default":"false","type":"boolean"},{"name":"lowercase","description":"Lowercase the fields","default":"false","type":"boolean"},{"name":"strip_underscores","description":"Strip undersecores from fields","default":"false","type":"boolean"},{"name":"db.sync","description":"Set the database sync mode: extra, full, normal or off","default":null,"type":"string"},{"name":"db","description":"Set the database path","default":null,"type":"string"}]}},{"type":"input","name":"netif","description":"Network Interface Usage","properties":{"options":[{"name":"interface","description":"Set the interface, eg: eth0 or enp1s0","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"verbose","description":"Enable verbosity","default":"false","type":"boolean"},{"name":"test_at_init","description":"Testing interface at initialization","default":"false","type":"boolean"}]}},{"type":"input","name":"docker","description":"Docker containers metrics","properties":{"options":[{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"include","description":"A space-separated list of containers to include","default":null,"type":"string"},{"name":"exclude","description":"A space-separated list of containers to exclude","default":null,"type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys/fs/cgroup","type":"string"},{"name":"path.containers","description":"containers directory","default":"/var/lib/docker/containers","type":"string"}]}},{"type":"input","name":"docker_events","description":"Docker events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"unix_path","description":"Define Docker unix socket path to read events","default":"/var/run/docker.sock","type":"string"},{"name":"buffer_size","description":"Set buffer size to read events","default":"8k","type":"size"},{"name":"parser","description":"Optional parser for records, if not set, records are packages under 'key'","default":null,"type":"string"},{"name":"key","description":"Set the key name to store unparsed Docker events","default":"message","type":"string"},{"name":"reconnect.retry_limits","description":"Maximum number to retry to connect docker socket","default":"5","type":"integer"},{"name":"reconnect.retry_interval","description":"Retry interval to connect docker socket","default":"1","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"podman_metrics","description":"Podman metrics","properties":{"options":[{"name":"scrape_interval","description":"Scrape interval to collect the metrics of podman containers(defaults to 30s)","default":"30","type":"time"},{"name":"scrape_on_start","description":"Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"},{"name":"path.config","description":"Path to podman config file","default":null,"type":"string"},{"name":"path.sysfs","description":"Path to sysfs subsystem directory","default":"/sys/fs/cgroup","type":"string"},{"name":"path.procfs","description":"Path to proc subsystem directory","default":"/proc","type":"string"}]}},{"type":"input","name":"process_exporter_metrics","description":"Process Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"process_include_pattern","description":"include list regular expression","default":".+","type":"string"},{"name":"process_exclude_pattern","description":"exclude list regular expression","default":null,"type":"string"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,io,memory,state,context_switches,fd,start_time,thread_wchan,thread","type":"multiple comma delimited strings"}]}},{"type":"input","name":"node_exporter_metrics","description":"Node Exporter Metrics (Prometheus Compatible)","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect metrics from the node.","default":"5","type":"time"},{"name":"collector.cpu.scrape_interval","description":"scrape interval to collect cpu metrics from the node.","default":"0","type":"time"},{"name":"collector.cpufreq.scrape_interval","description":"scrape interval to collect cpufreq metrics from the node.","default":"0","type":"time"},{"name":"collector.meminfo.scrape_interval","description":"scrape interval to collect meminfo metrics from the node.","default":"0","type":"time"},{"name":"collector.diskstats.scrape_interval","description":"scrape interval to collect diskstats metrics from the node.","default":"0","type":"time"},{"name":"collector.filesystem.scrape_interval","description":"scrape interval to collect filesystem metrics from the node.","default":"0","type":"time"},{"name":"collector.uname.scrape_interval","description":"scrape interval to collect uname metrics from the node.","default":"0","type":"time"},{"name":"collector.stat.scrape_interval","description":"scrape interval to collect stat metrics from the node.","default":"0","type":"time"},{"name":"collector.time.scrape_interval","description":"scrape interval to collect time metrics from the node.","default":"0","type":"time"},{"name":"collector.loadavg.scrape_interval","description":"scrape interval to collect loadavg metrics from the node.","default":"0","type":"time"},{"name":"collector.vmstat.scrape_interval","description":"scrape interval to collect vmstat metrics from the node.","default":"0","type":"time"},{"name":"collector.netdev.scrape_interval","description":"scrape interval to collect netdev metrics from the node.","default":"0","type":"time"},{"name":"collector.filefd.scrape_interval","description":"scrape interval to collect filefd metrics from the node.","default":"0","type":"time"},{"name":"collector.textfile.scrape_interval","description":"scrape interval to collect textfile metrics from the node.","default":"0","type":"time"},{"name":"collector.systemd.scrape_interval","description":"scrape interval to collect systemd metrics from the node.","default":"0","type":"time"},{"name":"collector.processes.scrape_interval","description":"scrape interval to collect processes metrics from the node.","default":"0","type":"time"},{"name":"collector.thermalzone.scrape_interval","description":"scrape interval to collect thermal zone metrics from the node.","default":"0","type":"time"},{"name":"collector.nvme.scrape_interval","description":"scrape interval to collect nvme metrics from the node.","default":"0","type":"time"},{"name":"metrics","description":"Comma separated list of keys to enable metrics.","default":"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,filefd,systemd,nvme,thermal_zone","type":"multiple comma delimited strings"},{"name":"collector.textfile.path","description":"Specify file path or directory to collect textfile metrics from the node.","default":null,"type":"string"},{"name":"path.procfs","description":"procfs mount point","default":"/proc","type":"string"},{"name":"path.sysfs","description":"sysfs mount point","default":"/sys","type":"string"},{"name":"systemd_service_restart_metrics","description":"include systemd service restart metrics","default":"false","type":"boolean"},{"name":"systemd_unit_start_time_metrics","description":"include systemd unit start time metrics","default":"false","type":"boolean"},{"name":"systemd_include_service_task_metrics","description":"include systemd service task metrics","default":"false","type":"boolean"},{"name":"systemd_include_pattern","description":"include list regular expression","default":null,"type":"string"},{"name":"systemd_exclude_pattern","description":"exclude list regular expression","default":".+\\.(automount|device|mount|scope|slice)","type":"string"},{"name":"filesystem.ignore_mount_point_regex","description":"ignore regular expression for mount points","default":"^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)","type":"string"},{"name":"filesystem.ignore_filesystem_type_regex","description":"ignore regular expression for filesystem types","default":"^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$","type":"string"},{"name":"diskstats.ignore_device_regex","description":"ignore regular expression for disk devices","default":"^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$","type":"string"}]}},{"type":"input","name":"kubernetes_events","description":"Kubernetes Events","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"interval_sec","description":"Set the polling interval for each channel","default":"0","type":"integer"},{"name":"interval_nsec","description":"Set the polling interval for each channel (sub seconds)","default":"500000000","type":"integer"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_request_limit","description":"kubernetes limit parameter for events query, no limit applied when set to 0","default":"0","type":"integer"},{"name":"kube_retention_time","description":"kubernetes retention time for events. Default: 1h","default":"1h","type":"time"},{"name":"kube_namespace","description":"kubernetes namespace to get events from, gets event from all namespaces by default.","default":null,"type":"string"},{"name":"timestamp_key","description":"Deprecated. To be removed in v3.0","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of recorded kubernetes events.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"kafka","description":"Kafka consumer input plugin","properties":{"options":[{"name":"poll_ms","description":"Interval in milliseconds to check for new messages.","default":"500","type":"integer"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"format","description":"Set the data format which will be used for parsing records.","default":"none","type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the librdkafka options","default":null,"type":"prefixed string"},{"name":"buffer_max_size","description":"Set the maximum size of chunk","default":"4M","type":"size"}]}},{"type":"input","name":"fluentbit_metrics","description":"Fluent Bit internal metrics","properties":{"options":[{"name":"scrape_interval","description":"scrape interval to collect the internal metrics of Fluent Bit.","default":"2","type":"time"},{"name":"scrape_on_start","description":"scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.","default":"false","type":"boolean"}]}},{"type":"input","name":"prometheus_scrape","description":"Scrape metrics from Prometheus Endpoint","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"scrape_interval","description":"Scraping interval.","default":"10s","type":"time"},{"name":"buffer_max_size","description":"","default":"10M","type":"size"},{"name":"metrics_path","description":"Set the metrics URI endpoint, it must start with a forward slash.","default":"/metrics","type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"tail","description":"Tail files","properties":{"options":[{"name":"path","description":"pattern specifying log files or multiple ones through the use of common wildcards.","default":null,"type":"multiple comma delimited strings"},{"name":"exclude_path","description":"Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria, e.g: 'exclude_path *.gz,*.zip'","default":null,"type":"multiple comma delimited strings"},{"name":"key","description":"when a message is unstructured (no parser applied), it's appended as a string under the key name log. This option allows to define an alternative name for that key.","default":"log","type":"string"},{"name":"read_from_head","description":"For new discovered files on start (without a database offset/position), read the content from the head of the file, not tail.","default":"false","type":"boolean"},{"name":"refresh_interval","description":"interval to refresh the list of watched files expressed in seconds.","default":"60","type":"string"},{"name":"watcher_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval","description":"","default":"2s","type":"time"},{"name":"progress_check_interval_nsec","description":"","default":"0","type":"integer"},{"name":"rotate_wait","description":"specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.","default":"5","type":"time"},{"name":"docker_mode","description":"If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above. This mode cannot be used at the same time as Multiline.","default":"false","type":"boolean"},{"name":"docker_mode_flush","description":"wait period time in seconds to flush queued unfinished split lines.","default":"4","type":"integer"},{"name":"docker_mode_parser","description":"specify the parser name to fetch log first line for muliline log","default":null,"type":"string"},{"name":"path_key","description":"set the 'key' name where the name of monitored file will be appended.","default":null,"type":"string"},{"name":"offset_key","description":"set the 'key' name where the offset of monitored file will be appended.","default":null,"type":"string"},{"name":"ignore_older","description":"ignore records older than 'ignore_older'. Supports m,h,d (minutes, hours, days) syntax. Default behavior is to read all records. Option only available when a Parser is specified and it can parse the time of a record.","default":"0","type":"time"},{"name":"buffer_chunk_size","description":"set the initial buffer size to read data from files. This value is used too to increase buffer size.","default":"32768","type":"size"},{"name":"buffer_max_size","description":"set the limit of the buffer size per monitored file. When a buffer needs to be increased (e.g: very long lines), this value is used to restrict how much the memory buffer can grow. If reading a file exceed this limit, the file is removed from the monitored file list.","default":"32768","type":"size"},{"name":"static_batch_size","description":"On start, Fluent Bit might process files which already contains data, these files are called 'static' files. The configuration property in question set's the maximum number of bytes to process per iteration for the static files monitored.","default":"50M","type":"size"},{"name":"event_batch_size","description":"When Fluent Bit is processing files in event based mode the amount ofdata available for consumption could be too much and cause the input plugin to over extend and smother other pluginsThe configuration property sets the maximum number of bytes to process per iteration for the files monitored (in event mode).","default":"50M","type":"size"},{"name":"skip_long_lines","description":"if a monitored file reach it buffer capacity due to a very long line (buffer_max_size), the default behavior is to stop monitoring that file. This option alter that behavior and instruct Fluent Bit to skip long lines and continue processing other lines that fits into the buffer.","default":"false","type":"boolean"},{"name":"exit_on_eof","description":"exit Fluent Bit when reaching EOF on a monitored file.","default":"false","type":"boolean"},{"name":"skip_empty_lines","description":"Allows to skip empty lines.","default":"false","type":"boolean"},{"name":"inotify_watcher","description":"set to false to use file stat watcher instead of inotify.","default":"true","type":"boolean"},{"name":"parser","description":"specify the parser name to process an unstructured message.","default":null,"type":"string"},{"name":"tag_regex","description":"set a regex to extract fields from the file name and use them later to compose the Tag.","default":null,"type":"string"},{"name":"db","description":"set a database file to keep track of monitored files and it offsets.","default":null,"type":"string"},{"name":"db.sync","description":"set a database sync method. values: extra, full, normal and off.","default":"normal","type":"string"},{"name":"db.locking","description":"set exclusive locking mode, increase performance but don't allow external connections to the database file.","default":"false","type":"boolean"},{"name":"db.journal_mode","description":"Option to provide WAL configuration for Work Ahead Logging mechanism (WAL). Enabling WAL provides higher performance. Note that WAL is not compatible with shared network file systems.","default":"WAL","type":"string"},{"name":"db.compare_filename","description":"This option determines whether to check both the inode and the filename when retrieving file information from the db.'true' verifies both the inode and filename, while 'false' checks only the inode (default).","default":"false","type":"boolean"},{"name":"multiline","description":"if enabled, the plugin will try to discover multiline messages and use the proper parsers to compose the outgoing messages. Note that when this option is enabled the Parser option is not used.","default":"false","type":"boolean"},{"name":"multiline_flush","description":"wait period time in seconds to process queued multiline messages.","default":"4","type":"time"},{"name":"parser_firstline","description":"name of the parser that matches the beginning of a multiline message. Note that the regular expression defined in the parser must include a group name (named capture).","default":null,"type":"string"},{"name":"parser_","description":"optional extra parser to interpret and structure multiline entries. This option can be used to define multiple parsers, e.g: Parser_1 ab1, Parser_2 ab2, Parser_N abN.","default":null,"type":"prefixed string"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"}]}},{"type":"input","name":"dummy","description":"Generate dummy data","properties":{"options":[{"name":"samples","description":"set a number of times to generate event.","default":"0","type":"integer"},{"name":"dummy","description":"set the sample record to be generated. It should be a JSON object.","default":"{\"message\":\"dummy\"}","type":"string"},{"name":"metadata","description":"set the sample metadata to be generated. It should be a JSON object.","default":"{}","type":"string"},{"name":"rate","description":"set a number of events per second.","default":"1","type":"integer"},{"name":"interval_sec","description":"set seconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"interval_nsec","description":"set nanoseconds of interval to generate events. overrides rate setting.","default":"0","type":"integer"},{"name":"copies","description":"set the number of copies to generate per collectd.","default":"1","type":"integer"},{"name":"start_time_sec","description":"set a dummy base timestamp in seconds.","default":"-1","type":"integer"},{"name":"start_time_nsec","description":"set a dummy base timestamp in nanoseconds.","default":"-1","type":"integer"},{"name":"fixed_timestamp","description":"used a fixed timestamp, allows the message to pre-generated once.","default":"off","type":"boolean"},{"name":"flush_on_startup","description":"generate the first event on startup","default":"false","type":"boolean"}]}},{"type":"input","name":"head","description":"Head Input","properties":{"options":[{"name":"file","description":"Set the file","default":null,"type":"string"},{"name":"key","description":"Set the record key","default":"head","type":"string"},{"name":"buf_size","description":"Set the read buffer size","default":"256","type":"integer"},{"name":"split_line","description":"generate key/value pair per line","default":"false","type":"boolean"},{"name":"lines","description":"Line number to read","default":"0","type":"integer"},{"name":"add_path","description":"append filepath to records","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}]}},{"type":"input","name":"health","description":"Check TCP server health","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"alert","description":"Only generate records when the port is down","default":"false","type":"boolean"},{"name":"add_host","description":"Append hostname to each record","default":"false","type":"boolean"},{"name":"add_port","description":"Append port to each record","default":"false","type":"boolean"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"http","description":"HTTP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"collectd","description":"collectd input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"typesdb","description":"Set the types database filename","default":"/usr/share/collectd/types.db","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"statsd","description":"StatsD input plugin","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"tag_key","description":"","default":null,"type":"string"},{"name":"tag_from_uri","description":"If true, tag will be created from uri. e.g. v1_metrics from /v1/metrics .","default":"true","type":"boolean"},{"name":"successful_response_code","description":"Set successful response code. 200, 201 and 204 are supported.","default":"201","type":"integer"},{"name":"raw_traces","description":"Forward traces without processing","default":"false","type":"boolean"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"elasticsearch","description":"HTTP Endpoints for Elasticsearch (Bulk API)","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"Set the maximum size of buffer","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"512K","type":"size"},{"name":"tag_key","description":"Specify a key name for extracting as a tag","default":null,"type":"string"},{"name":"meta_key","description":"Specify a key name for meta information","default":"@meta","type":"string"},{"name":"hostname","description":"Specify hostname or FQDN. This parameter is effective for sniffering node information.","default":"localhost","type":"string"},{"name":"version","description":"Specify returning Elasticsearch server version.","default":"8.0.0","type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"splunk","description":"Input plugin for Splunk HEC payloads","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"http2","description":"","default":"true","type":"boolean"},{"name":"buffer_max_size","description":"","default":"4M","type":"size"},{"name":"buffer_chunk_size","description":"","default":"512K","type":"size"},{"name":"success_header","description":"Add an HTTP header key/value pair on success. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"splunk_token","description":"Set valid Splunk HEC tokens for the requests","default":null,"type":"string"},{"name":"tag_key","description":"","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"event_type","description":"Event tests for input plugins","properties":{"options":[{"name":"type","description":"Set the type of event to deliver, optionsa are: logs, metrics or traces","default":"logs","type":"string"},{"name":"interval_sec","description":"Set the interval seconds between events generation","default":"2","type":"integer"},{"name":"interval_nsec","description":"Set the nanoseconds interval (sub seconds)","default":"0","type":"integer"}]}},{"type":"input","name":"nginx_metrics","description":"Nginx status metrics","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"status_url","description":"Define URL of stub status handler","default":"/status","type":"string"},{"name":"nginx_plus","description":"Turn on NGINX plus mode","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"serial","description":"Serial input","properties":{"options":[{"name":"file","description":"Set the serial character device file name","default":null,"type":"string"},{"name":"bitrate","description":"Set the serial bitrate (baudrate)","default":null,"type":"string"},{"name":"separator","description":"Set the record separator","default":null,"type":"string"},{"name":"format","description":"Set the serial format: json or none","default":null,"type":"string"},{"name":"min_bytes","description":"Set the serial minimum bytes","default":"0","type":"integer"}]}},{"type":"input","name":"stdin","description":"Standard Input","properties":{"options":[{"name":"parser","description":"Set and use a fluent-bit parser","default":null,"type":"string"},{"name":"buffer_size","description":"Set the read buffer size","default":null,"type":"size"}]}},{"type":"input","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"mode","description":"Set the socket mode: unix_tcp, unix_udp, tcp or udp","default":null,"type":"string"},{"name":"path","description":"Set the path for the UNIX socket","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"Set the buffer chunk size","default":"32768","type":"size"},{"name":"buffer_max_size","description":"Set the buffer chunk size","default":null,"type":"size"},{"name":"parser","description":"Set the parser","default":null,"type":"string"},{"name":"receive_buffer_size","description":"Set the socket receiving buffer size","default":null,"type":"size"},{"name":"raw_message_key","description":"Key where the raw message will be preserved","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"exec","description":"Exec Input","properties":{"options":[{"name":"command","description":"Set the command to execute","default":null,"type":"string"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"oneshot","description":"execute the command only once","default":"false","type":"boolean"},{"name":"exit_after_oneshot","description":"exit fluent-bit after the command terminates in one-shot mode","default":"false","type":"boolean"},{"name":"propagate_exit_code","description":"propagate oneshot exit command fluent-bit exit code using shell exit code translation conventions","default":"false","type":"boolean"}]}},{"type":"input","name":"udp","description":"UDP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}]}},{"type":"input","name":"exec_wasi","description":"Exec WASI Input","properties":{"options":[{"name":"wasi_path","description":"Set the path of WASM program to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"parser","description":"Set a parser","default":null,"type":"string"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (nanoseconds)","default":"0","type":"integer"},{"name":"buf_size","description":"Set the buffer size","default":"4096","type":"size"},{"name":"bool","description":"execute the command only once","default":"false","type":"boolean"}]}},{"type":"input","name":"tcp","description":"TCP","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"format","description":"Set the format: json or none","default":null,"type":"string"},{"name":"separator","description":"Set separator","default":null,"type":"string"},{"name":"chunk_size","description":"Set the chunk size","default":null,"type":"string"},{"name":"buffer_size","description":"Set the buffer size","default":null,"type":"string"},{"name":"source_address_key","description":"Key where the source address will be injected","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"mqtt","description":"MQTT, listen for Publish messages","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"payload_key","description":"Key where the payload will be preserved","default":null,"type":"string"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"lib","description":"Library mode Input","properties":{}},{"type":"input","name":"forward","description":"Fluentd in-forward","properties":{"options":[{"name":"host","description":"Listen Address","default":"0.0.0.0","type":"string"},{"name":"port","description":"Listen Port","default":"0","type":"integer"},{"name":"tag_prefix","description":"Prefix incoming tag with the defined value.","default":null,"type":"string"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"security.users","description":"Specify username and password pairs.","default":null,"type":"string"},{"name":"unix_path","description":"The path to unix socket to receive a Forward message.","default":null,"type":"string"},{"name":"unix_perm","description":"Set the permissions for the UNIX socket","default":null,"type":"string"},{"name":"buffer_chunk_size","description":"The buffer memory size used to receive a Forward message.","default":"1024000","type":"size"},{"name":"buffer_max_size","description":"The maximum buffer memory size used to receive a Forward message.","default":"6144000","type":"size"}],"networking":[{"name":"net.share_port","description":"Allow multiple plugins to bind to the same port","default":"false","type":"boolean"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle","default":"0s","type":"time"},{"name":"net.accept_timeout","description":"Set maximum time allowed to establish an incoming connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.accept_timeout_log_error","description":"On client accept timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"input","name":"random","description":"Random","properties":{"options":[{"name":"samples","description":"Number of samples to send, -1 for infinite","default":"-1","type":"integer"},{"name":"interval_sec","description":"Set the collector interval","default":"1","type":"integer"},{"name":"interval_nsec","description":"Set the collector interval (sub seconds)","default":"0","type":"integer"}]}}],"filters":[{"type":"filter","name":"alter_size","description":"Alter incoming chunk size","properties":{"options":[{"name":"add","description":"add N records to the chunk","default":"0","type":"integer"},{"name":"remove","description":"remove N records from the chunk","default":"0","type":"integer"}]}},{"type":"filter","name":"aws","description":"Add AWS Metadata","properties":{"options":[{"name":"imds_version","description":"Specifies which version of the EC2 instance metadata service will be used: 'v1' or 'v2'. 'v2' may not work if you run Fluent Bit in a container.","default":"v2","type":"string"},{"name":"az","description":"Enable EC2 instance availability zone","default":"true","type":"boolean"},{"name":"ec2_instance_id","description":"Enable EC2 instance ID","default":"true","type":"boolean"},{"name":"ec2_instance_type","description":"Enable EC2 instance type","default":"false","type":"boolean"},{"name":"private_ip","description":"Enable EC2 instance private IP","default":"false","type":"boolean"},{"name":"vpc_id","description":"Enable EC2 instance VPC ID","default":"false","type":"boolean"},{"name":"ami_id","description":"Enable EC2 instance Image ID","default":"false","type":"boolean"},{"name":"account_id","description":"Enable EC2 instance Account ID","default":"false","type":"boolean"},{"name":"hostname","description":"Enable EC2 instance hostname","default":"false","type":"boolean"},{"name":"tags_enabled","description":"Enable EC2 instance tags, injects all tags if tags_include and tags_exclude are empty","default":"false","type":"boolean"},{"name":"tags_include","description":"Defines list of specific EC2 tag keys to inject into the logs; tag keys must be separated by \",\" character; tags which are not present in this list will be ignored; e.g.: \"Name,tag1,tag2\"","default":"","type":"string"},{"name":"tags_exclude","description":"Defines list of specific EC2 tag keys not to inject into the logs; tag keys must be separated by \",\" character; if both tags_include and tags_exclude are specified, configuration is invalid and plugin fails","default":"","type":"string"}]}},{"type":"filter","name":"checklist","description":"Check records and flag them","properties":{"options":[{"name":"file","description":"Specify the file that contains the patterns to lookup.","default":null,"type":"string"},{"name":"mode","description":"Set the check mode: 'exact' or 'partial'.","default":"exact","type":"string"},{"name":"print_query_time","description":"Print to stdout the elapseed query time for every matched record","default":"false","type":"boolean"},{"name":"ignore_case","description":"Compare strings by ignoring case.","default":"false","type":"boolean"},{"name":"lookup_key","description":"Name of the key to lookup.","default":"log","type":"string"},{"name":"record","description":"Name of record key to add and its value, it accept two values,e.g 'record mykey my val'. You can add many 'record' entries as needed.","default":null,"type":"space delimited strings (minimum 2)"}]}},{"type":"filter","name":"ecs","description":"Add AWS ECS Metadata","properties":{"options":[{"name":"add","description":"Add a metadata key/value pair with the given key and given value from the given template. Format is `Add KEY TEMPLATE`.","default":null,"type":"string"},{"name":"ecs_tag_prefix","description":"This filter must obtain the 12 character container short ID to query for ECS Task metadata. The filter removes the prefx from the tag and then assumes the next 12 characters are the short container ID. If the container short ID, is not found in the tag, the filter can/must fallback to only attaching cluster metadata (cluster name, container instance ID/ARN, and ECS Agent version).","default":"","type":"string"},{"name":"cluster_metadata_only","description":"Only attempt to attach the cluster related metadata to logs (cluster name, container instance ID/ARN, and ECS Agent version). With this option off, if this filter can not obtain the task metadata for a log, it will output errors. Use this option if you have logs that are not part of an ECS task (ex: Docker Daemon logs).","default":"false","type":"boolean"},{"name":"ecs_meta_cache_ttl","description":"Configurable TTL for cached ECS Task Metadata. Default 3600s (1 hour)For example, set this value to 600 or 600s or 10m and cache entries which have been created more than 10 minutes will be evicted.Cache eviction is needed to purge task metadata for tasks that have been stopped.","default":"3600","type":"time"},{"name":"ecs_meta_host","description":"The host name at which the ECS Agent Introspection endpoint is reachable. Defaults to 127.0.0.1","default":"127.0.0.1","type":"string"},{"name":"ecs_meta_port","description":"The port at which the ECS Agent Introspection endpoint is reachable. Defaults to 51678","default":"51678","type":"integer"},{"name":"agent_endpoint_retries","description":"Number of retries for failed metadata requests to ECS Agent Introspection endpoint. The most common cause of failed metadata requests is that the container the metadata request was made for is not part of an ECS Task. Check if you have non-task containers and docker dual logging enabled.","default":"2","type":"integer"}]}},{"type":"filter","name":"record_modifier","description":"modify record","properties":{"options":[{"name":"record","description":"Append fields. This parameter needs key and value pair.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"remove_key","description":"If the key is matched, that field is removed.","default":null,"type":"string"},{"name":"allowlist_key","description":"If the key is not matched, that field is removed.","default":null,"type":"string"},{"name":"whitelist_key","description":"(Alias of allowlist_key)","default":null,"type":"string"},{"name":"uuid_key","description":"If set, the plugin generates uuid per record.","default":null,"type":"string"}]}},{"type":"filter","name":"sysinfo","description":"Filter for system info","properties":{"options":[{"name":"fluentbit_version_key","description":"Specify the key name for fluent-bit version.","default":null,"type":"string"},{"name":"os_name_key","description":"Specify the key name for os name. e.g. linux, win64 or macos.","default":null,"type":"string"},{"name":"hostname_key","description":"Specify the key name for hostname.","default":null,"type":"string"},{"name":"os_version_key","description":"Specify the key name for os version. It is not supported on some platforms.","default":null,"type":"string"},{"name":"kernel_version_key","description":"Specify the key name for kernel version. It is not supported on some platforms.","default":null,"type":"string"}]}},{"type":"filter","name":"throttle","description":"Throttle messages using sliding window algorithm","properties":{"options":[{"name":"rate","description":"Set throttle rate","default":"1","type":"double"},{"name":"window","description":"Set throttle window","default":"5","type":"integer"},{"name":"print_status","description":"Set whether or not to print status information","default":"false","type":"boolean"},{"name":"interval","description":"Set the slide interval","default":"1","type":"string"}]}},{"type":"filter","name":"type_converter","description":"Data type converter","properties":{"options":[{"name":"int_key","description":"Convert integer to other type. e.g. int_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"uint_key","description":"Convert unsinged integer to other type. e.g. uint_key id id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"float_key","description":"Convert float to other type. e.g. float_key ratio id_str string","default":null,"type":"space delimited strings (minimum 3)"},{"name":"str_key","description":"Convert string to other type. e.g. str_key id id_val integer","default":null,"type":"space delimited strings (minimum 3)"}]}},{"type":"filter","name":"kubernetes","description":"Filter to append Kubernetes metadata","properties":{"options":[{"name":"buffer_size","description":"buffer size to receive response from API server","default":"32K","type":"size"},{"name":"tls.debug","description":"set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"set optional TLS virtual host","default":null,"type":"string"},{"name":"merge_log","description":"merge 'log' key content as individual keys","default":"false","type":"boolean"},{"name":"merge_parser","description":"specify a 'parser' name to parse the 'log' key content","default":null,"type":"string"},{"name":"merge_log_key","description":"set the 'key' name where the content of 'key' will be placed. Only used if the option 'merge_log' is enabled","default":null,"type":"string"},{"name":"merge_log_trim","description":"remove ending '\\n' or '\\r' characters from the log content","default":"true","type":"boolean"},{"name":"keep_log","description":"keep original log content if it was successfully parsed and merged","default":"true","type":"boolean"},{"name":"kube_url","description":"Kubernetes API server URL","default":"https://kubernetes.default.svc","type":"string"},{"name":"kube_meta_preload_cache_dir","description":"set directory with metadata files","default":null,"type":"string"},{"name":"kube_ca_file","description":"Kubernetes TLS CA file","default":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","type":"string"},{"name":"kube_ca_path","description":"Kubernetes TLS ca path","default":null,"type":"string"},{"name":"kube_tag_prefix","description":"prefix used in tag by the input plugin","default":"kube.var.log.containers.","type":"string"},{"name":"kube_token_file","description":"Kubernetes authorization token file","default":"/var/run/secrets/kubernetes.io/serviceaccount/token","type":"string"},{"name":"kube_token_command","description":"command to get Kubernetes authorization token","default":null,"type":"string"},{"name":"labels","description":"include Kubernetes labels on every record","default":"true","type":"boolean"},{"name":"annotations","description":"include Kubernetes annotations on every record","default":"true","type":"boolean"},{"name":"namespace_labels","description":"include Kubernetes namespace labels on every record","default":"false","type":"boolean"},{"name":"namespace_annotations","description":"include Kubernetes namespace annotations on every record","default":"false","type":"boolean"},{"name":"namespace_metadata_only","description":"ignore pod metadata entirely and only fetch namespace metadata","default":"false","type":"boolean"},{"name":"k8s-logging.parser","description":"allow Pods to suggest a parser","default":"false","type":"boolean"},{"name":"k8s-logging.exclude","description":"allow Pods to exclude themselves from the logging pipeline","default":"false","type":"boolean"},{"name":"use_journal","description":"use Journald (Systemd) mode","default":"false","type":"boolean"},{"name":"regex_parser","description":"optional regex parser to extract metadata from container name or container log file name","default":null,"type":"string"},{"name":"dummy_meta","description":"use 'dummy' metadata, do not talk to API server","default":"false","type":"boolean"},{"name":"dns_retries","description":"dns lookup retries N times until the network start working","default":"6","type":"integer"},{"name":"dns_wait_time","description":"dns interval between network status checks","default":"30","type":"time"},{"name":"cache_use_docker_id","description":"fetch K8s meta when docker_id is changed","default":"false","type":"boolean"},{"name":"use_tag_for_meta","description":"use tag associated to retrieve metadata instead of kube-server","default":"false","type":"boolean"},{"name":"use_kubelet","description":"use kubelet to get metadata instead of kube-server","default":"false","type":"boolean"},{"name":"kubelet_host","description":"kubelet host to connect with when using kubelet","default":"127.0.0.1","type":"string"},{"name":"kubelet_port","description":"kubelet port to connect with when using kubelet","default":"10250","type":"integer"},{"name":"kube_token_ttl","description":"kubernetes token ttl, until it is reread from the token file. Default: 10m","default":"10m","type":"time"},{"name":"kube_meta_cache_ttl","description":"configurable TTL for K8s cached metadata. By default, it is set to 0 which means TTL for cache entries is disabled and cache entries are evicted at random when capacity is reached. In order to enable this option, you should set the number to a time interval. For example, set this value to 60 or 60s and cache entries which have been created more than 60s will be evicted","default":"0","type":"time"},{"name":"kube_meta_namespace_cache_ttl","description":"configurable TTL for K8s cached namespace metadata. By default, it is set to 15m and cached entries will be evicted after 15m.Setting this to 0 will disable the cache TTL and will evict entries once the cache reaches capacity.","default":"15m","type":"time"}]}},{"type":"filter","name":"modify","description":"modify records by applying rules","properties":{"options":[{"name":"Set","description":"Add a key/value pair with key KEY and value VALUE. If KEY already exists, this field is overwritten.","default":null,"type":"string"},{"name":"Add","description":"Add a key/value pair with key KEY and value VALUE if KEY does not exist","default":null,"type":"string"},{"name":"Remove","description":"Remove a key/value pair with key KEY if it exists","default":null,"type":"string"},{"name":"Remove_wildcard","description":"Remove all key/value pairs with key matching wildcard KEY","default":null,"type":"string"},{"name":"Remove_regex","description":"Remove all key/value pairs with key matching regexp KEY","default":null,"type":"string"},{"name":"Move_To_Start","description":"Move key/value pairs with keys matching KEY to the start of the message","default":null,"type":"string"},{"name":"Move_To_End","description":"Move key/value pairs with keys matching KEY to the end of the message","default":null,"type":"string"},{"name":"Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists AND RENAMED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_Rename","description":"Rename a key/value pair with key KEY to RENAMED_KEY if KEY exists. If RENAMED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists AND COPIED_KEY does not exist","default":null,"type":"string"},{"name":"Hard_copy","description":"Copy a key/value pair with key KEY to COPIED_KEY if KEY exists. If COPIED_KEY already exists, this field is overwritten","default":null,"type":"string"},{"name":"Condition","description":"Set the condition to modify. Key_exists, Key_does_not_exist, A_key_matches, No_key_matches, Key_value_equals, Key_value_does_not_equal, Key_value_matches, Key_value_does_not_match, Matching_keys_have_matching_values and Matching_keys_do_not_have_matching_values are supported.","default":null,"type":"string"}]}},{"type":"filter","name":"multiline","description":"Concatenate multiline messages","properties":{"options":[{"name":"debug_flush","description":"enable debugging for concatenation flush to stdout","default":"false","type":"boolean"},{"name":"buffer","description":"Enable buffered mode. In buffered mode, the filter can concatenate multilines from inputs that ingest records one by one (ex: Forward), rather than in chunks, re-emitting them into the beggining of the pipeline using the in_emitter instance. With buffer off, this filter will not work with most inputs, except tail.","default":"true","type":"boolean"},{"name":"mode","description":"Mode can be 'parser' for regex concat, or 'partial_message' to concat split docker logs.","default":"parser","type":"string"},{"name":"flush_ms","description":"Flush time for pending multiline records","default":"2000","type":"integer"},{"name":"multiline.parser","description":"specify one or multiple multiline parsers: docker, cri, go, java, etc.","default":null,"type":"multiple comma delimited strings"},{"name":"multiline.key_content","description":"specify the key name that holds the content to process.","default":null,"type":"string"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"nest","description":"nest events by specified field values","properties":{"options":[{"name":"Operation","description":"Select the operation nest or lift","default":null,"type":"string"},{"name":"Wildcard","description":"Nest records which field matches the wildcard","default":null,"type":"string"},{"name":"Nest_under","description":"Nest records matching the Wildcard under this key","default":null,"type":"string"},{"name":"Nested_under","description":"Lift records nested under the Nested_under key","default":null,"type":"string"},{"name":"Add_prefix","description":"Prefix affected keys with this string","default":null,"type":"string"},{"name":"Remove_prefix","description":"Remove prefix from affected keys if it matches this string","default":null,"type":"string"}]}},{"type":"filter","name":"parser","description":"Parse events","properties":{"options":[{"name":"Key_Name","description":"Specify field name in record to parse.","default":null,"type":"string"},{"name":"Parser","description":"Specify the parser name to interpret the field. Multiple Parser entries are allowed (one per line).","default":null,"type":"string"},{"name":"Preserve_Key","description":"Keep original Key_Name field in the parsed result. If false, the field will be removed.","default":"false","type":"boolean"},{"name":"Reserve_Data","description":"Keep all other original fields in the parsed result. If false, all other original fields will be removed.","default":"false","type":"boolean"},{"name":"Unescape_key","description":"(deprecated)","default":null,"type":"deprecated"}]}},{"type":"filter","name":"expect","description":"Validate expected keys and values","properties":{"options":[{"name":"key_exists","description":"check that the given key name exists in the record","default":null,"type":"string"},{"name":"key_not_exists","description":"check that the given key name do not exists in the record","default":null,"type":"string"},{"name":"key_val_is_null","description":"check that the value of the key is NULL","default":null,"type":"string"},{"name":"key_val_is_not_null","description":"check that the value of the key is NOT NULL","default":null,"type":"string"},{"name":"key_val_eq","description":"check that the value of the key equals the given value","default":null,"type":"space delimited strings (minimum 1)"},{"name":"action","description":"action to take when a rule does not match: 'warn', 'exit' or 'result_key'.","default":"warn","type":"string"},{"name":"result_key","description":"specify the key name to append a boolean that indicates rule is matched or not. This key is to be used only when 'action' is 'result_key'.","default":"matched","type":"string"}]}},{"type":"filter","name":"grep","description":"grep events by specified field values","properties":{"options":[{"name":"regex","description":"Keep records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Exclude records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"logical_op","description":"Specify whether to use logical conjuciton or disjunction. legacy, AND and OR are allowed.","default":"legacy","type":"string"}]}},{"type":"filter","name":"rewrite_tag","description":"Rewrite records tags","properties":{"options":[{"name":"rule","description":"","default":null,"type":"space delimited strings (minimum 4)"},{"name":"emitter_name","description":"","default":null,"type":"string"},{"name":"emitter_storage.type","description":"","default":"memory","type":"string"},{"name":"emitter_mem_buf_limit","description":"set a memory buffer limit to restrict memory usage of emitter","default":"10M","type":"size"}]}},{"type":"filter","name":"log_to_metrics","description":"generate log derived metrics","properties":{"options":[{"name":"regex","description":"Optional filter for records in which the content of KEY matches the regular expression.","default":null,"type":"string"},{"name":"exclude","description":"Optional filter for records in which the content of KEY does not matches the regular expression.","default":null,"type":"string"},{"name":"metric_mode","description":"Mode selector. Values counter, gauge, or histogram. Summary is not supported","default":"counter","type":"string"},{"name":"value_field","description":"Numeric field to use for gauge or histogram","default":null,"type":"string"},{"name":"metric_name","description":"Name of metric","default":null,"type":"string"},{"name":"metric_description","description":"Help text for metric","default":null,"type":"string"},{"name":"kubernetes_mode","description":"Enable kubernetes log metric fields","default":"false","type":"boolean"},{"name":"add_label","description":"Add a label to the metric by supporting record accessor pattern","default":null,"type":"string"},{"name":"label_field","description":"Specify message field that should be included in the metric","default":null,"type":"string"},{"name":"bucket","description":"Specify bucket for histogram metric","default":null,"type":"string"},{"name":"tag","description":"Metric Tag","default":null,"type":"string"}]}},{"type":"filter","name":"lua","description":"Lua Scripting Filter","properties":{"options":[{"name":"script","description":"The path of lua script.","default":null,"type":"string"},{"name":"code","description":"String that contains the Lua script source code","default":null,"type":"string"},{"name":"call","description":"Lua function name that will be triggered to do filtering.","default":null,"type":"string"},{"name":"type_int_key","description":"If these keys are matched, the fields are converted to integer. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"type_array_key","description":"If these keys are matched, the fields are converted to array. If more than one key, delimit by space.","default":null,"type":"string"},{"name":"protected_mode","description":"If enabled, Lua script will be executed in protected mode. It prevents to crash when invalid Lua script is executed.","default":"true","type":"boolean"},{"name":"time_as_table","description":"If enabled, Fluent-bit will pass the timestamp as a Lua table with keys \"sec\" for seconds since epoch and \"nsec\" for nanoseconds.","default":"false","type":"boolean"},{"name":"enable_flb_null","description":"If enabled, null will be converted to flb_null in Lua. It is useful to prevent removing key/value since nil is a special value to remove key value from map in Lua.","default":"false","type":"boolean"}]}},{"type":"filter","name":"stdout","description":"Filter events to STDOUT","properties":{"options":[]}},{"type":"filter","name":"geoip2","description":"add geoip information to records","properties":{"options":[{"name":"database","description":"Set the geoip2 database path","default":null,"type":"string"},{"name":"lookup_key","description":"Add a lookup_key","default":null,"type":"string"},{"name":"record","description":"Add a record to the output base on geoip2","default":null,"type":"string"}]}},{"type":"filter","name":"nightfall","description":"scans records for sensitive content","properties":{"options":[{"name":"nightfall_api_key","description":"The Nightfall API key to scan your logs with.","default":null,"type":"string"},{"name":"policy_id","description":"The Nightfall policy ID to scan your logs with.","default":null,"type":"string"},{"name":"sampling_rate","description":"The sampling rate for scanning, must be (0,1]. 1 means all logs will be scanned.","default":"1","type":"double"},{"name":"tls.debug","description":"Set TLS debug level: 0 (no debug), 1 (error), 2 (state change), 3 (info) and 4 (verbose)","default":"0","type":"integer"},{"name":"tls.verify","description":"Enable or disable verification of TLS peer certificate","default":"true","type":"boolean"},{"name":"tls.vhost","description":"Set optional TLS virtual host","default":null,"type":"string"},{"name":"tls.ca_path","description":"Path to root certificates on the system","default":null,"type":"string"}]}},{"type":"filter","name":"wasm","description":"WASM program filter","properties":{"options":[{"name":"event_format","description":"Sepecify the ingesting event format for wasm program","default":null,"type":"string"},{"name":"wasm_path","description":"Set the wasm path to execute","default":null,"type":"string"},{"name":"accessible_paths","description":"Specifying paths to be accessible from a WASM program.Default value is current working directory","default":".","type":"multiple comma delimited strings"},{"name":"function_name","description":"Set the function name in wasm to execute","default":null,"type":"string"}]}}],"outputs":[{"type":"output","name":"azure","description":"Send events to Azure HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"customer_id","description":"Customer ID or WorkspaceID string.","default":null,"type":"string"},{"name":"shared_key","description":"The primary or the secondary Connected Sources client authentication key.","default":null,"type":"string"},{"name":"log_type","description":"The name of the event type.","default":"fluentbit","type":"string"},{"name":"log_type_key","description":"If included, the value for this key will be looked upon in the record and if present, will over-write the `log_type`. If the key/value is not found in the record then the `log_type` option will be used. ","default":null,"type":"string"},{"name":"time_key","description":"Optional parameter to specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, the HTTP request header 'time-generated-field' will be included so Azure can override the timestamp with the key specified by 'time_key' option.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_blob","description":"Azure Blob Storage","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"account_name","description":"Azure account name (mandatory)","default":null,"type":"string"},{"name":"container_name","description":"Container name (mandatory)","default":null,"type":"string"},{"name":"auto_create_container","description":"Auto create container if it don't exists","default":"true","type":"boolean"},{"name":"blob_type","description":"Set the block type: appendblob or blockblob","default":"appendblob","type":"string"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"},{"name":"compress_blob","description":"Enable block blob GZIP compression in the final blob file. This option is not compatible with 'appendblob' block type","default":"false","type":"boolean"},{"name":"emulator_mode","description":"Use emulator mode, enable it if you want to use Azurite","default":"false","type":"boolean"},{"name":"shared_key","description":"Azure shared key","default":null,"type":"string"},{"name":"endpoint","description":"Custom full URL endpoint to use an emulator","default":null,"type":"string"},{"name":"path","description":"Set a path for your blob","default":null,"type":"string"},{"name":"date_key","description":"Name of the key that will have the record timestamp","default":"@timestamp","type":"string"},{"name":"auth_type","description":"Set the auth type: key or sas","default":"key","type":"string"},{"name":"sas_token","description":"Azure Blob SAS token","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_logs_ingestion","description":"Send logs to Log Analytics with Log Ingestion API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application","default":null,"type":"string"},{"name":"client_id","description":"Set the client/app ID of the AAD application","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret of the AAD application","default":null,"type":"string"},{"name":"dce_url","description":"Data Collection Endpoint(DCE) URI (e.g. https://la-endpoint-q12a.eastus-1.ingest.monitor.azure.com)","default":null,"type":"string"},{"name":"dcr_id","description":"Data Collection Rule (DCR) immutable ID","default":null,"type":"string"},{"name":"table_name","description":"The name of the custom log table, including '_CL' suffix","default":null,"type":"string"},{"name":"time_key","description":"[Optional] Specify the key name where the timestamp will be stored.","default":"@timestamp","type":"string"},{"name":"time_generated","description":"If enabled, will generate a timestamp and append it to JSON. The key name is set by the 'time_key' parameter","default":"false","type":"boolean"},{"name":"compress","description":"Enable HTTP payload compression (gzip).","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"azure_kusto","description":"Send events to Kusto (Azure Data Explorer)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tenant_id","description":"Set the tenant ID of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_id","description":"Set the client ID (Application ID) of the AAD application used for authentication","default":null,"type":"string"},{"name":"client_secret","description":"Set the client secret (Application Password) of the AAD application used for authentication","default":null,"type":"string"},{"name":"ingestion_endpoint","description":"Set the Kusto cluster's ingestion endpoint URL (e.g. https://ingest-mycluster.eastus.kusto.windows.net)","default":null,"type":"string"},{"name":"database_name","description":"Set the database name","default":null,"type":"string"},{"name":"table_name","description":"Set the table name","default":null,"type":"string"},{"name":"ingestion_mapping_reference","description":"Set the ingestion mapping reference","default":null,"type":"string"},{"name":"log_key","description":"The key name of event payload","default":"log","type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"true","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tag","type":"string"},{"name":"include_time_key","description":"If enabled, time is appended to output. The key name is used 'time_key' property.","default":"true","type":"boolean"},{"name":"time_key","description":"The key name of the time. If 'include_time_key' is false, This property is ignored","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"bigquery","description":"Send events to BigQuery via streaming insert","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"enable_identity_federation","description":"Enable identity federation","default":"false","type":"boolean"},{"name":"aws_region","description":"Enable identity federation","default":null,"type":"string"},{"name":"project_number","description":"Set project number","default":null,"type":"string"},{"name":"pool_id","description":"Set the pool id","default":null,"type":"string"},{"name":"provider_id","description":"Set the provider id","default":null,"type":"string"},{"name":"google_service_account","description":"Set the google service account","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"dataset_id","description":"Set the dataset id","default":null,"type":"string"},{"name":"table_id","description":"Set the table id","default":null,"type":"string"},{"name":"skip_invalid_rows","description":"Enable skipping of invalid rows","default":"false","type":"boolean"},{"name":"ignore_unknown_values","description":"Enable ignoring unknown value","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"counter","description":"Records counter","properties":{"options":[]}},{"type":"output","name":"datadog","description":"Send events to DataDog HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"compresses the payload in GZIP format, Datadog supports and recommends setting this to 'gzip'.","default":"false","type":"string"},{"name":"apikey","description":"Datadog API key","default":null,"type":"string"},{"name":"dd_service","description":"The human readable name for your service generating the logs - the name of your application or database.","default":null,"type":"string"},{"name":"dd_source","description":"A human readable name for the underlying technology of your service. For example, 'postgres' or 'nginx'.","default":null,"type":"string"},{"name":"dd_tags","description":"The tags you want to assign to your logs in Datadog.","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. Note that https is not supported yet.","default":null,"type":"string"},{"name":"include_tag_key","description":"If enabled, tag is appended to output. The key name is used 'tag_key' property.","default":"false","type":"boolean"},{"name":"tag_key","description":"The key name of tag. If 'include_tag_key' is false, This property is ignored","default":"tagkey","type":"string"},{"name":"dd_message_key","description":"By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.","default":null,"type":"string"},{"name":"provider","description":"To activate the remapping, specify configuration flag provider with value 'ecs'","default":null,"type":"string"},{"name":"json_date_key","description":"Date key name for output.","default":"timestamp","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"es","description":"Elasticsearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for Elastic X-Pack access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in HTTP_User","default":"","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"cloud_id","description":"Elastic cloud ID of the cluster to connect to","default":null,"type":"string"},{"name":"cloud_auth","description":"Elastic cloud authentication credentials","default":null,"type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the Elasticsearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"Elasticsearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"Newer versions of Elasticsearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying ES","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the Elasticsearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the Elasticsearch exception to stderr (for diag only)","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"exit","description":"Exit after a number of flushes (test purposes)","properties":{"options":[{"name":"flush_count","description":"","default":"1","type":"integer"}]}},{"type":"output","name":"file","description":"Generate log file","properties":{"options":[{"name":"path","description":"Absolute path to store the files. This parameter is optional","default":null,"type":"string"},{"name":"file","description":"Name of the target file to write the records. If 'path' is specified, the value is prefixed","default":null,"type":"string"},{"name":"format","description":"Specify the output data format, the available options are: plain (json), csv, ltsv and template. If no value is set the outgoing data is formatted using the tag and the record in json","default":null,"type":"string"},{"name":"delimiter","description":"Set a custom delimiter for the records","default":null,"type":"string"},{"name":"label_delimiter","description":"Set a custom label delimiter, to be used with 'ltsv' format","default":null,"type":"string"},{"name":"template","description":"Set a custom template format for the data","default":"{time} {message}","type":"string"},{"name":"csv_column_names","description":"Add column names (keys) in the first line of the target file","default":"false","type":"boolean"},{"name":"mkdir","description":"Recursively create output directory if it does not exist. Permissions set to 0755","default":"false","type":"boolean"}]}},{"type":"output","name":"forward","description":"Forward (Fluentd protocol)","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"time_as_integer","description":"Set timestamp in integer format (compat mode for old Fluentd v0.12)","default":"false","type":"boolean"},{"name":"retain_metadata_in_forward_mode","description":"Retain metadata when operating in forward mode","default":"false","type":"boolean"},{"name":"shared_key","description":"Shared key for authentication","default":null,"type":"string"},{"name":"self_hostname","description":"Hostname","default":null,"type":"string"},{"name":"empty_shared_key","description":"Set an empty shared key for authentication","default":"false","type":"boolean"},{"name":"send_options","description":"Send 'forward protocol options' to remote endpoint","default":"false","type":"boolean"},{"name":"require_ack_response","description":"Require that remote endpoint confirms data reception","default":"false","type":"boolean"},{"name":"username","description":"Username for authentication","default":"","type":"string"},{"name":"password","description":"Password for authentication","default":"","type":"string"},{"name":"unix_path","description":"Path to unix socket. It is ignored when 'upstream' property is set","default":null,"type":"string"},{"name":"upstream","description":"Path to 'upstream' configuration file (define multiple nodes)","default":null,"type":"string"},{"name":"tag","description":"Set a custom Tag for the outgoing records","default":null,"type":"string"},{"name":"compress","description":"Compression mode","default":null,"type":"string"},{"name":"fluentd_compat","description":"Send metrics and traces with Fluentd compatible format","default":"false","type":"boolean"},{"name":"add_option","description":"Set an extra Forward protocol option. This is an advance feature, use it only for very specific use-cases.","default":null,"type":"space delimited strings (minimum 2)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"http","description":"HTTP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"allow_duplicated_headers","description":"Specify if duplicated headers are allowed or not","default":"true","type":"boolean"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":null,"type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header_tag","description":"Set a HTTP header which value is the Tag","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":"json","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Specify the key to use for 'timestamp' in gelf format","default":null,"type":"string"},{"name":"gelf_host_key","description":"Specify the key to use for the 'host' in gelf format","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Specify the key to use as the 'short' message in gelf format","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Specify the key to use for the 'full' message in gelf format","default":null,"type":"string"},{"name":"gelf_level_key","description":"Specify the key to use for the 'level' in gelf format","default":null,"type":"string"},{"name":"body_key","description":"Specify the key which contains the body","default":null,"type":"string"},{"name":"headers_key","description":"Specify the key which contains the headers","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"influxdb","description":"InfluxDB Time Series","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"database","description":"Set the database name.","default":"fluentbit","type":"string"},{"name":"bucket","description":"Specify the bucket name, used on InfluxDB API v2.","default":null,"type":"string"},{"name":"org","description":"Set the Organization name.","default":"fluent","type":"string"},{"name":"sequence_tag","description":"Specify the sequence tag.","default":null,"type":"string"},{"name":"uri","description":"Specify a custom URI endpoint (must start with '/').","default":null,"type":"string"},{"name":"http_user","description":"HTTP Basic Auth username.","default":null,"type":"string"},{"name":"http_passwd","description":"HTTP Basic Auth password.","default":"","type":"string"},{"name":"http_token","description":"Set InfluxDB HTTP Token API v2.","default":null,"type":"string"},{"name":"http_header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"auto_tags","description":"Automatically tag keys where value is string.","default":"false","type":"boolean"},{"name":"tag_keys","description":"Space separated list of keys that needs to be tagged.","default":null,"type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"logdna","description":"LogDNA","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"logdna_host","description":"LogDNA Host address","default":"logs.logdna.com","type":"string"},{"name":"logdna_port","description":"LogDNA TCP port","default":"443","type":"integer"},{"name":"api_key","description":"Logdna API key","default":null,"type":"string"},{"name":"hostname","description":"Local Server or device host name","default":null,"type":"string"},{"name":"mac","description":"MAC address (optional)","default":"","type":"string"},{"name":"ip","description":"IP address (optional)","default":"","type":"string"},{"name":"tags","description":"Tags (optional)","default":"","type":"multiple comma delimited strings"},{"name":"file","description":"Name of the monitored file (optional)","default":null,"type":"string"},{"name":"app","description":"Name of the application generating the data (optional)","default":"Fluent Bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"loki","description":"Loki","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify a custom HTTP URI. It must start with forward slash.","default":"/loki/api/v1/push","type":"string"},{"name":"tenant_id","description":"Tenant ID used by default to push logs to Loki. If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.","default":null,"type":"string"},{"name":"tenant_id_key","description":"If set, X-Scope-OrgID will be the value of the key from incoming record. It is useful to set X-Scode-OrgID dynamically.","default":null,"type":"string"},{"name":"labels","description":"labels for API requests. If no value is set, the default label is 'job=fluent-bit'","default":null,"type":"multiple comma delimited strings"},{"name":"auto_kubernetes_labels","description":"If set to true, it will add all Kubernetes labels to Loki labels.","default":"false","type":"boolean"},{"name":"drop_single_key","description":"If set to true and only a single key remains, the log line sent to Loki will be the value of that key.","default":"false","type":"boolean"},{"name":"label_keys","description":"Comma separated list of keys to use as stream labels.","default":null,"type":"multiple comma delimited strings"},{"name":"remove_keys","description":"Comma separated list of keys to remove.","default":null,"type":"multiple comma delimited strings"},{"name":"line_format","description":"Format to use when flattening the record to a log line. Valid values are 'json' or 'key_value'. If set to 'json' the log line sent to Loki will be the Fluent Bit record dumped as json. If set to 'key_value', the log line will be each item in the record concatenated together (separated by a single space) in the format '='.","default":"json","type":"string"},{"name":"label_map_path","description":"A label map file path","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"bearer_token","description":"Set bearer token auth","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"compress","description":"Set payload compression in network transfer. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"kafka","description":"Kafka","properties":{"options":[{"name":"topic_key","description":"Which record to use as the kafka topic.","default":null,"type":"string"},{"name":"dynamic_topic","description":"Activate dynamic topics.","default":"false","type":"boolean"},{"name":"format","description":"Set the record output format.","default":null,"type":"string"},{"name":"message_key","description":"Which record key to use as the message data.","default":null,"type":"string"},{"name":"message_key_field","description":"Which record key field to use as the message data.","default":null,"type":"string"},{"name":"timestamp_key","description":"Set the key for the the timestamp.","default":"@timestamp","type":"string"},{"name":"timestamp_format","description":"Set the format the timestamp is in.","default":null,"type":"string"},{"name":"queue_full_retries","description":"Set the number of local retries to enqueue the data.","default":"10","type":"integer"},{"name":"gelf_timestamp_key","description":"Set the timestamp key for gelf output.","default":null,"type":"string"},{"name":"gelf_host_key","description":"Set the host key for gelf output.","default":null,"type":"string"},{"name":"gelf_short_message_key","description":"Set the short message key for gelf output.","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Set the full message key for gelf output.","default":null,"type":"string"},{"name":"gelf_level_key","description":"Set the level key for gelf output.","default":null,"type":"string"},{"name":"schema_str","description":"Set AVRO schema.","default":null,"type":"string"},{"name":"schema_id","description":"Set AVRO schema ID.","default":null,"type":"string"},{"name":"topics","description":"Set the kafka topics, delimited by commas.","default":null,"type":"string"},{"name":"brokers","description":"Set the kafka brokers, delimited by commas.","default":null,"type":"string"},{"name":"client_id","description":"Set the kafka client_id.","default":null,"type":"string"},{"name":"group_id","description":"Set the kafka group_id.","default":null,"type":"string"},{"name":"rdkafka.","description":"Set the kafka group_id.","default":null,"type":"prefixed string"}]}},{"type":"output","name":"kafka-rest","description":"Kafka REST Proxy","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"message_key","description":"Specify a message key. ","default":null,"type":"string"},{"name":"time_key","description":"Specify the name of the field that holds the record timestamp. ","default":null,"type":"string"},{"name":"topic","description":"Specify the kafka topic. ","default":"fluent-bit","type":"string"},{"name":"url_path","description":"Specify an optional HTTP URL path for the target web server, e.g: /something","default":null,"type":"string"},{"name":"partition","description":"Specify kafka partition number. ","default":"-1","type":"double"},{"name":"time_key_format","description":"Specify the format of the timestamp. ","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"include_tag_key","description":"Specify whether to append tag name to final record. ","default":"false","type":"boolean"},{"name":"tag_key","description":"Specify the key name of the record if include_tag_key is enabled. ","default":"_flb-key","type":"string"},{"name":"avro_http_header","description":"Specify if the format has avro header in http request","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"nats","description":"NATS Server","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"nrlogs","description":"New Relic","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"base_uri","description":"New Relic Host address","default":"https://log-api.newrelic.com/log/v1","type":"string"},{"name":"api_key","description":"New Relic API Key","default":null,"type":"string"},{"name":"license_key","description":"New Relic License Key","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism","default":"gzip","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"null","description":"Throws away events","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specifies the name of the date field in output.","default":null,"type":"string"},{"name":"json_date_key","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"date","type":"string"}]}},{"type":"output","name":"opensearch","description":"OpenSearch","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"index","description":"Set an index name","default":"fluent-bit","type":"string"},{"name":"type","description":"Set the document type property","default":"_doc","type":"string"},{"name":"suppress_type_name","description":"If true, mapping types is removed. (for v7.0.0 or later)","default":"false","type":"boolean"},{"name":"http_user","description":"Optional username credential for access","default":null,"type":"string"},{"name":"http_passwd","description":"Password for user defined in 'http_user'","default":"","type":"string"},{"name":"aws_auth","description":"Enable AWS Sigv4 Authentication","default":"false","type":"boolean"},{"name":"aws_region","description":"AWS Region of your Amazon OpenSearch Service cluster","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":"default","type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the AWS_Role_ARN option","default":null,"type":"string"},{"name":"aws_role_arn","description":"AWS IAM Role to assume to put records to your Amazon OpenSearch cluster","default":null,"type":"string"},{"name":"aws_external_id","description":"External ID for the AWS IAM Role specified with `aws_role_arn`","default":null,"type":"string"},{"name":"aws_service_name","description":"AWS Service Name","default":"es","type":"string"},{"name":"logstash_format","description":"Enable Logstash format compatibility","default":"false","type":"boolean"},{"name":"logstash_prefix","description":"When Logstash_Format is enabled, the Index name is composed using a prefix and the date, e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'. The last string appended belongs to the date when the data is being generated","default":"logstash","type":"string"},{"name":"logstash_prefix_separator","description":"Set a separator between logstash_prefix and date.","default":"-","type":"string"},{"name":"logstash_prefix_key","description":"When included: the value in the record that belongs to the key will be looked up and over-write the Logstash_Prefix for index generation. If the key/value is not found in the record then the Logstash_Prefix option will act as a fallback. Nested keys are supported through record accessor pattern","default":null,"type":"string"},{"name":"logstash_dateformat","description":"Time format (based on strftime) to generate the second part of the Index name","default":"%Y.%m.%d","type":"string"},{"name":"time_key","description":"When Logstash_Format is enabled, each record will get a new timestamp field. The Time_Key property defines the name of that field","default":"@timestamp","type":"string"},{"name":"time_key_format","description":"When Logstash_Format is enabled, this property defines the format of the timestamp","default":"%Y-%m-%dT%H:%M:%S","type":"string"},{"name":"time_key_nanos","description":"When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps","default":"false","type":"boolean"},{"name":"include_tag_key","description":"When enabled, it append the Tag name to the record","default":"false","type":"boolean"},{"name":"tag_key","description":"When Include_Tag_Key is enabled, this property defines the key name for the tag","default":"flb-key","type":"string"},{"name":"buffer_size","description":"Specify the buffer size used to read the response from the OpenSearch HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":"512k","type":"size"},{"name":"path","description":"OpenSearch accepts new data on HTTP query path '/_bulk'. But it is also possible to serve OpenSearch behind a reverse proxy on a subpath. This option defines such path on the fluent-bit side. It simply adds a path prefix in the indexing HTTP POST URI","default":null,"type":"string"},{"name":"pipeline","description":"OpenSearch allows to setup filters called pipelines. This option allows to define which pipeline the database should use. For performance reasons is strongly suggested to do parsing and filtering on Fluent Bit side, avoid pipelines","default":null,"type":"string"},{"name":"generate_id","description":"When enabled, generate _id for outgoing records. This prevents duplicate records when retrying","default":"false","type":"boolean"},{"name":"write_operation","description":"Operation to use to write in bulk requests","default":"create","type":"string"},{"name":"id_key","description":"If set, _id will be the value of the key from incoming record.","default":null,"type":"string"},{"name":"replace_dots","description":"When enabled, replace field name dots with underscore.","default":"false","type":"boolean"},{"name":"current_time_index","description":"Use current time for index generation instead of message record","default":"false","type":"boolean"},{"name":"trace_output","description":"When enabled print the OpenSearch API calls to stdout (for diag only)","default":"false","type":"boolean"},{"name":"trace_error","description":"When enabled print the OpenSearch exception to stderr (for diag only)","default":"false","type":"boolean"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"oracle_log_analytics","description":"Oracle log analytics","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"config_file_location","description":"Location of the oci config file for user api key signing","default":"","type":"string"},{"name":"profile_name","description":"name of the profile in the config file from which the user configs should be loaded","default":"DEFAULT","type":"string"},{"name":"oci_config_in_record","description":"If true, oci_la_* configs will be read from the record","default":"false","type":"boolean"},{"name":"uri","description":"Set the uri for rest api request","default":null,"type":"string"},{"name":"oci_la_log_group_id","description":"log group id","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_id","description":"","default":null,"type":"string"},{"name":"oci_la_entity_type","description":"","default":null,"type":"string"},{"name":"oci_la_log_source_name","description":"","default":null,"type":"string"},{"name":"oci_la_log_set_id","description":"","default":null,"type":"string"},{"name":"oci_la_log_path","description":"","default":null,"type":"string"},{"name":"oci_la_global_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"oci_la_metadata","description":"","default":null,"type":"space delimited strings (minimum 2)"},{"name":"namespace","description":"namespace in your tenancy where the log objects reside","default":null,"type":"string"},{"name":"proxy","description":"define proxy if required, in http://host:port format, supports only http protocol","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"plot","description":"Generate data file for GNU Plot","properties":{"options":[{"name":"key","description":"set a number of times to generate event.","default":null,"type":"string"},{"name":"file","description":"set a number of times to generate event.","default":null,"type":"string"}]}},{"type":"output","name":"scalyr_dataset","description":"Send events to scalyr's dataset HTTP API","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the scalyr_dataset HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"token","description":"Specify the Authentication Bearer Token for the Dataset API.","default":null,"type":"string"},{"name":"server_host","description":"Specify the serverHost in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"server_type","description":"Specify the serverType in the Scalyr sessionInfo.","default":null,"type":"string"},{"name":"region","description":"Specify the region in the Scalyr sessionInfo.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"skywalking","description":"Send logs into log collector on SkyWalking OAP","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"auth_token","description":"Auth token for SkyWalking OAP","default":null,"type":"string"},{"name":"svc_name","description":"Service name","default":"sw-service","type":"string"},{"name":"svc_inst_name","description":"Instance name","default":"fluent-bit","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"slack","description":"Send events to a Slack channel","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"webhook","description":"","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"splunk","description":"Send events to Splunk HTTP Event Collector","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"http_buffer_size","description":"Specify the buffer size used to read the response from the Splunk HTTP service. This option is useful for debugging purposes where is required to read full responses, note that response size grows depending of the number of records inserted. To set an unlimited amount of memory set this value to 'false', otherwise the value must be according to the Unit Size specification","default":null,"type":"size"},{"name":"http_debug_bad_request","description":"If the HTTP server response code is 400 (bad request) and this flag is enabled, it will print the full HTTP request and response to the stdout interface. This feature is available for debugging purposes.","default":"false","type":"boolean"},{"name":"event_key","description":"Specify the key name that will be used to send a single value as part of the record.","default":null,"type":"string"},{"name":"event_host","description":"Set the host value to the event data. The value allows a record accessor pattern.","default":null,"type":"string"},{"name":"event_source","description":"Set the source value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype","description":"Set the sourcetype value to assign to the event data.","default":null,"type":"string"},{"name":"event_sourcetype_key","description":"Set a record key that will populate 'sourcetype'. If the key is found, it will have precedence over the value set in 'event_sourcetype'.","default":null,"type":"string"},{"name":"event_index","description":"The name of the index by which the event data is to be indexed.","default":null,"type":"string"},{"name":"event_index_key","description":"Set a record key that will populate the 'index' field. If the key is found, it will have precedence over the value set in 'event_index'.","default":null,"type":"string"},{"name":"event_field","description":"Set event fields for the record. This option can be set multiple times and the format is 'key_name record_accessor_pattern'.","default":null,"type":"space delimited strings (minimum 2)"},{"name":"splunk_token","description":"Specify the Authentication Token for the HTTP Event Collector interface.","default":null,"type":"string"},{"name":"splunk_send_raw","description":"When enabled, the record keys and values are set in the top level of the map instead of under the event key. Refer to the Sending Raw Events section from the docs for more details to make this option work properly.","default":"off","type":"boolean"},{"name":"channel","description":"Specify X-Splunk-Request-Channel Header for the HTTP Event Collector interface.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stackdriver","description":"Send events to Google Stackdriver Logging","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"metadata_server","description":"Set the metadata server","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"export_to_project_id","description":"Export to project id","default":null,"type":"string"},{"name":"project_id_key","description":"Set the gcp project id key","default":"logging.googleapis.com/projectId","type":"string"},{"name":"resource","description":"Set the resource","default":"global","type":"string"},{"name":"severity_key","description":"Set the severity key","default":"logging.googleapis.com/severity","type":"string"},{"name":"autoformat_stackdriver_trace","description":"Autoformat the stackdriver trace","default":"false","type":"boolean"},{"name":"trace_key","description":"Set the trace key","default":"logging.googleapis.com/trace","type":"string"},{"name":"span_id_key","description":"Set the span id key","default":"logging.googleapis.com/spanId","type":"string"},{"name":"trace_sampled_key","description":"Set the trace sampled key","default":"logging.googleapis.com/traceSampled","type":"string"},{"name":"log_name_key","description":"Set the logname key","default":"logging.googleapis.com/logName","type":"string"},{"name":"http_request_key","description":"Set the http request key","default":"logging.googleapis.com/http_request","type":"string"},{"name":"k8s_cluster_name","description":"Set the kubernetes cluster name","default":null,"type":"string"},{"name":"k8s_cluster_location","description":"Set the kubernetes cluster location","default":null,"type":"string"},{"name":"location","description":"Set the resource location","default":null,"type":"string"},{"name":"namespace","description":"Set the resource namespace","default":null,"type":"string"},{"name":"node_id","description":"Set the resource node id","default":null,"type":"string"},{"name":"job","description":"Set the resource job","default":null,"type":"string"},{"name":"task_id","description":"Set the resource task id","default":null,"type":"string"},{"name":"compress","description":"Set log payload compression method. Option available is 'gzip'","default":null,"type":"string"},{"name":"labels","description":"Set the labels","default":null,"type":"multiple comma delimited strings"},{"name":"labels_key","description":"Set the labels key","default":"logging.googleapis.com/labels","type":"string"},{"name":"tag_prefix","description":"Set the tag prefix","default":null,"type":"string"},{"name":"stackdriver_agent","description":"Set the stackdriver agent","default":null,"type":"string"},{"name":"custom_k8s_regex","description":"Set a custom kubernetes regex filter","default":"(?[a-z0-9](?:[-a-z0-9]*[a-z0-9])?(?:\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\\.log$","type":"string"},{"name":"resource_labels","description":"Set the resource labels","default":null,"type":"multiple comma delimited strings"},{"name":"test_log_entry_format","description":"Test log entry format","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"stdout","description":"Prints events to STDOUT","properties":{"options":[{"name":"format","description":"Specifies the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"}]}},{"type":"output","name":"syslog","description":"Syslog","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"Set the desired transport type, the available options are tcp and udp. If you need to use a TLS secure channel, choose 'tcp' mode here and enable the 'tls' option separately.","default":"udp","type":"string"},{"name":"syslog_format","description":"Specify the Syslog protocol format to use, the available options are rfc3164 and rfc5424.","default":"rfc5424","type":"string"},{"name":"syslog_maxsize","description":"Set the maximum size allowed per message. The value must be only integers representing the number of bytes allowed. If no value is provided, the default size is set depending of the protocol version specified by syslog_format , rfc3164 sets max size to 1024 bytes, while rfc5424 sets the size to 2048 bytes.","default":"0","type":"size"},{"name":"syslog_severity_key","description":"Specify the name of the key from the original record that contains the Syslog severity number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_severity_preset","description":"Specify the preset severity number. It must be 0-7. This configuration is optional.","default":"6","type":"integer"},{"name":"syslog_facility_key","description":"Specify the name of the key from the original record that contains the Syslog facility number. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_facility_preset","description":"Specify the preset facility number. It must be 0-23. This configuration is optional.","default":"1","type":"integer"},{"name":"syslog_hostname_key","description":"Specify the key name from the original record that contains the hostname that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_hostname_preset","description":"Specify the preset hostname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_key","description":"Specify the key name from the original record that contains the application name that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_appname_preset","description":"Specify the preset appname. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_key","description":"Specify the key name from the original record that contains the Process ID that generated the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_procid_preset","description":"Specify the preset procid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_key","description":"Specify the key name from the original record that contains the Message ID associated to the message. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_msgid_preset","description":"Specify the preset msgid. This configuration is optional.","default":null,"type":"string"},{"name":"syslog_sd_key","description":"Specify the key name from the original record that contains the Structured Data (SD) content. If set, the value of the key must be a map.This option can be set multiple times.","default":null,"type":"string"},{"name":"syslog_message_key","description":"Specify the key name that contains the message to deliver. Note that if this property is mandatory, otherwise the message will be empty.","default":null,"type":"string"},{"name":"allow_longer_sd_id","description":"If true, Fluent-bit allows SD-ID that is longer than 32 characters. Such long SD-ID violates RFC 5424.","default":"false","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"tcp","description":"TCP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"msgpack","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"udp","description":"UDP Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"format","description":"Specify the payload format, supported formats: msgpack, json, json_lines or json_stream.","default":"json_lines","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output.","default":"date","type":"string"},{"name":"raw_message_key","description":"use a raw message key for the message.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"td","description":"Treasure Data","properties":{"options":[{"name":"API","description":"Set the API key","default":null,"type":"string"},{"name":"Database","description":"Set the Database file","default":null,"type":"string"},{"name":"Table","description":"Set the Database Table","default":null,"type":"string"},{"name":"Region","description":"Set the Region: us or jp","default":null,"type":"string"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"lib","description":"Library mode Output","properties":{}},{"type":"output","name":"flowcounter","description":"FlowCounter","properties":{"options":[{"name":"unit","description":"","default":null,"type":"string"},{"name":"event_based","description":"","default":"false","type":"boolean"}]}},{"type":"output","name":"gelf","description":"GELF Output","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"mode","description":"The protocol to use. 'tls', 'tcp' or 'udp'","default":"udp","type":"string"},{"name":"gelf_short_message_key","description":"A short descriptive message (MUST be set in GELF)","default":null,"type":"string"},{"name":"gelf_timestamp_key","description":"Timestamp key name (SHOULD be set in GELF)","default":null,"type":"string"},{"name":"gelf_host_key","description":"Key which its value is used as the name of the host,source or application that sent this message. (MUST be set in GELF) ","default":null,"type":"string"},{"name":"gelf_full_message_key","description":"Key to use as the long message that can i.e. contain a backtrace. (Optional in GELF)","default":null,"type":"string"},{"name":"gelf_level_key","description":"Key to be used as the log level. Its value must be in standard syslog levels (between 0 and 7). (Optional in GELF)","default":null,"type":"string"},{"name":"packet_size","description":"If transport protocol is udp, you can set the size of packets to be sent.","default":"1420","type":"integer"},{"name":"compress","description":"If transport protocol is udp, you can set this if you want your UDP packets to be compressed.","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"websocket","description":"Websocket","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"uri","description":"Specify an optional URI for the target web socket server, e.g: /something","default":null,"type":"string"},{"name":"format","description":"Set desired payload format: json, json_stream, json_lines, gelf or msgpack","default":null,"type":"string"},{"name":"json_date_format","description":"Specify the format of the date","default":"double","type":"string"},{"name":"json_date_key","description":"Specify the name of the date field in output","default":"date","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair to the initial HTTP request. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"cloudwatch_logs","description":"Send logs to Amazon CloudWatch","properties":{"options":[{"name":"region","description":"The AWS region to send logs to","default":null,"type":"string"},{"name":"log_group_name","description":"CloudWatch Log Group Name","default":null,"type":"string"},{"name":"log_stream_name","description":"CloudWatch Log Stream Name; not compatible with `log_stream_prefix`","default":null,"type":"string"},{"name":"log_stream_prefix","description":"Prefix for CloudWatch Log Stream Name; the tag is appended to the prefix to form the stream name","default":null,"type":"string"},{"name":"log_group_template","description":"Template for CW Log Group name using record accessor syntax. Plugin falls back to the log_group_name configured if needed.","default":null,"type":"string"},{"name":"log_stream_template","description":"Template for CW Log Stream name using record accessor syntax. Plugin falls back to the log_stream_name or log_stream_prefix configured if needed.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to CloudWatch. If you specify a key name with this option, then only the value of that key will be sent to CloudWatch. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to CloudWatch.","default":null,"type":"string"},{"name":"extra_user_agent","description":"This option appends a string to the default user agent. AWS asks that you not manually set this field yourself, it is reserved for use in our vended configurations, for example, EKS Container Insights.","default":null,"type":"string"},{"name":"log_format","description":"An optional parameter that can be used to tell CloudWatch the format of the data. A value of json/emf enables CloudWatch to extract custom metrics embedded in a JSON payload.","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"auto_create_group","description":"Automatically create the log group (log streams will always automatically be created)","default":"false","type":"boolean"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"log_retention_days","description":"If set to a number greater than zero, and newly create log group's retention policy is set to this many days. Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]","default":"0","type":"integer"},{"name":"endpoint","description":"Specify a custom endpoint for the CloudWatch Logs API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Specify a custom endpoint for the STS API, can be used with the role_arn parameter","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"metric_namespace","description":"Metric namespace for CloudWatch EMF logs","default":null,"type":"string"},{"name":"metric_dimensions","description":"Metric dimensions is a list of lists. If you have only one list of dimensions, put the values as a comma seperated string. If you want to put list of lists, use the list as semicolon seperated strings. If your value is 'd1,d2;d3', we will consider it as [[d1, d2],[d3]].","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_firehose","description":"Send logs to Amazon Kinesis Firehose","properties":{"options":[{"name":"region","description":"The AWS region of your delivery stream","default":null,"type":"string"},{"name":"delivery_stream","description":"Firehose delivery stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Firehose API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"compression","description":"Compression type for Firehose records. Each log record is individually compressed and sent to Firehose. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Firehose.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"kinesis_streams","description":"Send logs to Amazon Kinesis Streams","properties":{"options":[{"name":"region","description":"The AWS region of your kinesis stream","default":null,"type":"string"},{"name":"stream","description":"Kinesis stream name","default":null,"type":"string"},{"name":"time_key","description":"Add the timestamp to the record under this key. By default the timestamp from Fluent Bit will not be added to records sent to Kinesis.","default":null,"type":"string"},{"name":"time_key_format","description":"strftime compliant format string for the timestamp; for example, the default is '%Y-%m-%dT%H:%M:%S'. This option is used with time_key. ","default":null,"type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Specify a custom endpoint for the Kinesis API","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"log_key","description":"By default, the whole log record will be sent to Kinesis. If you specify a key name with this option, then only the value of that key will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify `log_key log` and only the log message will be sent to Kinesis.","default":null,"type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}]}},{"type":"output","name":"opentelemetry","description":"OpenTelemetry","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"metrics_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/metrics","type":"string"},{"name":"batch_size","description":"Set the maximum number of log records to be flushed at a time","default":"1000","type":"integer"},{"name":"compress","description":"Set payload compression mechanism. Option available is 'gzip'","default":null,"type":"string"},{"name":"logs_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/logs","type":"string"},{"name":"logs_body_key","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":null,"type":"string"},{"name":"logs_body_key_attributes","description":"If logs_body_key is set and it matched a pattern, this option will include the remaining fields in the record as attributes.","default":"false","type":"boolean"},{"name":"traces_uri","description":"Specify an optional HTTP URI for the target OTel endpoint.","default":"/v1/traces","type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"},{"name":"logs_observed_timestamp_metadata_key","description":"Specify an ObservedTimestamp key","default":"$ObservedTimestamp","type":"string"},{"name":"logs_timestamp_metadata_key","description":"Specify a Timestamp key","default":"$Timestamp","type":"string"},{"name":"logs_severity_text_metadata_key","description":"Specify a SeverityText key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_metadata_key","description":"Specify a SeverityNumber key","default":"$SeverityNumber","type":"string"},{"name":"logs_trace_flags_metadata_key","description":"Specify a TraceFlags key","default":"$TraceFlags","type":"string"},{"name":"logs_span_id_metadata_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_metadata_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_attributes_metadata_key","description":"Specify an Attributes key","default":"$Attributes","type":"string"},{"name":"logs_instrumentation_scope_metadata_key","description":"Specify an InstrumentationScope key","default":"InstrumentationScope","type":"string"},{"name":"logs_resource_metadata_key","description":"Specify a Resource key","default":"Resource","type":"string"},{"name":"logs_span_id_message_key","description":"Specify a SpanId key","default":"$SpanId","type":"string"},{"name":"logs_trace_id_message_key","description":"Specify a TraceId key","default":"$TraceId","type":"string"},{"name":"logs_severity_text_message_key","description":"Specify a Severity Text key","default":"$SeverityText","type":"string"},{"name":"logs_severity_number_message_key","description":"Specify a Severity Number key","default":"$SeverityNumber","type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"prometheus_exporter","description":"Prometheus Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"add_timestamp","description":"Add timestamp to every metric honoring collection time.","default":"false","type":"boolean"},{"name":"add_label","description":"TCP port for listening for HTTP connections.","default":null,"type":"space delimited strings (minimum 1)"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"prometheus_remote_write","description":"Prometheus remote write","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"},{"name":"add_label","description":"Adds a custom label to the metrics use format: 'add_label name value'","default":null,"type":"space delimited strings (minimum 1)"},{"name":"proxy","description":"Specify an HTTP Proxy. The expected format of this value is http://host:port. ","default":null,"type":"string"},{"name":"http_user","description":"Set HTTP auth user","default":null,"type":"string"},{"name":"http_passwd","description":"Set HTTP auth password","default":"","type":"string"},{"name":"compression","description":"Compress the payload with either snappy, gzip if set","default":"snappy","type":"string"},{"name":"aws_auth","description":"Enable AWS SigV4 authentication","default":"false","type":"boolean"},{"name":"aws_service","description":"AWS destination service code, used by SigV4 authentication","default":"aps","type":"string"},{"name":"aws_region","description":"AWS region of your service","default":null,"type":"string"},{"name":"aws_sts_endpoint","description":"Custom endpoint for the AWS STS API, used with the `aws_role_arn` option","default":null,"type":"string"},{"name":"aws_role_arn","description":"ARN of an IAM role to assume (ex. for cross account access)","default":null,"type":"string"},{"name":"aws_external_id","description":"Specify an external ID for the STS API, can be used with the `aws_role_arn` parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"aws_profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usuallystored in $HOME/.aws/ directory.","default":null,"type":"string"},{"name":"header","description":"Add a HTTP header key/value pair. Multiple headers can be set","default":null,"type":"space delimited strings (minimum 1)"},{"name":"uri","description":"Specify an optional HTTP URI for the target web server, e.g: /something","default":null,"type":"string"},{"name":"log_response_payload","description":"Specify if the response paylod should be logged or not","default":"true","type":"boolean"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"s3","description":"Send to S3","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"aws_shared_credentials_file","description":"Path to the AWS shared credentials file.","default":"","type":"string"},{"name":"aws_config_file","description":"Path to the AWS default configuration file.","default":"","type":"string"},{"name":"json_date_format","description":"Specify the format of the date, supported formats: double, iso8601 (e.g: 2018-05-30T09:39:52.000681Z), java_sql_timestamp (e.g: 2018-05-30 09:39:52.000681, useful for AWS Athena), and epoch.","default":null,"type":"string"},{"name":"json_date_key","description":"Specifies the name of the date field in output.","default":"date","type":"string"},{"name":"total_file_size","description":"Specifies the size of files in S3. Maximum size is 50GB, minimum is 1MB","default":"100000000","type":"size"},{"name":"upload_chunk_size","description":"This plugin uses the S3 Multipart Upload API to stream data to S3, ensuring your data gets-off-the-box as quickly as possible. This parameter configures the size of each “part” in the upload. The total_file_size option configures the size of the file you will see in S3; this option determines the size of chunks uploaded until that size is reached. These chunks are temporarily stored in chunk_buffer_path until their size reaches upload_chunk_size, which point the chunk is uploaded to S3. Default: 5M, Max: 50M, Min: 5M.","default":"5242880","type":"size"},{"name":"upload_timeout","description":"Optionally specify a timeout for uploads. Whenever this amount of time has elapsed, Fluent Bit will complete an upload and create a new file in S3. For example, set this value to 60m and you will get a new file in S3 every hour. Default is 10m.","default":"10m","type":"time"},{"name":"bucket","description":"S3 bucket name.","default":null,"type":"string"},{"name":"region","description":"AWS region.","default":"us-east-1","type":"string"},{"name":"role_arn","description":"ARN of an IAM role to assume (ex. for cross account access).","default":null,"type":"string"},{"name":"endpoint","description":"Custom endpoint for the S3 API.","default":null,"type":"string"},{"name":"sts_endpoint","description":"Custom endpoint for the STS API.","default":null,"type":"string"},{"name":"canned_acl","description":"Predefined Canned ACL policy for S3 objects.","default":null,"type":"string"},{"name":"compression","description":"Compression type for S3 objects. 'gzip' and 'arrow' are the supported values. 'arrow' is only an available if Apache Arrow was enabled at compile time. Defaults to no compression. If 'gzip' is selected, the Content-Encoding HTTP Header will be set to 'gzip'.","default":null,"type":"string"},{"name":"content_type","description":"A standard MIME type for the S3 object; this will be set as the Content-Type HTTP header.","default":null,"type":"string"},{"name":"store_dir","description":"Directory to locally buffer data before sending. Plugin uses the S3 Multipart upload API to send data in chunks of 5 MB at a time- only a small amount of data will be locally buffered at any given point in time.","default":"/tmp/fluent-bit/s3","type":"string"},{"name":"store_dir_limit_size","description":"S3 plugin has its own buffering system with files in the `store_dir`. Use the `store_dir_limit_size` to limit the amount of data S3 buffers in the `store_dir` to limit disk usage. If the limit is reached, data will be discarded. Default is 0 which means unlimited.","default":null,"type":"size"},{"name":"s3_key_format","description":"Format string for keys in S3. This option supports strftime time formatters and a syntax for selecting parts of the Fluent log tag using a syntax inspired by the rewrite_tag filter. Add $TAG in the format string to insert the full log tag; add $TAG[0] to insert the first part of the tag in the s3 key. The tag is split into “parts” using the characters specified with the s3_key_format_tag_delimiters option. Add $INDEX to enable sequential indexing for file names. Adding $INDEX will prevent random string being added to end of keywhen $UUID is not provided. See the in depth examples and tutorial in the documentation.","default":"/fluent-bit-logs/$TAG/%Y/%m/%d/%H/%M/%S","type":"string"},{"name":"s3_key_format_tag_delimiters","description":"A series of characters which will be used to split the tag into “parts” for use with the s3_key_format option. See the in depth examples and tutorial in the documentation.","default":".","type":"string"},{"name":"auto_retry_requests","description":"Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.","default":"true","type":"boolean"},{"name":"use_put_object","description":"Use the S3 PutObject API, instead of the multipart upload API","default":"false","type":"boolean"},{"name":"send_content_md5","description":"Send the Content-MD5 header with object uploads, as is required when Object Lock is enabled","default":"false","type":"boolean"},{"name":"preserve_data_ordering","description":"Normally, when an upload request fails, there is a high chance for the last received chunk to be swapped with a later chunk, resulting in data shuffling. This feature prevents this shuffling by using a queue logic for uploads.","default":"true","type":"boolean"},{"name":"log_key","description":"By default, the whole log record will be sent to S3. If you specify a key name with this option, then only the value of that key will be sent to S3.","default":null,"type":"string"},{"name":"external_id","description":"Specify an external ID for the STS API, can be used with the role_arn parameter if your role requires an external ID.","default":null,"type":"string"},{"name":"static_file_path","description":"Disables behavior where UUID string is automatically appended to end of S3 key name when $UUID is not provided in s3_key_format. $UUID, time formatters, $TAG, and other dynamic key formatters all work as expected while this feature is set to true.","default":"false","type":"boolean"},{"name":"storage_class","description":"Specify the storage class for S3 objects. If this option is not specified, objects will be stored with the default 'STANDARD' storage class.","default":null,"type":"string"},{"name":"profile","description":"AWS Profile name. AWS Profiles can be configured with AWS CLI and are usually stored in $HOME/.aws/ directory.","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}},{"type":"output","name":"vivo_exporter","description":"Vivo Exporter","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"empty_stream_on_read","description":"If enabled, when an HTTP client consumes the data from a stream, the queue content will be removed","default":"off","type":"boolean"},{"name":"stream_queue_size","description":"Specify the maximum queue size per stream. Each specific stream for logs, metrics and traces can hold up to 'stream_queue_size' bytes.","default":"20M","type":"size"},{"name":"http_cors_allow_origin","description":"Specify the value for the HTTP Access-Control-Allow-Origin header (CORS)","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}]}},{"type":"output","name":"chronicle","description":"Send logs to Google Chronicle as unstructured log","properties":{"options":[{"name":"host","description":"Host Address","default":"","type":"string"},{"name":"port","description":"host Port","default":"0","type":"integer"},{"name":"google_service_credentials","description":"Set the path for the google service credentials file","default":null,"type":"string"},{"name":"service_account_email","description":"Set the service account email","default":null,"type":"string"},{"name":"service_account_secret","description":"Set the service account secret","default":null,"type":"string"},{"name":"project_id","description":"Set the project id","default":null,"type":"string"},{"name":"customer_id","description":"Set the customer id","default":null,"type":"string"},{"name":"log_type","description":"Set the log type","default":null,"type":"string"},{"name":"region","description":"Set the region","default":null,"type":"string"},{"name":"log_key","description":"Set the log key","default":null,"type":"string"}],"networking":[{"name":"net.dns.mode","description":"Select the primary DNS connection type (TCP or UDP)","default":null,"type":"string"},{"name":"net.dns.resolver","description":"Select the primary DNS resolver type (LEGACY or ASYNC)","default":null,"type":"string"},{"name":"net.dns.prefer_ipv4","description":"Prioritize IPv4 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.dns.prefer_ipv6","description":"Prioritize IPv6 DNS results when trying to establish a connection","default":"false","type":"boolean"},{"name":"net.keepalive","description":"Enable or disable Keepalive support","default":"true","type":"boolean"},{"name":"net.keepalive_idle_timeout","description":"Set maximum time allowed for an idle Keepalive connection","default":"30s","type":"time"},{"name":"net.io_timeout","description":"Set maximum time a connection can stay idle while assigned","default":"0s","type":"time"},{"name":"net.connect_timeout","description":"Set maximum time allowed to establish a connection, this time includes the TLS handshake","default":"10s","type":"time"},{"name":"net.connect_timeout_log_error","description":"On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message","default":"true","type":"boolean"},{"name":"net.source_address","description":"Specify network address to bind for data traffic","default":null,"type":"string"},{"name":"net.keepalive_max_recycle","description":"Set maximum number of times a keepalive connection can be used before it is retried.","default":"2000","type":"integer"},{"name":"net.max_worker_connections","description":"Set the maximum number of active TCP connections that can be used per worker thread.","default":"0","type":"integer"}],"network_tls":[{"name":"tls","description":"Enable or disable TLS/SSL support","default":"off","type":"boolean"},{"name":"tls.verify","description":"Force certificate validation","default":"on","type":"boolean"},{"name":"tls.debug","description":"Set TLS debug verbosity level. It accept the following values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational) and 4 Verbose","default":"1","type":"integer"},{"name":"tls.ca_file","description":"Absolute path to CA certificate file","default":null,"type":"string"},{"name":"tls.ca_path","description":"Absolute path to scan for certificate files","default":null,"type":"string"},{"name":"tls.crt_file","description":"Absolute path to Certificate file","default":null,"type":"string"},{"name":"tls.key_file","description":"Absolute path to private Key file","default":null,"type":"string"},{"name":"tls.key_passwd","description":"Optional password for tls.key_file file","default":null,"type":"string"},{"name":"tls.vhost","description":"Hostname to be used for TLS SNI extension","default":null,"type":"string"}]}}]}