Neste documento, mostramos como resolver erros que podem ocorrer ao usar a página Análise de registros do console do Google Cloud .
Mensagens de erro
Nesta seção, descrevemos as mensagens de erro que podem aparecer e como resolver as condições de erro correspondentes.
Mensagem de erro No completion signal within allotted timeframe
Insira uma consulta SQL e selecione Executar consulta. A consulta não é concluída e você vê a seguinte mensagem de erro:
The query failed to execute and return results due to error: No completion signal within allotted timeframe.
Para resolver esse erro, faça uma das seguintes ações:
Encurte o intervalo em que os registros são consultados e tente de novo. Por exemplo, se um intervalo de consulta for de 14 dias, reduza para 7 dias e execute a consulta.
Crie um conjunto de dados vinculado do BigQuery e execute a consulta na interface do BigQuery. A interface do BigQuery é compatível com consultas que exigem um tempo de execução maior do que a interface do Cloud Logging. Para mais informações, consulte Consultar um conjunto de dados vinculado do BigQuery.
Mensagem de erro de consultas em relação a buckets com chaves CMEK distintas
Insira uma consulta SQL que consulte vários buckets de registros e selecione Executar consulta. A consulta não é concluída e você vê a seguinte mensagem de erro:
Queries against buckets with distinct CMEK keys must have a key configured in the LogSettings.
Para resolver esse problema, faça uma das seguintes ações:
- Configure seus buckets de registros para usar a mesma chave do Cloud Key Management Service (Cloud KMS).
- Quando os buckets de registros estão no mesmo local, é possível configurar uma pasta ou organização que seja um recurso pai para os buckets de registros com uma chave padrão do Cloud KMS. A chave padrão da organização mãe precisa estar no mesmo local que os buckets de registros. Com essa configuração, a chave padrão do pai criptografa todos os dados temporários gerados pela consulta do Log Analytics. Para mais informações, consulte Restrições do Log Analytics.
A cláusula FROM precisa conter exatamente uma mensagem de erro de visualização
Você insere uma consulta SQL no painel de consultas da página Análise de dados de registros no console Google Cloud , mas o analisador SQL mostra o seguinte erro:
FROM clause must contain exactly one log view
O erro anterior é informado quando a tabela especificada na instrução FROM
não pode ser resolvida para uma visualização de registros específica.
Para resolver esse erro, verifique se o nome da tabela tem a sintaxe correta:
Verifique se o nome da tabela segue a sintaxe exigida pelo esquema de nomenclatura do Log Analytics. O BigQuery e a Análise de dados de registros têm requisitos diferentes para o nome da tabela. Para encontrar a sintaxe necessária para o nome da tabela, consulte a consulta padrão.
Se o ID do projeto, a região, o ID do bucket ou o ID da visualização de um bucket de registros contiver caracteres de ponto,
(.)
, verifique se cada um desses campos está entre crases simples,(`)
. Google CloudPor exemplo, se um ID do projeto Google Cloud for
example.com:bluebird
, use a seguinte sintaxe para especificar a tabela e consultar a visualização_AllLogs
do bucket de registros_Default
:SELECT * FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`
A consulta anterior pressupõe que o bucket
_Default
está na regiãoglobal
.
Não é possível salvar uma consulta
Você quer salvar sua consulta atual, então executa a consulta e clica em
Salvar, mas a opção Salvar consulta está desativada ou não é possível concluir as etapas da caixa de diálogo.Quando a opção Salvar consulta está desativada, as configurações de recursos padrão da organização ou pasta definem um local que não é permitido pela política da organização. Para resolver essa falha, peça ao administrador da sua organização para definir um local nas configurações de recursos padrão que corresponda a um local permitido pela política da organização. Para mais informações, consulte Definir configurações padrão para organizações e pastas.
Se a opção Salvar consulta estiver ativada, mas você não conseguir concluir a caixa de diálogo e salvar a consulta, faça o seguinte:
- Verifique se a consulta não contém erros de sintaxe. Só é possível salvar consultas válidas.
- Opcional: copie a consulta para a área de transferência.
- Atualize a página.
- Se você copiou a consulta para a área de transferência, cole-a no painel Consulta, execute a consulta e salve.
Não foi possível criar uma visualização de análise
Você quer criar uma visualização de análise, então insere e executa uma consulta SQL e clica em
Salvar mas a opção Salvar como visualização de análise está desativada.Para resolver essa situação, verifique se seus papéis do IAM incluem as seguintes permissões:
observability.analyticsViews.{get, list, create, update, delete}
Essas permissões não estão incluídas em nenhum papel predefinido do Cloud Logging. Para informações sobre os papéis necessários, consulte Criar e consultar visualizações de análise: antes de começar.
Não é possível consultar uma vista do Google Analytics
Você quer consultar uma visualização do Google Analytics, mas o painel Visualizações na página Análise de dados de registros não mostra nenhuma visualização do Google Analytics.
Para resolver essa falha, tente o seguinte:
Verifique se seus papéis do IAM incluem as seguintes permissões:
observability.analyticsViews.{get, list}
Essas permissões não estão incluídas em nenhum papel predefinido do Cloud Logging. Para informações sobre os papéis necessários, consulte Criar e consultar visualizações de análise: antes de começar.
Verifique se as vistas de análise existem no seu projeto Google Cloud .
Acesso negado à página Análise de registros
Você abre a página Análise de dados de registros no console Google Cloud e uma mensagem de erro de permissão negada é exibida.
Para receber as permissões necessárias para carregar a página Análise de registros, executar consultas e visualizar registros, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Ver registros:
Visualizador de registros (
roles/logging.viewer
) -
Ver registros em buckets de registros personalizados:
Acessador de exibição de registros (
roles/logging.viewAccessor
)
Também é possível conseguir as permissões necessárias com papéis personalizados ou predefinidos do Logging.
As permissões necessárias para visualizar entradas de registro e executar consultas na página Análise de registros são as mesmas necessárias para visualizar registros na página Explorador de registros. Para informações sobre
outros papéis necessários para consultar visualizações em buckets definidos pelo usuário ou
para consultar a visualização _AllLogs
do bucket de registros _Default
, consulte
Papéis do Cloud Logging.
Falha no upgrade do bucket de registros para usar a Análise de dados de registros
Você cria um bucket de registros e seleciona a opção de usar a Análise de dados de registros ou faz upgrade de um bucket de registros atual para usar a Análise de dados de registros. A atualização falha com uma condição de erro semelhante a esta:
Failed precondition (HTTP 400): Constraint "my-constraint" violated for PROJECT_ID with location global.
A mensagem de erro anterior indica que sua organização configurou uma política organizacional que restringe as regiões que podem ser usadas. Os buckets de registros
qualificados para upgrade e uso da Análise de dados de registros precisam usar a região
global
. Se for possível remover a política da organização que restringe o uso da região global
, faça upgrade do bucket de registro. Caso contrário, não será possível fazer upgrade dos buckets de registros.
A criação de um conjunto de dados vinculado do BigQuery falha
Você edita um bucket de registros para criar um conjunto de dados vinculado do BigQuery ou cria um bucket de registros e seleciona a opção para criar um conjunto de dados vinculado; no entanto, o conjunto de dados vinculado não é criado.
Para resolver esse erro, peça ao administrador do sistema do projeto Google Cloud para conceder a você um papel do IAM que inclua a seguinte permissão:
logging.links.create
A permissão anterior está incluída nos papéis de administrador do Logging (roles/logging.admin
)
e gravador de configuração de registros (roles/logging.configWriter
).
Para informações sobre papéis e permissões, consulte Controle de acesso com o IAM.
A exclusão de um conjunto de dados vinculado do BigQuery falha
Você não quer mais o conjunto de dados vinculado, mas a opção de excluir está desativada.
Para resolver esse erro, peça ao administrador do sistema do projeto Google Cloud para conceder a você um papel do IAM que inclua a seguinte permissão:
logging.links.delete
A permissão anterior está incluída nos papéis de administrador do Logging (roles/logging.admin
)
e gravador de configuração de registros (roles/logging.configWriter
).
Com essa permissão, é possível excluir o conjunto de dados vinculado da página Armazenamento de registros do console do Google Cloud . Para mais informações sobre papéis e permissões, consulte Controle de acesso com o IAM.
O botão de configurações do mecanismo de consulta está faltando
Se o botão settings Configurações não aparecer ao lado do botão Executar consulta, seu projeto Google Cloud não terá slots reservados do BigQuery ativados. Para ativar o botão settings Configurações, configure slots reservados do BigQuery para seu projeto.
O botão "Executar no BigQuery" está desativado
Se o botão Executar no BigQuery aparecer, mas estiver desativado, uma visualização de registros referenciada pela consulta não terá um conjunto de dados vinculado. Para executar sua consulta nas reservas de slots do BigQuery, crie um conjunto de dados vinculado do BigQuery na visualização de registros.
Nenhuma conta de serviço do Monitoring
Você quer criar uma política de alertas para monitorar os resultados de uma consulta SQL. As etapas de configuração exigiram que você concedesse papéis do IAM à conta de serviço do Monitoring, mas essa conta não existe.
A conta de serviço do Monitoring é chamada de agente de serviço porque é criada e gerenciada por Google Cloud. Ela é criada automaticamente quando você configura um recurso ou serviço que a exige. Por exemplo, se você criar um canal de notificação do Pub/Sub, essa ação poderá causar a criação da conta de serviço do Monitoring.
Para criar a conta de serviço do Monitoring e conceder a ela as permissões necessárias para políticas de alertas baseadas em SQL, faça o seguinte:
Crie a conta de serviço do Monitoring. Para mais informações, consulte Criar e conceder papéis a agentes de serviço.
Conceda os seguintes papéis à conta de serviço do Monitoring:
- Agente de serviço do Monitoring (
roles/monitoring.notificationServiceAgent
) no seu projeto. - Leitor de dados do BigQuery (
roles/bigquery.dataViewer
) no conjunto de dados vinculado.
- Agente de serviço do Monitoring (
Erro de permissão negada da conta de serviço do Monitoring
Você quer criar uma política de alertas para monitorar os resultados de uma consulta SQL.
No entanto, você vê um erro PermissionDenied
com uma mensagem que começa com
Error authenticating service account
.
Para resolver essa falha, conceda os seguintes papéis à conta de serviço do Monitoring:
- Agente de serviço do Monitoring (
roles/monitoring.notificationServiceAgent
) no seu projeto. - Leitor de dados do BigQuery (
roles/bigquery.dataViewer
) no conjunto de dados vinculado.
Há entradas de registro duplicadas nos meus resultados da Análise de registros
Você executa uma consulta que conta ou informa entradas duplicadas. Como a Análise de registros remove entradas duplicadas com base no nome do registro, no carimbo de data/hora e no ID de inserção, você espera que a Análise de dados de registros remova as entradas duplicadas antes da execução de uma consulta.
A análise de registros não realiza o mesmo tipo de eliminação de duplicação que o Explorador de registros.
Para resolver entradas de registro duplicadas, tente o seguinte:
Determine se as entradas de registro duplicadas têm valores de carimbo de data/hora de recebimento diferentes. Quando os carimbos de data/hora são diferentes, isso indica que os mesmos dados foram gravados no Logging várias vezes.
Para resolver gravações duplicadas, investigue sua integração de geração de registros em busca de mensagens de erro ou configurações incorretas.
Se o bucket estiver configurado para usar chaves do Cloud Key Management Service, verifique se você está dentro da cota e se a chave está sempre acessível. Exceder a cota ou perder o acesso à chave pode resultar em entradas de registro duplicadas.
Para resolver essas falhas, verifique se você não excedeu sua cota e se sua chave está acessível.
Modifique sua consulta para remover entradas de registro duplicadas.
Por exemplo, suponha que o payload JSON contenha
fieldA
efieldB
. O primeiro é uma string e o segundo é numérico. Além disso, suponha que o payload JSON contenha um campo chamadoserver
, que contém uma string. Em seguida, considere a seguinte consulta:SELECT JSON_VALUE(json_payload.fieldA) AS fieldA SUM(IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0)) AS sum_fieldB FROM `TABLE_NAME_OF_LOG_VIEW` WHERE JSON_VALUE(json_payload.server) = "test" GROUP BY fieldA;
É possível modificar a consulta para remover entradas de registro duplicadas, em que o nome do registro, o carimbo de data/hora e o ID de inserção são examinados para determinar se uma entrada de registro é duplicada:
WITH deduplicated AS ( SELECT JSON_VALUE(json_payload.fieldA) AS fieldA IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0) AS fieldB FROM `TABLE_NAME_OF_LOG_VIEW` a WHERE JSON_VALUE(json_payload.server) = "test" QUALIFY ROW_NUMBER() OVER (PARTITION BY a.log_name, a.timestamp, a.insert_id ) = 1 ) SELECT fieldA, SUM(fieldB) AS sum_fieldB FROM deduplicated GROUP BY fieldA;