-
Notifications
You must be signed in to change notification settings - Fork 2.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
Changes to add 2 metrics to external-dns. #2338
Changes to add 2 metrics to external-dns. #2338
Conversation
Welcome @adityask2! |
Adding @njuettner for review. |
I think you can monitor the difference and alert on that if you want to have a signal of an error, you don't need a sort of "boolean" to see if there is an error.
Can you tell us in which situation such a metric would be useful? What value is adding? |
Consider this scenario - lets say there were 3 errors before and the system recovered. If I start monitoring now I'm going to see the error count as 3 there is no way of knowing if the system is still in error state because of which I'm seeing the count 3 or has the system recovered. At any point in time i would want to know if my system is currently in error state or no. To determine that based on past events doesn't seem right
We need to know the exact number of A records in external-dns that are synced with the DNS provider. We have observed that the number of registry records is implemented differently by each DNS provider plugin. For instance coredns plugin adds both A-records and TXT records into the list of registry entries while infloblox add 3 records. |
/cc |
Heya @Raffo and @njuettner, wondering if you have thoughts on @adityask2's comment above and how we might be able to move this forward. Thanks! |
Yeah sorry that has slipped through the cracks, we have quite the backlog and none of the time to go through it without any funding. Anyway, me and @njuettner chatted briefly about this.
I disagree with the need for a "boolean". I think that most metric systems would allow you the extract that information from existing metrics and the "boolean" logic is really an implementation detail. But I might be wrong! Do you have an example of a system in the kubernetes ecosystem where something like this is implemented?
this makes total sense to me, thanks for clarifying. |
@Raffo Thnx for the review. Unfortunately, I don't have the details at the present moment on the existing system having a similar implementation with respect to external_dns_source_errors_total. We can take it as part of different PR. Meanwhile, I will modify the PR to contain the external_dns_controller_verified_records metric. |
3af7ea1
to
0b848b2
Compare
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.
@adityask2 I added a few comments. It would also be nice if you could add more tests for when the metrics are showing a problem, but I'm not sure that would be too hard.
1. external_dns_controller_verified_records - No of DNS A-records that exists both in source and registry - Gauge Metric
0b848b2
to
39d5b39
Compare
@Raffo Thnx for the quick review. Very much appreciated. :) |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adityask2, Raffo The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Added new metric for external-dns -
Description
We have identified a problem with the metrics published by external-dns
Registry endpoints total - Based on the DNS provider, the count for each DNS name can change. For instance, CoreDNS provider publishes both count of A-Record and TXT-Record for a given dns name, resulting in 2 entries per dns name
external-dns-controller-verified-records - This metric displays the count of DNS records that are verified between source and registry in external dns i.e. check for every DNS entry in external-dns check the corresponding entry exists in registry.
Checklist