-
Notifications
You must be signed in to change notification settings - Fork 8
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
Ability to use list with many resolvers in --config.dns-resolver #165
Comments
I deliberately didn't use the OS because the usual google dns, clownflare, etc. don't work. And I didn't want to support these queries. I remember Go used an internal resolver, and only the system when specifically asked for. Though this could have changed. Does not using your system's resolver automatically present some kind of challenge? I can try to brainstorm with you. Otherwise: Do you wanna do some R&D or a pr? I'd try to help. |
To also respond to the question about using multiple resolvers: I am not opposed to it, though I am curious, is this for error handling in case one is down, or would you expect the checks to resolve against all supplied servers? |
I have multiple resolvers configured in case one is down. Currently passed only one to |
@xelite sorry to clarify, when you e.g. supply 2 resolvers. Do you expect any of them in the response ( |
I guess both would imply another label. I am also not a 100% sure if there's an efficient way to see if a resolver is working — I think this is why I opted for something like unbound. Or maybe dnsmasq would be more appropriate as a pure forwarder. It seems like adding multiple DNS servers into the mix makes lots of things very complicated. Any thoughts? |
I expect any of them in the response. Exporter should use next resolver if first fail. |
Yes, dnsmasq can resolve this case but its not pretty solution. I have configured custom resolvers in /etc/resolv.conf and I want use them when I dont pass arg --config.dns-resolver. Its the best solution IMO. When pass arg --config.dns-resolver. then it will be set. |
@xelite do you feel like prototyping something that somehow verifies if a DNS server is working? Otherwise, I am not sure if I want to spend the time on this right now. |
Unfortunately not. I don't know anything about Go programming. |
- when provided, pick the first from /etc/resolv.conf - this does not support multiple resolvers - the returned value is not health checked For: #165
@xelite I wrote some code to fetch a nameserver from Btw, do you do Also, did you test how your system behaves when the first nameserver in that file fails to respond? From what I know, it's still gonna be sluggish as the system will always try the first one. You need a solid combo of |
@till thank you. I'll test this and give you feedback. I am using dnsbl_exporter in several projects. That projects have a different configuration of system resolvers. Projects on GCP are using default cloud resolvers in |
@till I've done tests. It's works as expected. Thank you. I can type any value in ...and /metrics endpoint looks like that:
...but its is other issue. In summary, the fix with |
@xelite thanks for letting me know, feel free to create a new ticket for the other thing. |
@xelite btw, can you share what you use the exporter for? Curious to know! |
dnsbl_exporter is installed at production smtp servers. Prometheus is scraping
|
@xelite If you want to send your example rule as a PR, would be much appreciated :) |
@till I expanded the readme file with sample alerts, but I don't have access to push my branch. |
@xelite you need to:
You can also go on the README in the browser and click edit, it will do the fork for you. |
I would like to use multiple resolvers or even better - use defaults from OS when
--config.dns-resolver
is not provided.The text was updated successfully, but these errors were encountered: