Resolver problemas de configuração do Observability Analytics

Neste documento, mostramos como resolver erros que podem ocorrer ao usar a página Análise de observabilidade do Google Cloud console.

Mensagens de erro

Esta seção descreve 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

Você insere uma consulta SQL e seleciona Executar consulta. A consulta não é concluída e você recebe 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 destas ações:

  • Reduza o intervalo em que os registros são consultados e tente novamente. Por exemplo, se um intervalo de consulta for de 14 dias, reduza-o 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 oferece suporte a 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 "Queries against buckets with distinct CMEK keys"

Você insere uma consulta SQL que consulta vários buckets de registro e seleciona Executar consulta. A consulta não é concluída e você recebe 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 destas ações:

  • Configure seus buckets de registro para usar a mesma chave do Cloud Key Management Service (Cloud KMS).
  • Quando os buckets de registro estão no mesmo local, é possível configurar uma pasta ou organização que seja um recurso pai para os buckets de registro com uma chave padrão do Cloud KMS. A chave padrão do pai precisa estar no mesmo local que os buckets de registro. Com essa configuração, a chave padrão do pai criptografa todos os dados temporários gerados pela consulta da Análise de observabilidade. Para mais informações, consulte Restrições da Análise de observabilidade.

Mensagem de erro "FROM clause must contain exactly one view"

Você insere uma consulta SQL no painel de consultas da página Análise de observabilidade no Google Cloud console, 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 registro específica.

Para resolver esse erro, verifique se o nome da tabela tem a sintaxe adequada:

  • Verifique se o nome da tabela segue a sintaxe exigida pelo esquema de nomenclatura da Análise de observabilidade. O BigQuery e a Análise de observabilidade 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 Google Cloud ID do projeto, a região, o ID do bucket ou o ID da visualização de um bucket de registros contiver caracteres de período, (.), verifique se cada um desses campos está entre aspas simples invertidas, (`).

    Por exemplo, se um Google Cloud ID do projeto for example.com:bluebird, para consultar a visualização _AllLogs do bucket de registros _Default, use a seguinte sintaxe para especificar a tabela:

    
    SELECT *
    FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`
    

    A consulta anterior pressupõe que o bucket _Default esteja na região global.

Não é possível salvar uma consulta

Você quer salvar sua consulta atual. Para isso, execute a consulta e então clique 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. Esse local é onde as consultas salvas são armazenadas. No entanto, se o local entrar em conflito com uma política da organização, as 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 configurações de recursos padrão do Cloud Logging.

Se a opção Salvar consulta estiver ativada, mas não for possível 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 faça a operação de salvamento.

Não é possível criar uma visualização de análise

Você quer criar uma visualização de análise. Para isso, você 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 visualização de análise

Você quer consultar a visualização de análise, mas o painel Visualizações na página Análise de observabilidade não mostra nenhuma visualização de análise.

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 visualizações de análise existem no seu Google Cloud projeto.

Acesso negado à página Análise de observabilidade

Você abre a página Análise de observabilidade no Google Cloud console 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 observabilidade, 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 conseguir as permissões necessárias com papéis personalizados ou Logging papéis predefinidos.

As permissões necessárias para visualizar entradas de registro e executar consultas na página Análise de observabilidade são as mesmas necessárias para visualizar registros na página Análise 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 observabilidade

Você cria um bucket de registros e seleciona a opção de usar a Análise de observabilidade ou faz upgrade de um bucket de registros atual para usar a Análise de observabilidade. O upgrade 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 registro qualificados para upgrade para usar a Análise de observabilidade precisam usar a região global. Se você puder remover a política organizacional que restringe o uso da região global, poderá fazer upgrade do bucket de registros. Caso contrário, não será possível fazer upgrade dos buckets de registro.

Falha na criação de um conjunto de dados vinculado do BigQuery

Você edita um bucket de registros para criar um conjunto de dados vinculado do BigQuery ou cria um novo bucket de registros e seleciona a opção de criar um conjunto de dados vinculado do BigQuery. No entanto, o conjunto de dados vinculado do BigQuery não é criado.

Para resolver esse erro, peça ao administrador do sistema do Google Cloud projeto 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 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.

Falha na exclusão de um conjunto de dados vinculado do BigQuery

Você não quer mais o conjunto de dados vinculado do BigQuery, mas a opção de excluir esse conjunto de dados está desativada.

Para resolver esse erro, peça ao administrador do sistema do Google Cloud projeto 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 Administrador do Logging (roles/logging.admin) e Gravador de configuração de registros (roles/logging.configWriter).

Essa permissão permite excluir o conjunto de dados vinculado do BigQuery em a página Armazenamento de registros do Google Cloud console. Para mais informações sobre papéis e permissões, consulte Controle de acesso com o IAM.

A Análise de observabilidade mostra um aviso sobre metadados sensíveis

A página Análise de observabilidade 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 os 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 dos quais é a hierarquia dos recursos usados pela consulta.

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

Se a página Análise de observabilidade mostrar uma caixa de diálogo de aviso, você poderá fazer o seguinte:

  • Se você souber que a consulta é segura para execução e quiser conferir 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 resultar em cobranças.
    2. Se você recebeu um link para a página Análise de observabilidade, verifique se o remetente é uma fonte confiável.

Google Cloud oferece alguns recursos que podem ajudar 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 observabilidade.

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

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

Para ativar essa opção, verifique se você tem um conjunto de dados vinculado do BigQuery no bucket de registros que é consultado.

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

Se o botão Executar no BigQuery for exibido, mas estiver desativado, uma visualização de registro referenciada pela consulta não terá um conjunto de dados vinculado do BigQuery. Para executar a consulta no mecanismo do BigQuery, crie um conjunto de dados vinculado do BigQuery no seu 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. A conta é criada automaticamente quando você configura um recurso ou serviço que exige a conta. 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ê recebe 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 observabilidade

Você executa uma consulta que está contando ou informando 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 observabilidade elimine as entradas de registro duplicadas antes da execução de uma consulta.

A Análise de observabilidade não realiza o mesmo tipo de eliminação de duplicação que é realizada pela Análise 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. Ultrapassar a cota ou perder o acesso à chave pode resultar em entradas de registro duplicadas.

    Para resolver essas falhas, verifique se você não excedeu a cota e se a 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;