Forum Discussion
Every BigIP device (GTM or LTM) referenced in the GTM config as a gtm server object is a big3d agent. Each gtm server is configured to be in a specific data centre. So from that, we know which data centre each big3d agent is in.
LDNS probes are sent from a one big3d agent in each data centre, so that GTM can pick the correct data centre for each LDNS. It's an entirely separate mechanism from the normal GTM monior probes, so doesn't follow the normal gtm probe rules, though it does still use big3d/iquery to request the probe be run, and to retrieve the results.
LDNS probes only run when there's configuration that requires it. The first query from an LDNS will always fall through to one of the static (non dynamic) load balancing methods, as the BigIP won't have the LDNS information at that time, and kicks off a background process to go out and collect the dynamic information, as required by the GTM configuration.
Once we have the first results, we continue to update that dynamic data at regular intervals, as long as the LDNS keeps sending requests (gtm global-settings metrics ldns-update-interval) seconds. We'll hold on to data for up to (inactive-ldns-ttl) seconds (default 2419200 - 28 days)
Every (gtm global-settings metrics metrics-caching) seconds, we write the current dynamic data out to /config/gtm/ldns.gz so that it can be read in on the next bootup, avoiding the need to run initial probes for everything again.
Here's an example of the ldns.gz file's contents with one wideip using a pool set up for a load balancing method of hops. My LDNS is 5.1.0.103 in this case.
[root@gtm-1211-hf1-143:Active:Standalone] gtm zcat /config/gtm/ldns.gz
path {
address 5.1.0.103
datacenter "/Common/dc1"
cur_hops 10
cur_last_hops 1486598180
probe_protocol icmp
last_used 1486599277
}