Influxdb output plugin
editInfluxdb output plugin
edit- Plugin version: v5.0.3
- Released on: 2017-11-07
- Changelog
Installation
editFor plugins not bundled by default, it is easy to install by running bin/logstash-plugin install logstash-output-influxdb
. See Working with plugins for more details.
Getting Help
editFor questions about the plugin, open a topic in the Discuss forums. For bugs or feature requests, open an issue in Github. For the list of Elastic supported plugins, please consult the Elastic Support Matrix.
Description
editThis output lets you output Metrics to InfluxDB (>= 0.9.0-rc31)
The configuration here attempts to be as friendly as possible and minimize the need for multiple definitions to write to multiple measurements and still be efficient
the InfluxDB API let’s you do some semblance of bulk operation per http call but each call is database-specific
You can learn more at InfluxDB homepage
Influxdb Output Configuration Options
editThis plugin supports the following configuration options plus the Common Options described later.
Setting | Input type | Required |
---|---|---|
No |
||
No |
||
Yes |
||
No |
||
No |
||
No |
||
Yes |
||
No |
||
No |
||
No |
||
No |
||
No |
||
No |
||
No |
||
No |
||
No |
||
string, one of |
No |
|
No |
||
No |
Also see Common Options for a list of options supported by all output plugins.
allow_time_override
edit- Value type is boolean
-
Default value is
false
Allow the override of the time
column in the event?
By default any column with a name of time
will be ignored and the time will
be determined by the value of @timestamp
.
Setting this to true
allows you to explicitly set the time
column yourself
Note: time
must be an epoch value in either seconds, milliseconds or microseconds
coerce_values
edit- Value type is hash
-
Default value is
{}
Allow value coercion
this will attempt to convert data point values to the appropriate type before posting
otherwise sprintf-filtered numeric values could get sent as strings
format is {'column_name' => 'datatype'}
currently supported datatypes are integer
and float
data_points
edit- This is a required setting.
- Value type is hash
-
Default value is
{}
Hash of key/value pairs representing data points to send to the named database
Example: {'column1' => 'value1', 'column2' => 'value2'}
Events for the same measurement will be batched together where possible Both keys and values support sprintf formatting
db
edit- Value type is string
-
Default value is
"statistics"
The database to write - supports sprintf formatting
exclude_fields
edit- Value type is array
-
Default value is
["@timestamp", "@version", "sequence", "message", "type"]
An array containing the names of fields from the event to exclude from the data points
Events, in general, contain keys "@version" and "@timestamp". Other plugins may add others that you’ll want to exclude (such as "command" from the exec plugin).
This only applies when use_event_fields_for_data_points is true.
flush_size
edit- Value type is number
-
Default value is
100
This setting controls how many events will be buffered before sending a batch of events. Note that these are only batched for the same measurement
host
edit- This is a required setting.
- Value type is string
- There is no default value for this setting.
The hostname or IP address to reach your InfluxDB instance
idle_flush_time
edit- Value type is number
-
Default value is
1
The amount of time since last flush before a flush is forced.
This setting helps ensure slow event rates don’t get stuck in Logstash.
For example, if your flush_size
is 100, and you have received 10 events,
and it has been more than idle_flush_time
seconds since the last flush,
logstash will flush those 10 events automatically.
This helps keep both fast and slow log streams moving along in near-real-time.
initial_delay
edit- Value type is number
-
Default value is
1
The amount of time in seconds to delay the initial retry on connection failure.
The delay will increase exponentially for each retry attempt (up to max_retries).
max_retries
edit- Value type is number
-
Default value is
3
The number of time to retry recoverable errors before dropping the events.
A value of -1 will cause the plugin to retry indefinately. A value of 0 will cause the plugin to never retry. Otherwise it will retry up to the specified mumber of times.
measurement
edit- Value type is string
-
Default value is
"logstash"
Measurement name - supports sprintf formatting
password
edit- Value type is password
-
Default value is
nil
The password for the user who access to the named database
send_as_tags
edit- Value type is array
-
Default value is
["host"]
An array containing the names of fields to send to Influxdb as tags instead of fields. Influxdb 0.9 convention is that values that do not change every request should be considered metadata and given as tags.
ssl
edit- Value type is boolean
-
Default value is
false
Enable SSL/TLS secured communication to InfluxDB
time_precision
edit-
Value can be any of:
n
,u
,ms
,s
,m
,h
-
Default value is
"ms"
Set the level of precision of time
only useful when overriding the time value
Common Options
editThe following configuration options are supported by all output plugins:
codec
edit- Value type is codec
-
Default value is
"plain"
The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output without needing a separate filter in your Logstash pipeline.
enable_metric
edit- Value type is boolean
-
Default value is
true
Disable or enable metric logging for this specific plugin instance. By default we record all the metrics we can, but you can disable metrics collection for a specific plugin.
id
edit- Value type is string
- There is no default value for this setting.
Add a unique ID
to the plugin configuration. If no ID is specified, Logstash will generate one.
It is strongly recommended to set this ID in your configuration. This is particularly useful
when you have two or more plugins of the same type. For example, if you have 2 influxdb outputs.
Adding a named ID in this case will help in monitoring Logstash when using the monitoring APIs.
output { influxdb { id => "my_plugin_id" } }