-
Notifications
You must be signed in to change notification settings - Fork 1.3k
TSDB metadata #709
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
TSDB metadata #709
Conversation
What a generic interface? to add and set arbitrary metadata
Perhaps |
+1, I'd also prefer a more generic "set metadata" functionality. |
@octo okay I'll see what I can come up with. What do you think about the interface for the concat problem @manuelluis pointed out? |
In the Set target, I'd probably only go with a If you need more complex manipulation of metadata, I'd go for a separate Metadata target, i.e. copy and adapt the Set target to handle whatever metadata manipulation you need. Keep in mind that other people may like to extend this, but I wouldn't take this to eleven and implement all manipulation you can come up with. If people need to toggle a boolean, for example, let them send a feature request or PR for this before making the new code unnecessarily complex. |
I personally would prefer a different Set target for Prefix versus Tags. Prefix is definitely something I can see being useful in rules, but I'd personally keep the Tags to something host-specific. So having these separate makes this much easer to work with from a configuration management perspective. |
Hello, I'm adressing here this issue and the issue #887. I think the real need for opentsdb write plugin is to redefine the UID and define tags. Define the UID
Add tags
Example/Suggestion :
Note : this merges the need to add "sys." as a prefix and the 2 examples from issue #887 : Having
instead of
Explanation1/ add a In the write_tsdb plugin, if the Also ignore any tsdb_prefix ? I'm not sure. If you take my example, yes, ignore it, because it is already in the If the 2/ add tags with values from pluginInstance and/or typeInstance As show in the example, we need 3 variables :
The metadata tags will take their values from the pi or ti or dsname from the metric. What do you think ? Regards, |
Hello, I wrote a patch in order to implement While I was writing this patch, I was thinking on how to use it here. Here is my new suggestion/example :
The write_tsdb plugin would work like this :
Not in this example, but another meta data could be What do you think ? Regards, |
Hello, Please check if PR #1107 can be a solution. Regards, |
Any ETA on getting a solution to the TSDB issue resolved? Is the Pull Request satisfactory? |
I think this pull request is superseded by pull request #1107. |
This allows collectd to closely align with OpenTSDB concepts without drastic changes to either system by using the metadata and filter chains in collectd:
We use prefixes for organizing metrics into trees, and it is particularly useful for i.e. separating systems metrics vs applications metrics: "app.", "sys." and then making those easily browsable in UIs like http://grafana.org/ or Graphite (with the TSDB backend graphite-project/graphite-web#693).
The tag is a central component of TSDB. Using filter chains, complex tagging is easily available for all plugins and can be driven by config management. Since we use the collectd metadata API, it is also a first class attribute usable by the collectd perl and python plugins.
A quite simple example to prefix all collectd metric names with "sys." and add an arbitrary "status" tag: