En este documento, se muestra cómo resolver errores que pueden ocurrir cuando usas la página Log Analytics de la consola de Google Cloud.
Mensajes de error
En esta sección, se describen los mensajes de error que puedes ver y cómo resolver las correspondientes condiciones de error.
Mensaje de error No completion signal within allotted timeframe
Ingresa una consulta en SQL y selecciona Ejecutar consulta. La consulta no se completa y verás 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, realiza 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, acorta el intervalo a 7 días y, luego, ejecuta la consulta.
Crea un conjunto de datos de BigQuery vinculado 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 Cómo consultar un conjunto de datos vinculado de BigQuery.
Mensaje de error de consultas a 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 verás 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, realiza 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 registro se encuentran en la misma ubicación, puedes configurar una carpeta o una organización que sea un recurso superior para los buckets de registro con una clave predeterminada de Cloud KMS. La clave predeterminada del elemento superior debe estar en la misma ubicación que los buckets de registro. Con esta configuración, la clave predeterminada del elemento superior encripta los datos temporales que genera la consulta de Log Analytics. Para obtener más información, consulta Restricciones de Log Analytics.
La cláusula FROM debe contener exactamente un mensaje de error de vista
Ingresas una consulta en SQL en el panel de consultas de la página Análisis de registros en la consola de Google Cloud, 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 sentencia 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 correcta:
Asegúrate de que el nombre de la tabla siga la sintaxis que requiere el esquema de nombres de Log Analytics. BigQuery y Log Analytics tienen requisitos diferentes para el nombre de la tabla. Puedes encontrar la sintaxis requerida para el nombre de la tabla si consultas la consulta predeterminada.
Si el ID del proyecto, la región, el ID de bucket o el ID de la vista de un bucket de registros de Google Cloud contiene caracteres de punto,
(.)
, asegúrate de que cada uno de estos campos esté encerrado entre comillas simples,(`)
.Por ejemplo, si el ID de un proyecto de Google Cloud 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`
En la consulta anterior, se supone que el bucket
_Default
se encuentra en la regiónglobal
.
No se puede guardar una búsqueda
Si ingresas y ejecutas una consulta en SQL, y la opción Guardar de Establece la configuración predeterminada para las organizaciones y carpetas.
está inhabilitada, la configuración de recursos predeterminada de tu organización o carpeta define una ubicación que no está permitida por la política de la organización. Para resolver este problema, pídele al administrador de tu organización que defina una ubicación en la configuración predeterminada de los recursos que coincida con una ubicación permitida por la política de tu organización. Para obtener más información, consultaSi el botón Guardar de
está habilitado, pero no puedes completar el diálogo ni guardar la consulta, haz lo siguiente:- Asegúrate de que la consulta no contenga errores de sintaxis. Solo puedes guardar consultas válidas.
- Opcional: Copia la consulta en el portapapeles.
- Vuelve a cargar la página.
- Si copiaste la consulta en el portapapeles, pégala en el panel Consulta, ejecútala y, luego, realiza la operación de guardado.
Se denegó el acceso a la página Log Analytics
Abres la página Log Analytics en la consola de Google Cloud y se muestra un mensaje de error de permiso denegado.
Para obtener los permisos que necesitas para cargar la página Log Analytics, ejecutar consultas y ver registros, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Ver registros: Visualizador de registros (
roles/logging.viewer
) -
Para ver los registros en buckets de registros personalizados, usa el Descriptor de acceso de vista de registros (
roles/logging.viewAccessor
).
También puedes obtener los permisos necesarios a través de roles personalizados o los roles predefinidos de registro.
Los permisos que necesitas para ver las entradas de registro y ejecutar consultas en la página Estadísticas de registros son los mismos que necesitas para ver los 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.
La actualización del bucket de registros para usar el Análisis de registros falla
Creas un bucket de registros y seleccionas la opción para usar el Análisis de registros, o bien actualizas un bucket de registros existente para usar el Análisis de registros. 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 que son aptos para actualizarse y usar el Análisis de registros 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.
No se puede crear un conjunto de datos vinculado a BigQuery
Editas un bucket de registros para crear un conjunto de datos de BigQuery vinculado 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 proyecto de Google Cloud 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.
No se puede borrar un conjunto de datos vinculado de BigQuery
Ya no quieres usar el conjunto de datos vinculado, pero la opción para borrarlo está inhabilitada.
Para resolver este error, pídele al administrador del sistema del proyecto de Google Cloud 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 Logs Storage de la consola de Google Cloud. Para obtener más información sobre las funciones y los permisos, consulta Control de acceso con IAM.
Falta el botón de configuración del motor de consulta
Si no se muestra el botón settings Configuración junto al botón Ejecutar consulta, significa que tu proyecto de Google Cloud no tiene habilitados los espacios reservados de BigQuery. Para habilitar el botón settings Configuración, configura los segmentos reservados de BigQuery para tu proyecto.
El botón Ejecutar en BigQuery está inhabilitado
Si el botón Run on BigQuery se muestra, 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 tus reservas de ranura de BigQuery, crea un conjunto de datos de BigQuery vinculado en tu vista de registro.
Sin cuenta de servicio de supervisión
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 supervisión se denomina agente de servicio, ya que Google Cloud la crea y administra. 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.
Según el flujo de creación, es posible que a la cuenta de servicio de supervisión se le otorgue
el rol de
Agente de servicio de supervisión (monitoring.NotificationServiceAgent
)
en tu proyecto. Puedes modificar los roles otorgados a la cuenta.
Si la cuenta de servicio de supervisión no existe, para crear una política de alertas que supervise el resultado de una consulta en SQL, debes hacer lo siguiente:
Crea un agente de servicio de forma manual. Para obtener información sobre este paso, consulta Crea y otorga roles a los agentes de servicio.
Otorga los roles necesarios al agente de servicio: Para obtener información sobre estos roles, consulta Supervisa los resultados de tus consulta en SQL: Antes de comenzar.
Hay entradas de registro duplicadas en mis resultados de Log Analytics
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 Log Analytics quite los duplicados de las entradas de registro antes de que se ejecute una consulta.
Las estadísticas de registros no realizan 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:
Determina si las entradas de registro duplicadas tienen diferentes valores de marca de tiempo de recepción. Cuando las marcas de tiempo difieren, eso indica que los mismos datos se escribieron en el registro varias veces.
Para resolver las operaciones de escritura duplicadas, investiga tu integración de registro en busca de mensajes de error o parámetros de configuración incorrectos.
Si tu bucket está configurado para usar claves de Cloud Key Management Service, asegúrate de que no superes la cuota y de que se pueda acceder a tu clave de forma coherente. Si superas la cuota o pierdes el acceso a las claves, es posible que se generen entradas de registro duplicadas.
Para resolver estas fallas, asegúrate de no exceder tu cuota y de que se pueda acceder a tu clave.
Modifica tu consulta para quitar las entradas de registro duplicadas.
Por ejemplo, supongamos que la carga útil de JSON contiene
fieldA
yfieldB
, la primera es una cadena y la segunda es numérica. Además, supongamos que la carga útil de JSON contiene un campo etiquetado comoserver
, 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 `TABLE_NAME_OF_LOG_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 `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;