-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewriting Riemann output plugin #1900
Changes from 7 commits
6023fb3
417560a
1726103
c038bf3
54fa55d
2021ebc
d77d2e8
8586bab
d8e8260
3a7f638
281e1ff
6f6ed1c
e4b78cb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -430,8 +430,42 @@ | |
# # listen = ":9126" | ||
|
||
|
||
# # Configuration for the Riemann server to send metrics to | ||
# # Configuration for Riemann server to send metrics to | ||
# [[outputs.riemann]] | ||
# ## Address of the Riemann server | ||
# address = "localhost:5555" | ||
# | ||
# ## Transport protocol to use, either tcp or udp | ||
# transport = "tcp" | ||
# | ||
# ## Riemann TTL, floating-point time in seconds. | ||
# ## Defines how long that an event is considered valid for in Riemann | ||
# # ttl = 30.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what is a "Riemann TTL"? Can you link to documentation? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I meant a Riemann event TTL. It's described here: http://riemann.io/concepts.html |
||
# | ||
# ## Separator to use between measurement and field name in Riemann service name | ||
# separator = "/" | ||
# | ||
# ## Set measurement name as a Riemann attribute, | ||
# ## instead of prepending it to the Riemann service name | ||
# # measurement_as_attribute = false | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you provide more details on what this means? can you provide an example? How does using this option affect the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I tried to clarify the description text a bit. I also added an example Riemann event with this setting to the plugins Readme.md. |
||
# | ||
# ## 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"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. weren't we going to send tags as riemann "attributes" instead of as tags? is that what you mean by "Riemann tags"? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, Telegraf/Influx/Metrics2.0 tags will be sent as Riemann attributes, which are key/value pairs. But Riemann also has a notion of "Riemann tags" which are just single string thingies. (Kinda like in Graphite I guess?) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, fair enough |
||
# | ||
# ## Additional Riemann tags to send. | ||
# # tags = ["telegraf-output"] | ||
# | ||
# ## Description for Riemann event | ||
# # description_text = "metrics collected from telegraf" | ||
|
||
|
||
# # Configuration for the legacy Riemann plugin | ||
# [[outputs.riemann_legacy]] | ||
# ## URL of server | ||
# url = "localhost:5555" | ||
# ## transport protocol to use either tcp or udp | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# 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]] | ||
## Address of the Riemann server | ||
address = "localhost:5555" | ||
|
||
## Transport protocol to use, either tcp or udp | ||
transport = "tcp" | ||
|
||
## Riemann 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 | ||
separator = "/" | ||
|
||
## Set measurement name as a Riemann attribute, | ||
## 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" | ||
``` | ||
|
||
### Required parameters: | ||
|
||
* `address`: Address of the Riemann server to send Riemann events to. | ||
* `transport`: Transport protocol to use, must be either tcp or udp. | ||
|
||
### 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you just make the scheme part of the
address
string?ie:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could, but then I'd have to split/parse it to take it apart again anyway, since the Riemann library needs the protocol and address as separate parameters.
address
is not used anywhere else otherwise. It's not a complicated thing to do, but I don't see the benefit of it?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
two benefits: