-
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
Add support for dogstatsd events #5224
Comments
From on the Events API documentation, the example event is:
This could be received using the If we wanted to support send this type of metric to Datadog we would need a Datadog Events output. |
@danielnelson i think the format for an event sent by dogstatsd client is slightly different. See the java client code here: https://github.com/DataDog/java-dogstatsd-client/blob/master/src/main/java/com/timgroup/statsd/NonBlockingStatsDClient.java#L921 |
Got it. I couldn't find any specification for this format but this appears to be the parser for Datadog events in statsd extension: https://github.com/DataDog/datadog-agent/blob/master/pkg/dogstatsd/parser.go#L152 |
@danielnelson, exactly! that's the parser of the Events datagram :) I submitted this PR so that those functions become exportable: DataDog/datadog-agent#2839 In the meantime, I added this PR on my own fork (I don't want to PR that branch to influxdata/telegraf:master until the exportable functions are merged by DD above and dependencies can be resolved). That is, in final commit, we can change:
to:
See schahal#1 for proposed implementation Implementation NotesWe add support for the following 3 configuration keys in
Test EventsTelegraf conf file:
Event AInputThe following two events were sent to the statsd listener:
Expected OutputEvent stored in Actual Output (Passed)Since config turned on to look for dogstatsd events, at collection interval verified in influxdb:
Event BInputThe following two events were sent to the statsd listener (note the extra tag key
Expected OutputEvent stored in Actual Output (Passed)Since config turned on to look for dogstatsd events, at collection interval verified in influxdb:
|
I don't think we will want to import the datadog parser as it brings in too many dependencies and overhead for Telegraf, in particular the metrics package. I'd also like to trim down some of the new options. Allowing the converter processor to set the measurement name to a tag value could achieve the same functionality as |
@danielnelson agreed, very valuable input and makes sense (pulling in the dd project seemed severely overkill), I'll try to incorporate these changes the next time I'm on the branch and testing. |
Feature Request
Proposal:
the current statsd input plugin has the ability to parse data dog tags. dogstatsd clients also have the ability to send events in a specific datadog format. https://docs.datadoghq.com/developers/dogstatsd/data_types/#events
This would either add the ability to parse those specific datadog events in the current statsd plugin, or move everything into a specific dogstatsd input plugin.
Current behavior:
datadog events are not parsed correctly from the statsd input plugin
Desired behavior:
either the current statsd plugin accepts and parses those events, or a new plugin is created specifically for dogstatsd
Use case: [Why is this important (helps with prioritizing requests)]
this is helpful for customers that want to send data to multiple monitoring solutions without having to change their existing application code using dogstatsd client code.
The text was updated successfully, but these errors were encountered: