Troubleshooting GeoDB Issues

This article includes methods to confirm proper operation of and fix issues within the Avi GSLB GeoDB.

Checklist

  • Prior to investigating a suspected GeoDB issue, verify that all GSLB sites, GSLB services and the DNS VS are configured and running.
  • Ensure the SE group of the DNS VS is configured with sufficient disk and memory. Below appear the minimum recommended values.
    SE group capacity and limit settings
  • Once a geo profile has been defined, confirm it has been pushed to the Service Engine. Use the show virtualservice your-dns-vs-name geodbinternal command to verify the GeoDB has been applied correctly. Look for results such as below:

    good GeoDB internal
    You may otherwise observe error output as below. FILE_NO_RESOURCES means there is not enough space on the SEs, as discussed above.

    bad GeoDB internal
  • Verify that a geolocation algorithm is in play where it ought to be. In contemporary releases of Avi Vantage, that could be at the GSLB service level and/or the GSLB pool level. The below Avi UI screenshot shows the geo algorithm is indeed running at the GSLB pool level.

    verify correct geo algorithm is in play
  • Verify the geolocation algorithm is able to detect the location of an IP address. To do this, use the following command:
    show virtualservice dns-vs-name geolocationinfo [filter ip|start_ip]
    The following output confirms a location in California:

    California location returned
    The following output confirms a location in India:

    India location returned
    Absence of an entry in the below output means either the GeoDB lacks information for the 106.1.2.3 subnet or SE resources are insufficient for the GeoDB to function.

    no location found

Additional Commands to Facilitate Troubleshooting

  • show gslbservice gslb-svc runtime
  • show virtualservice dns-vs-name dnstable — Shows dnstable bound to the DNS virtual service
  • show virtualservice dns-vs-name gslbservicedetail filter gs_ref gslb-svc-name — Shows if a GSLB service is on all SEs and the state of that service
  • show virtualservice dns-vs-name
    gslbservicedetail
    gslbservicehmonstat
    gslbserviceinternal
    gslbsiteinternal
    The first three of the above options need to be qualified using a filter, as illustrated by the following command:
    show virtualservice dns-vs-name gslbservicehmonstat filter gs_ref gslb-svc-name
    The gslbservicedetail and gslbserviceinternal options also display location information for the GSLB pool member.

Logs to Collect

Especially when seeking help from Avi Networks Support, please collect these logs:

  • Within the /var/log/upstart directory: glb_mgr.log and *portal*.log
  • Within the /opt/avi/log directory: glb_mgr.log and *portal*.log
  • On the SE where the DNS virtual service is running, collect se_trace.info.