Skip to main content

influxdb

EXPERIMENTAL

This component is experimental and therefore subject to change or removal outside of major version releases.

Send metrics to InfluxDB 1.x using the /write endpoint.

Introduced in version 3.36.0.

# Common config fields, showing default values
metrics:
influxdb:
url: ""
db: ""
path_mapping: ""

See https://docs.influxdata.com/influxdb/v1.8/tools/api/#write-http-endpoint for further details on the write API.

Fields#

url#

A URL of the format [https|http|udp]://host:port to the InfluxDB host.

Type: string
Default: ""

db#

The name of the database to use.

Type: string
Default: ""

tls#

Custom TLS settings can be used to override system defaults.

Type: object

tls.enabled#

Whether custom TLS settings are enabled.

Type: bool
Default: false

tls.skip_cert_verify#

Whether to skip server side certificate verification.

Type: bool
Default: false

tls.enable_renegotiation#

Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation.

Type: bool
Default: false
Requires version 3.45.0 or newer

tls.root_cas#

An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate.

Type: string
Default: ""

# Examples
root_cas: |-
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

tls.root_cas_file#

An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate.

Type: string
Default: ""

# Examples
root_cas_file: ./root_cas.pem

tls.client_certs#

A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both.

Type: array
Default: []

# Examples
client_certs:
- cert: foo
key: bar
client_certs:
- cert_file: ./example.pem
key_file: ./example.key

tls.client_certs[].cert#

A plain text certificate to use.

Type: string
Default: ""

tls.client_certs[].key#

A plain text certificate key to use.

Type: string
Default: ""

tls.client_certs[].cert_file#

The path to a certificate to use.

Type: string
Default: ""

tls.client_certs[].key_file#

The path of a certificate key to use.

Type: string
Default: ""

username#

A username (when applicable).

Type: string
Default: ""

password#

A password (when applicable).

Type: string
Default: ""

include#

Optional additional metrics to collect, enabling these metrics may have some performance implications as it acquires a global semaphore and does stoptheworld().

Type: object

include.runtime#

A duration string indicating how often to poll and collect runtime metrics. Leave empty to disable this metric

Type: string
Default: ""

# Examples
runtime: 1m

include.debug_gc#

A duration string indicating how often to poll and collect GC metrics. Leave empty to disable this metric.

Type: string
Default: ""

# Examples
debug_gc: 1m

interval#

A duration string indicating how often metrics should be flushed.

Type: string
Default: "1m"

ping_interval#

A duration string indicating how often to ping the host.

Type: string
Default: "20s"

precision#

[ns|us|ms|s] timestamp precision passed to write api.

Type: string
Default: "s"

timeout#

How long to wait for response for both ping and writing metrics.

Type: string
Default: "5s"

tags#

Global tags added to each metric.

Type: object
Default: {}

# Examples
tags:
hostname: localhost
zone: danger

retention_policy#

Sets the retention policy for each write.

Type: string
Default: ""

write_consistency#

[any|one|quorum|all] sets write consistency when available.

Type: string
Default: ""

path_mapping#

An optional Bloblang mapping that allows you to rename or prevent certain metrics paths from being exported. When metric paths are created, renamed and dropped a trace log is written, enabling TRACE level logging is therefore a good way to diagnose path mappings. BETA FEATURE: Labels can also be created for the metric path by mapping meta fields.

Type: string
Default: ""

# Examples
path_mapping: this.replace("input", "source").replace("output", "sink")
path_mapping: |-
if ![
"benthos.input.received",
"benthos.input.latency",
"benthos.output.sent"
].contains(this) { deleted() }
path_mapping: |-
let matches = this.re_find_all_submatch("resource_processor_([a-zA-Z]+)_(.*)")
meta processor = $matches.0.1 | deleted()
root = $matches.0.2 | deleted()