Closed hjkatz closed 2 years ago
Note: I was unable to open a Datadog Support ticket for this issue/feature request because the provided link and support center did not have an option available for such tickets/questions/requests.
If you can point me in the right direction, I'll be happy to open a ticket.
Alternatively, if this feature seems low-hanging enough, I am also happy to submit a PR to add this tag information (even behind a flag/option if desired).
Additionally, this Node Name information is available in the Telegraf consul plugin, but this plugin is not ideal because the metrics collected from Consul in this manner and submitted to Datadog API are considered custom metrics (and are thus billed differently).
See:
Hi @hjkatz, thanks for opening this issue and the great description!
I created a card in our backlog to work on this. However, we would be also happy to review your PR if you want to take care of this.
@FlorentClarret Thanks for responding, here's the PR: https://github.com/DataDog/integrations-core/pull/12675
Note: If you have a feature request, you should contact support so the request can be properly tracked.
Output of the info page
Additional environment details (Operating System, Cloud provider, etc):
Steps to reproduce the issue:
consul.d
check/integrationDescribe the results you received:
The output of the Consul Service Checks for Consul Service Healthchecks does not include a
node
,node_name
, nornode_id
tag or information on the Datadog Service Checks.Describe the results you expected:
A tag or information should exist for
node
,node_name
, ornode_id
on the Datadog Service Check (since the information is available and retrieved from the Consul API).Additional information you deem important (e.g. issue happens only occasionally):
The problem is as follows: Consul Service Checks have information such as Ok, Warning, Critical for the Service, Check (id), and Node (which host the check is failing for). However, the Datadog Consul integration does not seem to gather that Node Name/Id bit of information. So, when a Datadog Consul Service Check is in the Critical state (like
consul.check
) the information provided only gives details about the Consul Service and Check Name/Id... which is not particularly useful because what happens when you have a Consul Service with 50 Nodes? Which Node has the check failing?The tag should be added here: https://github.com/DataDog/integrations-core/blob/f8c50c779dc836e9419326a5d2d64524f3216821/consul/datadog_checks/consul/consul.py#L367-L375
Specifically on/after line 373:
The data is available and returned in the Consul API endpoint
/v1/health/state/any
on line 356: https://github.com/DataDog/integrations-core/blob/f8c50c779dc836e9419326a5d2d64524f3216821/consul/datadog_checks/consul/consul.py#L356See: https://www.consul.io/api-docs/health#sample-response-3
Example Response: