Soluciona problemas de configuración de Observability Analytics

En este documento, se muestra cómo resolver errores que pueden ocurrir cuando se usa la página Estadísticas de observabilidad de la Google Cloud consola de.

Mensajes de error

En esta sección, se describen los mensajes de error que puedes ver y cómo resolver las condiciones de error correspondientes.

Mensaje de error No completion signal within allotted timeframe

Ingresas una consulta en SQL y seleccionas Ejecutar consulta. La consulta no se completa y ves el siguiente mensaje de error:

The query failed to execute and return results due to error: No completion signal within allotted timeframe.

Para resolver este error, haz una de las siguientes acciones:

  • Acorta el intervalo durante el cual se consultan los registros y, luego, vuelve a intentar la consulta. Por ejemplo, si un intervalo de consulta es de 14 días, acórtalo a 7 días y, luego, ejecuta la consulta.

  • Crea un conjunto de datos vinculado a BigQuery y, luego, ejecuta la consulta desde la interfaz de BigQuery. La interfaz de BigQuery admite consultas que requieren un tiempo de ejecución más largo que la interfaz de Cloud Logging. Para obtener más información, consulta Consulta un conjunto de datos vinculado a BigQuery.

Mensaje de error de consultas en buckets con claves CMEK distintas

Ingresas una consulta en SQL que consulta varios buckets de registros y seleccionas Ejecutar consulta. La consulta no se completa y ves el siguiente mensaje de error:

Queries against buckets with distinct CMEK keys must have a key configured in the LogSettings.

Para resolver esta situación, haz una de las siguientes acciones:

  • Configura tus buckets de registros para que usen la misma clave de Cloud Key Management Service (Cloud KMS).
  • Cuando los buckets de registros están en la misma ubicación, puedes configurar una carpeta o una organización que sea un recurso superior para los buckets de registros con una clave predeterminada de Cloud KMS. La clave predeterminada del elemento superior debe estar en la misma ubicación que los buckets de registros. Con esta configuración, la clave predeterminada del elemento superior encripta cualquier dato temporal generado por la consulta de Estadísticas de observabilidad. Para obtener más información, consulta Restricciones de Estadísticas de observabilidad.

Mensaje de error La cláusula FROM debe contener exactamente una vista

Ingresas una consulta en SQL en el panel de consultas de la página Estadísticas de observabilidad en la Google Cloud consola, pero el analizador de SQL muestra el siguiente error:

FROM clause must contain exactly one log view

El error anterior se informa cuando la tabla especificada en la instrucción FROM no se puede resolver en una vista de registro específica.

