encoding utf-8 Read events from the connectd binary protocol over the network via udp. See https://collectd.org/wiki/index.php/Binary_protocol
Configuration in your Logstash configuration file can be as simple as: input { collectd {} }
A sample collectd.conf to send to Logstash might be:
Hostname "host.example.com"
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
<Plugin interface>
Interface "eth0"
IgnoreSelected false
</Plugin>
<Plugin network>
<Server "10.0.0.1" "25826">
</Server>
</Plugin>
Be sure to replace “10.0.0.1” with the IP of your Logstash instance.
input {
collectd {
add_field => ... # hash (optional), default: {}
authfile => ... # string (optional)
buffer_size => ... # number (optional), default: 1452
codec => ... # codec (optional), default: "plain"
host => ... # string (optional), default: "0.0.0.0"
nan_handeling => ... # string, one of ["change_value", "warn", "drop"] (optional), default: "change_value"
nan_tag => ... # string (optional), default: "_collectdNaN"
nan_value => ... # number (optional), default: 0
port => ... # number (optional), default: 25826
prune_intervals => ... # boolean (optional), default: true
security_level => ... # string, one of ["None", "Sign", "Encrypt"] (optional), default: "None"
tags => ... # array (optional)
type => ... # string (optional)
typesdb => ... # array (optional)
}
}
Add a field to an event
Path to the authentication file. This file should have the same format as the AuthFile in collectd. You only need to set this option if the security_level is set to “Sign” or “Encrypt”
Buffer size. 1452 is the collectd default for v5+
The character encoding used in this input. Examples include “UTF-8” and “cp1252”
This setting is useful if your log files are in Latin-1 (aka cp1252) or in another character set other than UTF-8.
This only affects “plain” format logs since json is UTF-8 already.
The codec used for input data. Input codecs are a convenient method for decoding your data before it enters the input, without needing a separate filter in your Logstash pipeline.
The format of input data (plain, json, json_event)
The address to listen on. Defaults to all available addresses.
If format is “json”, an event sprintf string to build what the display @message should be given (defaults to the raw JSON). sprintf format strings look like %{fieldname}
If format is “json_event”, ALL fields except for @type are expected to be present. Not receiving all fields will cause unexpected results.
What to do when a value in the event is NaN (Not a Number) - change_value (default): Change the NaN to the value of the nan_value option and add nan_tag as a tag - warn: Change the NaN to the value of the nan_value option, print a warning to the log and add nan_tag as a tag - drop: Drop the event containing the NaN (this only drops the single event, not the whole packet)
The tag to add to the event if a NaN value was found Set this to an empty string (‘’) if you don’t want to tag
Only relevant when nan_handeling is set to ‘change_value’ Change NaN to this configured value
The port to listen on. Defaults to the collectd expected port of 25826.
Prune interval records. Defaults to true.
Security Level. Default is “None”. This setting mirrors the setting from the collectd Network plugin
Add any number of arbitrary tags to your event.
This can help with processing later.
Add a ‘type’ field to all events handled by this input.
Types are used mainly for filter activation.
The type is stored as part of the event itself, so you can also use the type to search for it in the web interface.
If you try to set a type on an event that already has one (for example when you send an event from a shipper to an indexer) then a new input will not override the existing type. A type set at the shipper stays with that event for its life even when sent to another Logstash server.
File path(s) to collectd types.db to use. The last matching pattern wins if you have identical pattern names in multiple files. If no types.db is provided the included types.db will be used (currently 5.4.0).