datumctl dns plugin. To install it, see Operations.
Is a zone or record live?
Every zone and record reports two conditions:
A record is live once it’s
Programmed. To see the status of every record in a zone, run the following command:
STATUS column shows each value as Programmed, Pending, Conflict, Not owner, Error, or Rejected, with a count below the table. To list only the records that aren’t live, filter by status:
Pending is normal for a few moments after a change. If it lasts, ask why:
describe shows each value, its fields, and the reason it is or isn’t live. For what each reason means, see Troubleshooting.
For zones, datumctl dns zone list shows each zone’s status and record count, with a summary such as 3 zones — 2 OK, 1 Pending, 0 Rejected, 0 Error.
Is the internet asking Datum?
A zone can be fullyProgrammed and still not answer for your domain, because your registrar decides which nameservers the internet asks. To check delegation against public DNS, run the following command:
--check queries Datum’s nameservers for your zone and asks the public DNS where your domain is delegated, so it reports whether resolution actually works. A delegation of Complete means your registrar publishes all of Datum’s nameservers. The DELEGATED column of datumctl dns zone list shows the same for every zone.
To see exactly what Datum answers for a name, ask one of Datum’s nameservers directly:
Check for drift
If you keep a zone in a BIND zone file,record apply --dry-run shows any difference between the file and the live zone without changing anything:
No changes. Run it on a schedule, or in CI, to catch changes made outside your file. To capture the live zone as a file, run datumctl dns zone export example.com.
For zones that you manage with manifests, datumctl diff -f dns.yaml does the same. See Manage DNS with manifests.
Who changed what
Every change to a zone or record is recorded with who made it and when. To review changes, see Activity logs.Metrics
Datum publishes the state of your zones, records, and domains to your project’s metrics store, so you can alert when something stops serving or a domain loses verification. To query them in your own tools, export them.
On these series,
resource_name is the zone, record set, or domain name, and resourcemanager_datumapis_com_project_name is your project ID.
To find record sets that Datum isn’t serving, replace PROJECT_ID:
ExternalDNS webhook metrics
If you use ExternalDNS to manage records, the Datum webhook exposes Prometheus metrics at/metrics on its metrics port (8080 by default):
The same port serves
/healthz for liveness and /readyz, which reports ready once the webhook has discovered your zones.