Resolver problemas de configuração da Análise de dados de registros

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 essa situação, 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 conta principal 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 em 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 Cloud

    Por 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ão global.

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.

A causa dessa falha é um conflito entre uma política da organização e as configurações de recursos padrão do Cloud Logging. Para uma organização ou pasta, é possível configurar as configurações de recursos padrão do Cloud Logging que especificam um local. É onde suas consultas salvas são armazenadas. No entanto, se o local entrar em conflito com uma política da organização, suas consultas não poderão ser salvas.

Para resolver essa falha, peça ao administrador da sua organização para atualizar as configurações de recursos padrão do Cloud Logging para que a configuração de local seja permitida pela política da organização. Para mais informações, consulte Configurar as definições de recursos padrão para o Cloud Logging.

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:

  1. Verifique se a consulta não contém erros de sintaxe. Só é possível salvar consultas válidas.
  2. Opcional: copie a consulta para a área de transferência.
  3. Atualize a página.
  4. 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 dados de registros

Você abre a página Análise de dados de registros no console do Google Cloud e uma mensagem de erro de permissão negada é exibida.

Para ter 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:

Também é possível receber as permissões necessárias com papéis personalizados ou papéis 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 na atualização 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:

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 na 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 IAM.

O Log Analytics mostra um aviso sobre metadados sensíveis

A página Log Analytics mostra uma mensagem semelhante a esta:

This SQL query is configured to run on the BigQuery engine using [PROJECT_ID],
and references resources from [RESOURCE, ...]. Sensitive metadata,
including table contents, may be written to [PROJECT_ID].

A mensagem de aviso indica que a consulta cruza limites de propriedade e oferece a oportunidade de verificar a consulta antes da execução. Os limites de propriedade são determinados por vários fatores, um deles é a hierarquia dos recursos usados pela consulta.

Não é possível evitar esses tipos de avisos.

Se a página Análise de dados de registros mostrar uma caixa de diálogo de aviso, faça o seguinte:

  • Se você sabe que a consulta é segura e quer ver os resultados, clique em Confirmar e executar.

  • Analise a consulta e, se necessário, descarte-a. Por exemplo, você pode fazer o seguinte:

    1. Inspecione a consulta. Na inspeção, considere quais dados são consultados, o tamanho potencial do conjunto de dados consultado e o mecanismo de consulta. As consultas executadas no serviço do BigQuery podem gerar cobranças.
    2. Se você recebeu um link para a página Log Analytics, verifique se o remetente é uma fonte confiável.

Google Cloud oferece alguns recursos que ajudam a evitar a exfiltração de dados por phishing, ataques internos ou entidades externas. Para saber mais, consulte Segurança de dados com a Análise de dados de registros.

Não é possível definir o mecanismo de consulta como BigQuery

O menu Configurações tem a opção BigQuery desativada.

Para ativar essa opção, faça o seguinte:

  1. Ative a API BigQuery Reservations.
  2. Configure slots reservados do BigQuery para seu projeto.
  3. Verifique se você tem um conjunto de dados vinculado do BigQuery no bucket de registros consultado.

O botão "Executar no BigQuery" está desativado

Se o botão Executar no BigQuery estiver desativado, uma visualização de registros referenciada pela consulta não terá um conjunto de dados vinculado. Para executar a consulta nas suas reservas de slots do BigQuery, crie um conjunto de dados vinculado do BigQuery no bucket 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á fazer com que a conta de serviço do Monitoring seja criada.

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:

  1. Crie a conta de serviço do Monitoring. Para mais informações, consulte Criar e conceder papéis a agentes de serviço.

  2. Conceda os seguintes papéis à conta 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:

Há entradas de registro duplicadas nos meus resultados da Análise de registros

Você executa uma consulta que conta ou informa entradas duplicadas. Como o Explorador de registros remove entradas duplicadas com base no nome do registro, no carimbo de data/hora e no ID de inserção, espera-se 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:

  1. 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.

  2. 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.

  3. Modifique a consulta para remover entradas de registro duplicadas.

    Por exemplo, suponha que o payload JSON contenha fieldA e fieldB. O primeiro é uma string e o segundo é numérico. Além disso, suponha que o payload JSON contenha um campo chamado server, 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
      `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
        `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;