collectd

Milestone: 1

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.

Synopsis

This is what it might look like in your config file:
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)
  }
}

Details

add_field

  • Value type is hash
  • Default value is {}

Add a field to an event

authfile

  • Value type is string
  • There is no default value for this setting.

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

  • Value type is number
  • Default value is 1452

Buffer size. 1452 is the collectd default for v5+

charset DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value can be any of: "ASCII-8BIT", "Big5", "Big5-HKSCS", "Big5-UAO", "CP949", "Emacs-Mule", "EUC-JP", "EUC-KR", "EUC-TW", "GB18030", "GBK", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-10", "ISO-8859-11", "ISO-8859-13", "ISO-8859-14", "ISO-8859-15", "ISO-8859-16", "KOI8-R", "KOI8-U", "Shift_JIS", "US-ASCII", "UTF-8", "UTF-16BE", "UTF-16LE", "UTF-32BE", "UTF-32LE", "Windows-1251", "GB2312", "IBM437", "IBM737", "IBM775", "CP850", "IBM852", "CP852", "IBM855", "CP855", "IBM857", "IBM860", "IBM861", "IBM862", "IBM863", "IBM864", "IBM865", "IBM866", "IBM869", "Windows-1258", "GB1988", "macCentEuro", "macCroatian", "macCyrillic", "macGreek", "macIceland", "macRoman", "macRomania", "macThai", "macTurkish", "macUkraine", "CP950", "CP951", "stateless-ISO-2022-JP", "eucJP-ms", "CP51932", "GB12345", "ISO-2022-JP", "ISO-2022-JP-2", "CP50220", "CP50221", "Windows-1252", "Windows-1250", "Windows-1256", "Windows-1253", "Windows-1255", "Windows-1254", "TIS-620", "Windows-874", "Windows-1257", "Windows-31J", "MacJapanese", "UTF-7", "UTF8-MAC", "UTF-16", "UTF-32", "UTF8-DoCoMo", "SJIS-DoCoMo", "UTF8-KDDI", "SJIS-KDDI", "ISO-2022-JP-KDDI", "stateless-ISO-2022-JP-KDDI", "UTF8-SoftBank", "SJIS-SoftBank", "BINARY", "CP437", "CP737", "CP775", "IBM850", "CP857", "CP860", "CP861", "CP862", "CP863", "CP864", "CP865", "CP866", "CP869", "CP1258", "Big5-HKSCS:2008", "eucJP", "euc-jp-ms", "eucKR", "eucTW", "EUC-CN", "eucCN", "CP936", "ISO2022-JP", "ISO2022-JP2", "ISO8859-1", "CP1252", "ISO8859-2", "CP1250", "ISO8859-3", "ISO8859-4", "ISO8859-5", "ISO8859-6", "CP1256", "ISO8859-7", "CP1253", "ISO8859-8", "CP1255", "ISO8859-9", "CP1254", "ISO8859-10", "ISO8859-11", "CP874", "ISO8859-13", "CP1257", "ISO8859-14", "ISO8859-15", "ISO8859-16", "CP878", "CP932", "csWindows31J", "SJIS", "PCK", "MacJapan", "ASCII", "ANSI_X3.4-1968", "646", "CP65000", "CP65001", "UTF-8-MAC", "UTF-8-HFS", "UCS-2BE", "UCS-4BE", "UCS-4LE", "CP1251", "external", "locale"
  • There is no default value for this setting.

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.

codec

  • Value type is codec
  • Default value is "plain"

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.

debug DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is boolean
  • Default value is false

format DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value can be any of: "plain", "json", "json_event", "msgpack_event"
  • There is no default value for this setting.

The format of input data (plain, json, json_event)

host

  • Value type is string
  • Default value is "0.0.0.0"

The address to listen on. Defaults to all available addresses.

message_format DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is string
  • There is no default value for this setting.

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.

nan_handeling

  • Value can be any of: "change_value", "warn", "drop"
  • Default value is "change_value"

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)

nan_tag

  • Value type is string
  • Default value is "_collectdNaN"

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

nan_value

  • Value type is number
  • Default value is 0

Only relevant when nan_handeling is set to ‘change_value’ Change NaN to this configured value

port

  • Value type is number
  • Default value is 25826

The port to listen on. Defaults to the collectd expected port of 25826.

prune_intervals

  • Value type is boolean
  • Default value is true

Prune interval records. Defaults to true.

security_level

  • Value can be any of: "None", "Sign", "Encrypt"
  • Default value is "None"

Security Level. Default is “None”. This setting mirrors the setting from the collectd Network plugin

tags

  • Value type is array
  • There is no default value for this setting.

Add any number of arbitrary tags to your event.

This can help with processing later.

type

  • Value type is string
  • There is no default value for this setting.

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.

typesdb

  • Value type is array
  • There is no default value for this setting.

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).


This is documentation from lib/logstash/inputs/collectd.rb