Usar a geração de registros e o monitoramento

Nesta página, você encontra informações sobre as métricas de geração de registros e monitoramento do Cloud DNS, incluindo zonas públicas, zonas particulares, e zonas de encaminhamento. Esta página também fornece instruções para monitorar a propagação das suas alterações de DNS público.

Usar a geração de registros do Cloud DNS

O registro do Cloud DNS rastreia consultas que os servidores de nomes resolvem para suas redes de nuvem privada virtual (VPC), bem como consultas de uma entidade externa diretamente para uma zona pública.

As consultas registradas podem vir de instâncias de máquina virtual (VM, na sigla em inglês) do Compute Engine, contêineres do Google Kubernetes Engine na mesma rede VPC, zonas de peering ou clientes locais que usam o encaminhamento de DNS de entrada. As zonas de DNS privado, os encaminhamentos de zonas de DNS, os servidores de nomes alternativos, as zonas internas do Google Cloud DNS ou as zonas de DNS externo podem resolver as consultas.

Os registros pertencem ao projeto proprietário da rede ou zona pública que transmitiu a solicitação. No caso da VPC compartilhada, os registros de log pertencem ao projeto host porque ele é proprietário da rede.

Ativar e desativar a geração de registros para zonas particulares gerenciadas

Use as políticas de DNS para ativar ou desativar a geração de registros para suas redes. Ao ativar a geração de registros de consultas, todas as consultas DNS em uma zona particular gerenciada do Cloud DNS são registradas.

Para ativar a geração de registros em uma rede que não tem uma política de DNS, execute o comando dns policies create.

gcloud

gcloud dns policies create POLICY_NAME \
    --networks=NETWORK \
    --enable-logging \
    --description=DESCRIPTION

Substitua:

  • POLICY_NAME: o nome da política de DNS.
  • NETWORK: uma ou mais redes em uma lista separada por vírgulas.
  • DESCRIPTION: uma descrição da política.

Para ativar a geração de registros em uma rede que já tenha uma política de DNS, execute o comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --enable-logging

Substitua:

  • POLICY_NAME: o nome da política de DNS.
  • NETWORK: uma ou mais redes em uma lista separada por vírgulas.

Para desativar a geração de registros enquanto deixa a política em vigor, execute o comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --no-enable-logging

Substitua:

  • POLICY_NAME: o nome da política de DNS.
  • NETWORK: uma ou mais redes em uma lista separada por vírgulas.

Para excluir a política por completo, execute o comando dns policies delete.

gcloud

gcloud dns policies delete POLICY_NAME \

Substitua POLICY_NAME pelo nome da política de DNS que você quer excluir.

Ativar e desativar a geração de registros para zonas públicas gerenciadas

Para ativar a geração de registros de uma zona pública gerenciada, execute o comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --log-dns-queries \

Substitua ZONE_NAME pelo nome da zona gerenciada de DNS para a qual você quer ativar a geração de registros.

Para desativar a geração de registros de uma zona pública gerenciada atual, execute o comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \

Substitua ZONE_NAME pelo nome da zona gerenciada de DNS da geração de registros que você quer desativar.

Ver registros

Console

No console do Google Cloud, acesse a página do Explorador de registros.

Acessar o Explorador de registros

Visualizar campos de formato de registro

Cada entrada de registro tem os seguintes campos, se aplicável. Alguns dos campos também são compartilhados com métricas de monitoramento.

Campo Tipo de campo Descrição Usado em métricas
alias_query_response_code (Visualização prévia) String O código de resposta retornado da consulta para resolver o nome canônico do registro ALIAS. Yes
source_type String Origem da consulta: inbound-forwarding, gce-vm Sim
location String Região do Google Cloud, por exemplo, us-east1, de onde a resposta foi veiculada Sim
project_id String ID do projeto do Google Cloud da rede de onde a consulta foi recebida Sim
target_type String Tipo de destino que resolve a consulta DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal, external Sim
target_name String O nome do destino, por exemplo, nome da zona, nome da política, nome da zona interna, nome de domínio externo. Sim
queryName String / DNS Nome da consulta DNS, RFC 1035 4.1.2. Não
queryType String / DNS Tipo de consulta de DNS, RFC 1035 4.1.2. Não
responseCode Número / DNS Código de resposta, RFC 1035 4.1.1. Não
rdata String / DNS Resposta de DNS no formato de apresentação, RFC 1035 5.1, truncado para 260 bytes Não
authAnswer Booleano / DNS Resposta autoritativa, RFC 1035 Não
sourceNetwork String / Origem Rede usada pela consulta para alcançar nosso sistema. Não
vmInstanceId Número / Origem ID da instância da VM do Compute Engine, aplicável apenas a consultas iniciadas pelas VMs do Compute Engine. Não
vmInstanceName String / Origem Nome da instância da VM do Compute Engine, aplicável apenas a consultas iniciadas pelas VMs do Compute Engine. Não
vmProjectId String / Origem ID do projeto do Google Cloud da rede de onde a consulta foi enviada, aplicável somente a consultas iniciadas por VMs do Compute Engine Não
vmZoneName String / Origem Nome da zona de VMs de onde a consulta foi enviada, aplicável apenas a consultas iniciadas por VMs do Compute Engine. Não
sourceIP String / Origem IP que gerou a consulta Não
destinationIP String / Destino Endereço IP de origem, aplicável somente a casos de encaminhamento. Não
protocol String / DNS TCP | UDP Não
healthyIps String

Conjunto de endereços IP no ResourceRecordSet conhecidos como HEALTHY para o Cloud DNS no momento da consulta

Não
unHealthyIps String

Conjunto de endereços IP no ResourceRecordSet conhecidos como UNHEALTHY para o Cloud DNS no momento da consulta

Não
egressError String

Erro de proxy de saída, o erro real informado pelo proxy de saída como recebido do servidor DNS local.

Esse campo pode ser usado para diferenciar um SERVFAIL real retornado pelo DNS local versus um erro de rede encontrado pelo proxy de saída.

Não

Preços

Todos os registros do Cloud DNS são gravados no Cloud Logging. Não há cobrança separada do Cloud DNS por esse serviço. No entanto, esses registros podem resultar em custos adicionais de armazenamento, dependendo do tamanho dos registros gravados e armazenados.

Para fins de cálculo, o Cloud DNS grava aproximadamente 5 MB de dados de registro para processar 10.000 consultas DNS.

Para informações sobre os preços do Cloud Logging, consulte Preços de observabilidade do Google Cloud: Cloud Logging.

Resolver problemas de encaminhamento de saída

Se você receber registros contendo SERVFAIL sem determinados campos, como destinationIP, egressIP e egressError, consulte a seção relacionada na documentação de solução de problemas.

Monitorar as métricas

O Cloud DNS exporta métricas de monitoramento para o Cloud Monitoring.

É possível monitorar a taxa de consultas e respostas de DNS que apontam para zonas particulares, zonas de encaminhamento, encaminhamento de política, zonas internas do Google Cloud e a Internet. O monitoramento está disponível na página Monitoring do console do Google Cloud e na API Cloud Monitoring.

O DNS particular exporta a métrica delta dns.googleapis.com/query/response_count que contém o rótulo response_code para contar o número de consultas por código de resposta.

O rótulo response_code é do tipo string com os valores possíveis de NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP e UNKNOWN. Para definições desses códigos, consulte os RCODEs de DNS IANA (em inglês).

A métrica é exportada com o tipo de recurso dns_query, usando os campos aplicáveis do formato de registro.

Monitorar a propagação de DNS

Quando você usa a Google Cloud CLI ou a API REST para fazer alterações, elas são inicialmente marcadas como pendentes até que a operação seja concluída. Use a CLI gcloud ou a API REST para verificar o status das alterações ou receber um histórico de alterações.

Uma operação é concluída (status: done) quando o Cloud DNS atualizou com êxito o sistema que controla os servidores. Ainda pode levar um tempo antes que todos os servidores de nomes sejam atualizados.

Listar alterações de uma zona gerenciada

Para listar as alterações de uma zona gerenciada, execute o comando dns record-sets changes list.

gcloud

Execute o comando dns record-sets changes list:

gcloud dns record-sets changes list --zone=ZONE

Substitua ZONE pelo nome da zona gerenciada com os conjuntos de registros que você quer gerenciar.

Verificar a propagação do DNS

Para monitorar e verificar se o servidor de nomes DNS escolheu suas alterações, use os comandos watch e dig. O exemplo a seguir demonstra como pesquisar seu servidor de nomes e verificar quando um dos servidores de nomes da sua zona gerenciada conseguiu uma alteração em um registro MX.

Para pesquisar os servidores de nomes da zona, execute o comando dns managed-zones describe:

gcloud dns managed-zones describe ZONE_NAME

Substitua ZONE_NAME pelo nome de sua zona do Cloud DNS.

Para verificar se os registros ainda estão disponíveis no seu servidor de nomes autoritativo, execute o seguinte comando dig:

watch dig example.com in MX @ZONE_NAME_SERVER

Substitua ZONE_NAME_SERVER por um dos servidores de nomes da zona gerenciada:

O comando watch executa o comando dig a cada 2 segundos por padrão. É possível usar esse comando para determinar quando seu servidor de nomes autoritativo realiza a alteração, o que ocorre em até 120 segundos. Depois que o servidor de nomes autoritativo estiver com a alteração, os resolvedores DNS podem começar a coletar o novo registro. Os resolvedores que já têm o registro anterior armazenado em cache aguardam o valor TTL anterior do registro expirar.

Para executar o dig no servidor de nomes do seu sistema, remova o @<address> do comando dig. Se você quiser monitorar a propagação para outros servidores de nomes, altere address para apontar para outros servidores.

A seguirs