Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  1. ZABBIX FEATURE REQUESTS
  2. ZBXNEXT-10196

Loop net.dns.* (get,record) through DNS resolvers

XMLWordPrintable

    • Icon: Change Request Change Request
    • Resolution: Unresolved
    • Icon: Trivial Trivial
    • None
    • None
    • Agent (G), Agent2 (G)
    • None

      Current Functionality

      In an environment where you may have more than one DNS resolver (which is most environments...) on a given server, Zabbix's default behaviour should be to utilize all listed DNS resolver on the server until a response is received. This behaviour is the default OS behave for most Linux flavours, at least any using glibc's library.

      glibc behaviour (RHEL): [Chapter 22. Configuring the order of DNS servers | Configuring and managing networking | Red Hat Enterprise Linux | 8 | Red Hat Documentation|https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-the-order-of-dns-servers_configuring-and-managing-networking]

      Musl (another C Library for other Linux distros) implements similar but different logic. Musl will send the DNS query to all servers, then return the fastest result.

      [getaddrinfo() from musl libc | Viacheslav Biriukov|https://biriukov.dev/docs/resolver-dual-stack-application/5-getaddrinfo-from-musl-libc/]

      Expected Functionality

      Zabbix should return null only after querying all available DNS servers, implementing the systems' native preference of musl or glibc beahviour. Otherwise, it should return the DNS entry it receives.

      Recommendation (one or the other){}

      • Implement a new key "net.dns.getall" that follows the described use case.
        • Pros: Implements new functionality without compromising existing setups.
        • Cons: Probably more work.
      • Modify the existing keys such as net.dns.get or net.dns.record and implement the above behaviour. Possibly by adding optional flags in the item key.

      Zabbix Environment

      • Zabbix Agent Version: (Agent and Agent, All versions)
      • Zabbix Server: 7.0 LTS
      • Architecture: All
      • Operating System: Linux (RHEL 9.6)

            vso Vladislavs Sokurenko
            MRedbourne_BR Michael Redbourne
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: