Skip to main content

dns_query_logs

Creates, updates, deletes, gets or lists a dns_query_logs resource.

Overview​

Namedns_query_logs
TypeResource
Idrailway.observability.dns_query_logs

Fields​

The following fields are returned by SELECT queries:

One row per DnsQueryLog. A single DNS query resolved for a service (one row per query, not aggregated).

NameDatatypeDescription
deployment_idstringThe deployment ID
deployment_instance_idstringThe deployment instance ID
service_idstringThe service ID that made the queries
answersarrayThe IP addresses the name resolved to
cname_chainarrayOrdered CNAME targets the queried name aliased through before the final answer (empty when the response had no CNAME)
qnamestringThe domain name that was looked up
qtypestringThe DNS record type queried (A, AAAA, TXT, ...)
queried_atstringWhen the query was resolved (ISO timestamp)
query_zonestringWhether the query targeted the internal zone or the public internet (external, internal)
rcodestringThe DNS response code (NOERROR, NXDOMAIN, SERVFAIL, ...) or synthetic TIMEOUT/ERROR when no upstream response was received

Methods​

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
listselectenvironment_idafter_date, after_limit, anchor_date, before_date, before_limit, deployment_instance_id, filter, service_idFetch individual DNS query logs for an environment. Backed by the Railway GraphQL query dnsQueryLogs.

Parameters​

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
environment_idstring
after_datestringLatest date to look for logs after the anchor.
after_limitintegerLimit logs returned after the anchor.
anchor_datestringTarget date time to look for logs.
before_datestringOldest date to look for logs before the anchor.
before_limitintegerLimit logs returned before the anchor.
deployment_instance_idstringFilter by deployment instance / sandbox ID (optional).
filterstringFilter expression (e.g., @rcode:NXDOMAIN @qtype:A @domain:example.com @status:failed). Prefix a term with - to exclude it; repeat a key to match any of its values.
service_idstringFilter by service ID (optional).

SELECT examples​

Fetch individual DNS query logs for an environment. Backed by the Railway GraphQL query dnsQueryLogs.

SELECT
deployment_id,
deployment_instance_id,
service_id,
answers,
cname_chain,
qname,
qtype,
queried_at,
query_zone,
rcode
FROM railway.observability.dns_query_logs
WHERE environment_id = '{{ environment_id }}' -- required
AND after_date = '{{ after_date }}'
AND after_limit = '{{ after_limit }}'
AND anchor_date = '{{ anchor_date }}'
AND before_date = '{{ before_date }}'
AND before_limit = '{{ before_limit }}'
AND deployment_instance_id = '{{ deployment_instance_id }}'
AND filter = '{{ filter }}'
AND service_id = '{{ service_id }}'
;