Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
The DNS prober currently allows a DNS name to be configured statically in blackbox_exporter's YAML configuration file. The target, specified by Prometheus, is the nameserver to query. This diverges from @brian-brazil's suggestion to make the DNS name part of the query string (rather than the nameserver).
This favours probing the same DNS record from multiple DNS servers, and makes probing multiple DNS records from the same namesever rather cumbersome.
Realistically I think both use cases are going to be common, depending on whether you're running DNS servers or just want to make sure that your SRV records are working correctly, for example.
That said, I think probing multiple records against the same nameserver is possibly the most common case, and configuring a DNS modules per nameserver should be less cumbersome than one per DNS record.
Interested if @knyar has any suggestions on how to handle this.
I agree with the "one type of test" argument.
Also, keep in mind that any validation options specified in
Since you normally would want to keep prometheus server configuration in sync with
I can see @knyar's point regarding the module configuration and customization.
However, I also agree with @mattbostock that it is probably more common to want to probe multiple DNS records against the same DNS server. For example, in my case, I want to probe 54 DNS records against 2 DNS servers. But with the current implementation, I find myself writing a Perl script to generate the 54 modules in my blackbox.yaml config. I then also have to generate 54 Prometheus scrape jobs to scrape each module.
Is there an easier way for me to accomplish this? Or is auto-generating really the way to go? Thanks in advance.
just in case someone will need to solve same issue: