87 lines
3.3 KiB
Markdown
87 lines
3.3 KiB
Markdown
# Riemann Output Plugin
|
|
|
|
This plugin writes to [Riemann](http://riemann.io/) via TCP or UDP.
|
|
|
|
### Configuration:
|
|
|
|
```toml
|
|
# 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}
|
|
```
|