Para resolver este error, asegúrate de que el nombre de la tabla tenga la sintaxis adecuada:

  • Asegúrate de que el nombre de la tabla siga la sintaxis requerida por el esquema de nombres de Estadísticas de observabilidad. BigQuery y Estadísticas de observabilidad tienen requisitos diferentes para el nombre de la tabla. Para encontrar la sintaxis requerida para el nombre de la tabla, consulta la consulta predeterminada.

  • Si el Google Cloud ID del proyecto, la región, el ID de bucket o el ID de la vista de un bucket de registros contienen caracteres de punto, (.), asegúrate de que cada uno de estos campos esté entre comillas invertidas simples, (`).

    Por ejemplo, si un Google Cloud ID del proyecto es example.com:bluebird, para consultar la vista _AllLogs del bucket de registros _Default, usa la siguiente sintaxis para especificar la tabla:

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

    La consulta anterior supone que el bucket _Default está en la región global.

No se puede guardar una consulta

Quieres guardar tu consulta actual, por lo que la ejecutas y, luego, haces clic en Guardar , pero la opción Guardar consulta está inhabilitada o no puedes completar los pasos del diálogo.

La causa de esta falla es un conflicto entre una política de la organización y la configuración de recursos predeterminada para Cloud Logging. En el caso de una organización o carpeta, puedes configurar parámetros de configuración de recursos predeterminados para Cloud Logging que especifiquen una ubicación. Esta ubicación es donde se almacenan tus consultas guardadas. Sin embargo, si la ubicación entra en conflicto con una política de la organización, no se podrán guardar tus consultas.

Para resolver esta falla, pídele al administrador de tu organización que actualice la configuración de recursos predeterminada para Cloud Logging de modo que la política de la organización permita el parámetro de configuración de ubicación. Para obtener más información, consulta Configura la configuración de recursos predeterminada para Cloud Logging.

Si la opción Guardar consulta está habilitada, pero no puedes completar el diálogo y guardar la consulta, haz lo siguiente:

  1. Asegúrate de que la consulta no contenga errores de sintaxis. Solo puedes guardar consultas válidas.
  2. Opcional: Copia la consulta en el portapapeles.
  3. Vuelve a cargar la página.
  4. Si copiaste la consulta en el portapapeles, pégala en el panel Consulta , ejecuta la consulta y, luego, realiza la operación de guardado.

No se puede crear una vista de estadísticas

Quieres crear una vista de estadísticas, por lo que ingresas y ejecutas una consulta en SQL y, luego, haces clic en Guardar pero la opción Guardar como vista de estadísticas está inhabilitada.

Para resolver esta situación, asegúrate de que tus roles de IAM incluyan los siguientes permisos:

  • observability.analyticsViews.{get, list, create, update, delete}

Estos permisos no están incluidos en ningún rol predefinido de Cloud Logging. Para obtener información sobre los roles necesarios, consulta Crea y consulta vistas de estadísticas: Antes de comenzar.

No se puede consultar una vista de estadísticas

Quieres consultar la vista de análisis, pero el panel Vistas de la página Análisis de observabilidad no muestra ninguna vista de análisis.

Para resolver esta falla, prueba lo siguiente:

  • Asegúrate de que tus roles de IAM incluyan los siguientes permisos:

    • observability.analyticsViews.{get, list}

    Estos permisos no están incluidos en ningún rol predefinido de Cloud Logging. Para obtener información sobre los roles necesarios, consulta Crea y consulta vistas de estadísticas: Antes de comenzar.

  • Asegúrate de que existan vistas de estadísticas en tu Google Cloud proyecto.

Acceso denegado a la página Estadísticas de observabilidad

Abres la página Estadísticas de observabilidad en la Google Cloud consola y se muestra un mensaje de error de acceso denegado.

Para obtener los permisos que necesitas para cargar la página Observability Analytics, ejecutar consultas y ver registros, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

También puedes obtener los permisos necesarios a través de roles personalizados o roles predefinidos de Logging.

Los permisos que necesitas para ver entradas de registro y ejecutar consultas en la página Estadísticas de observabilidad son los mismos que necesitas para ver registros en la página Explorador de registros. Para obtener información sobre los roles adicionales que necesitas para consultar vistas en buckets definidos por el usuario o para consultar la vista _AllLogs del bucket de registros _Default, consulta Roles de Cloud Logging.

Falla la actualización del bucket de registros para usar Estadísticas de observabilidad

Creas un bucket de registros y seleccionas la opción para usar Estadísticas de observabilidad, o bien actualizas un bucket de registros existente para usar Estadísticas de observabilidad. La actualización falla con una condición de error similar a la siguiente:

Failed precondition (HTTP 400): Constraint "my-constraint" violated for PROJECT_ID  with location global.

El mensaje de error anterior indica que tu organización configuró una política de la organización que restringe las regiones que se pueden usar. Los buckets de registros aptos para actualizarse para usar Estadísticas de observabilidad deben usar la región global. Si puedes quitar la política de la organización que restringe el uso de la región global, puedes actualizar tu bucket de registros. De lo contrario, no podrás actualizar tus buckets de registros.

Falla la creación de un conjunto de datos vinculado a BigQuery

Editas un bucket de registros para crear un conjunto de datos vinculado a BigQuery o creas un bucket de registros nuevo y seleccionas la opción para crear un conjunto de datos vinculado; sin embargo, no se crea el conjunto de datos vinculado.

Para resolver este error, pídele al administrador del sistema del Google Cloud proyecto que te otorgue un rol de IAM que incluya el siguiente permiso:

  • logging.links.create

El permiso anterior se incluye en los roles de Administrador de Logging (roles/logging.admin) y Escritor de configuración de registros (roles/logging.configWriter).

Para obtener información sobre los roles y los permisos, consulta Control de acceso con IAM.

Falla la eliminación de un conjunto de datos vinculado a BigQuery

Ya no quieres el conjunto de datos vinculado, pero la opción para borrar ese conjunto de datos está inhabilitada.

Para resolver este error, pídele al administrador del sistema del Google Cloud proyecto que te otorgue un rol de IAM que incluya el siguiente permiso:

  • logging.links.delete

El permiso anterior se incluye en los roles de Administrador de Logging (roles/logging.admin) y Escritor de configuración de registros (roles/logging.configWriter).

Este permiso te permite borrar el conjunto de datos vinculado de la página Almacenamiento de registros de la Google Cloud consola. Para obtener más información sobre los roles y los permisos, consulta Control de acceso con IAM.

Estadísticas de observabilidad muestra una advertencia sobre metadatos sensibles

La página Estadísticas de observabilidad muestra un mensaje similar al siguiente:

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

El mensaje de advertencia indica que la consulta cruza los límites de propiedad y te brinda la oportunidad de verificar la consulta antes de que se ejecute. Los límites de propiedad se determinan según varios factores, uno de los cuales es la jerarquía de los recursos que usa la consulta.

No puedes evitar estos tipos de advertencias.

Si la página Estadísticas de observabilidad muestra un diálogo de advertencia, puedes hacer lo siguiente:

  • Si sabes que la consulta es segura para ejecutarse y quieres ver los resultados de la consulta, haz clic en Confirmar y ejecutar.

  • Analiza la consulta y, si es necesario, descártala. Por ejemplo, puedes hacer lo siguiente:

    1. Inspecciona la consulta. En tu inspección, considera qué datos se consultan, el tamaño potencial del conjunto de datos consultado y el motor de consultas. Las consultas que se ejecutan en el servicio de BigQuery pueden generar cargos.
    2. Si te enviaron un vínculo a la página Estadísticas de observabilidad, verifica que el remitente sea una fuente confiable.

Google Cloud proporciona algunas funciones que pueden ayudar a evitar el robo de datos a través de phishing, ataques internos o entidades externas. Para obtener más información, consulta Seguridad de los datos con Estadísticas de observabilidad.

No se puede configurar el motor de consultas en BigQuery

El menú Configuración tiene inhabilitada la opción BigQuery.

Para habilitar esta opción, asegúrate de tener un conjunto de datos vinculado a BigQuery en el bucket de registros que se consulta.

El botón Ejecutar en BigQuery está inhabilitado

Si se muestra el botón Ejecutar en BigQuery , pero está inhabilitado, significa que una vista de registro a la que hace referencia tu consulta no tiene un conjunto de datos vinculado. Para ejecutar tu consulta en el motor de BigQuery, crea un conjunto de datos vinculado a BigQuery en tu bucket de registros.

No hay una cuenta de servicio de Monitoring

Quieres crear una política de alertas para supervisar los resultados de una consulta en SQL. Los pasos de configuración requerían que otorgaras roles de IAM a la cuenta de servicio de Monitoring, pero esa cuenta no existe.

La cuenta de servicio de Monitoring se denomina agente de servicio, ya que la crea y administra Google Cloud. La cuenta se crea automáticamente cuando configuras un recurso o servicio que la requiere. Por ejemplo, si creas un canal de notificaciones de Pub/Sub, esa acción podría hacer que se cree la cuenta de servicio de Monitoring.

Para crear la cuenta de servicio de supervisión y otorgarle los permisos necesarios para las políticas de alertas basadas en SQL, haz lo siguiente:

  1. Crea la cuenta de servicio de Monitoring. Para obtener más información, consulta Crea y otorga roles a los agentes de servicio.

  2. Otorga los siguientes roles a la cuenta de servicio de Monitoring:

Error de permiso denegado de la cuenta de servicio de Monitoring

Quieres crear una política de alertas para supervisar los resultados de una consulta en SQL. Sin embargo, ves un error PermissionDenied con un mensaje que comienza con Error authenticating service account.

Para resolver esta falla, otorga los siguientes roles a la cuenta de servicio de Monitoring:

Hay entradas de registro duplicadas en mis resultados de Estadísticas de observabilidad

Ejecutas una consulta que cuenta o informa entradas duplicadas. Debido a que el Explorador de registros quita las entradas duplicadas según el nombre del registro, la marca de tiempo y el ID de inserción, esperas que Estadísticas de observabilidad anule la duplicación de las entradas de registro antes de que se ejecute una consulta.

Estadísticas de observabilidad no realiza el mismo tipo de anulación de duplicación que realiza el Explorador de registros.

Para resolver las entradas de registro duplicadas, prueba lo siguiente:

  1. Determina si las entradas de registro duplicadas tienen valores de marca de tiempo de recepción diferentes. Cuando las marcas de tiempo difieren, eso indica que los mismos datos se escribieron en Logging varias veces.

    Para resolver las escrituras duplicadas, investiga tu integración de Logging en busca de mensajes de error o configuraciones incorrectas.

  2. Si tu bucket está configurado para usar claves de Cloud Key Management Service, asegúrate de que estés dentro de la cuota y de que tu clave sea accesible de forma coherente. Si superas la cuota o pierdes el acceso a la clave, se pueden generar entradas de registro duplicadas.

    Para resolver estas fallas, asegúrate de no exceder tu cuota y de que tu clave sea accesible.

  3. Modifica tu consulta para quitar las entradas de registro duplicadas.

    Por ejemplo, supongamos que la carga útil de JSON contiene fieldA y fieldB, la primera es una cadena y la segunda es numérica. Además, supongamos que la carga útil de JSON contiene un campo etiquetado como server, que contiene una cadena. A continuación, considera la siguiente 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;
    

    Puedes modificar la consulta para quitar las entradas de registro duplicadas, en las que se examinan el nombre del registro, la marca de tiempo y el ID de inserción para determinar si una entrada de registro es un duplicado:

    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;