Riemann Output Plugin
This plugin writes to Riemann via TCP or UDP.
Configuration
# Configuration for Riemann to send metrics to
[[outputs.riemann]]
## The full TCP or UDP URL of the Riemann server
url = "tcp://localhost:5555"
## Riemann event TTL, floating-point time in seconds.
## Defines how long that an event is considered valid for in Riemann
# ttl = 30.0
## Separator to use between measurement and field name in Riemann service name
## This does not have any effect if 'measurement_as_attribute' is set to 'true'
separator = "/"
## Set measurement name as Riemann attribute 'measurement', instead of prepending it to the Riemann service name
# measurement_as_attribute = false
## Send string metrics as Riemann event states.
## Unless enabled all string metrics will be ignored
# string_as_state = false
## A list of tag keys whose values get sent as Riemann tags.
## If empty, all Telegraf tag values will be sent as tags
# tag_keys = ["telegraf","custom_tag"]
## Additional Riemann tags to send.
# tags = ["telegraf-output"]
## Description for Riemann event
# description_text = "metrics collected from telegraf"
## Riemann client write timeout, defaults to "5s" if not set.
# timeout = "5s"
Required parameters
url
: The full TCP or UDP URL of the Riemann server to send events to.
Optional parameters
ttl
: Riemann event TTL, floating-point time in seconds. Defines how long that an event is considered valid for in Riemann.
separator
: Separator to use between measurement and field name in Riemann service name.
measurement_as_attribute
: Set measurement name as a Riemann attribute, instead of prepending it to the Riemann service name.
string_as_state
: Send string metrics as Riemann event states. If this is not enabled then all string metrics will be ignored.
tag_keys
: A list of tag keys whose values get sent as Riemann tags. If empty, all Telegraf tag values will be sent as tags.
tags
: Additional Riemann tags that will be sent.
description_text
: Description text for Riemann event.
Example Events
Riemann event emitted by Telegraf with default configuration:
#riemann.codec.Event{
:host "postgresql-1e612b44-e92f-4d27-9f30-5e2f53947870", :state nil, :description nil, :ttl 30.0,
:service "disk/used_percent", :metric 73.16736001949994, :path "/boot", :fstype "ext4", :time 1475605021}
Telegraf emitting the same Riemann event with measurement_as_attribute
set to true
:
#riemann.codec.Event{ ...
:measurement "disk", :service "used_percent", :metric 73.16736001949994,
... :time 1475605021}
Telegraf emitting the same Riemann event with additional Riemann tags defined:
#riemann.codec.Event{
:host "postgresql-1e612b44-e92f-4d27-9f30-5e2f53947870", :state nil, :description nil, :ttl 30.0,
:service "disk/used_percent", :metric 73.16736001949994, :path "/boot", :fstype "ext4", :time 1475605021,
:tags ["telegraf" "postgres_cluster"]}
Telegraf emitting a Riemann event with a status text and string_as_state
set to true
, and a description_text
defined:
#riemann.codec.Event{
:host "postgresql-1e612b44-e92f-4d27-9f30-5e2f53947870", :state "Running", :ttl 30.0,
:description "PostgreSQL master node is up and running",
:service "status", :time 1475605021}