En este documento, se explican problemas comunes de enrutamiento y almacenamiento y cómo usar el la consola de Google Cloud para ver y solucionar errores de configuración. resultados inesperados.
Para obtener información general sobre el uso de registros en los destinos de tu receptor, consulta Visualiza registros en destinos de receptores.
Solucionar problemas de registros de enrutamiento
En esta sección, se describe cómo solucionar problemas habituales relacionados con el enrutamiento de tus registros.
El destino contiene registros no deseados
Estás viendo los registros enrutados a un destino y determinas que el destino contiene registros no deseados.
Para resolver esta condición, actualiza el filtros de exclusión para tu que enrutan los registros hacia el destino. Los filtros de exclusión te permiten excluir que los registros seleccionados se enruten a un destino.
Por ejemplo, supongamos que creas un receptor agregado para enrutar los registros de una organización a un destino. Para excluir los registros de una instancia proyecto se enrute al destino, agrega el siguiente filtro de exclusión al receptor:
logName:projects/PROJECT_ID
También puedes excluir registros de varios proyectos con el operador logical-OR
para unir cláusulas logName
.
Faltan registros en el destino
Quizás el problema más común relacionado con el receptor es que parece que faltan registros en un destino de receptor.
En algunos casos, no se genera un error, pero puedes notar que los registros disponible cuando intentas acceder a ellos en tu destino. Si sospechas que que tu receptor no enruta correctamente los registros, revisa el sistema métricas:
exports/byte_count
: Cantidad de bytes en entradas de registro que se enrutaron.exports/log_entry_count
: Cantidad de entradas de registro que se enrutaron.exports/error_count
: Cantidad de entradas de registro que no se pudieron enrutar.
Las métricas tienen etiquetas que registran los recuentos por nombre de receptor y destino y te informarán si el receptor enruta correctamente los datos de registros o con errores. Para obtener detalles sobre cómo ver las métricas, consulta Consulta métricas basadas en registros.
Si las métricas de tu receptor indican que no tiene el rendimiento esperado, estos son algunos motivos posibles y qué hacer al respecto:
Latencia
No se recibieron entradas de registro que coincidan desde que la creaste o actualizaste tu fregadero; solo se enrutan entradas de registro nuevas.
Espera una hora y vuelve a consultar tu destino.
Las entradas de registro coincidentes llegan tarde.
Puede haber una demora antes de poder ver tus registros en el destino. Los registros tardíos son especialmente común para receptores que configuran Cloud Storage buckets como sus destinos. Espera unas horas y revisa tu destino nuevamente.
El alcance o el filtro de visualización son incorrectos
El permiso que usas para ver los registros en el bucket de Logging destinos es incorrecto.
Define el alcance de tu búsqueda para una o más vistas de almacenamiento de la siguiente manera:
Si usas el Explorador de registros, utiliza el Define mejor el permiso .
Si usas gcloud CLI, utiliza la Comando
gcloud logging read
y agrega una marca--view=AllLogs
.
El intervalo de tiempo que utilizas para seleccionar y visualizar datos en el destino del receptor es demasiado angosta.
Intenta ampliar el intervalo de tiempo que usas al seleccionar datos en el destino de tu receptor.
Error en el filtro del receptor
El filtro del receptor es incorrecto y no captura los registros que esperabas. en tu destino.
- Edita el filtro de tu receptor con el enrutador de registros en la consola de Google Cloud. Para verificar que ingresaste el filtro correcto, Selecciona Obtener vista previa de los registros en el panel Editar receptor. Esto abrirá el Explorador de registros en una pestaña nueva con el filtro prepropagado. Para obtener instrucciones sobre cómo ver y administrar tus receptores, consulta Administra los receptores.
Ver errores
Para cada uno de los destinos de receptores compatibles, el registro proporciona mensajes de error para los receptores configurados de forma incorrecta.
Existen varias formas de ver estos errores relacionados con el receptor: estos métodos son que se describe en las siguientes secciones:
- Consulta los registros de errores generados para el receptor.
- Recibe notificaciones de errores del receptor por correo electrónico.
Registros de errores
El método recomendado para inspeccionar en detalle los errores relacionados con el receptor es ver las entradas de registro de errores que generó el receptor. Para obtener detalles sobre la visualización de registros, consulta Visualiza los registros con el Explorador de registros.
Puedes usar la siguiente consulta en el panel de editor de consultas en la Explorador de registros para revisar los registros de errores de tu receptor. La misma consulta funciona en la API de Logging y gcloud CLI.
Antes de copiar la consulta, reemplaza la variable SINK_NAME por nombre del receptor con el que intentas solucionar problemas. Puedes encontrar el nombre del receptor en la página Enrutador de registros en la consola de Google Cloud.
logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"
Por ejemplo, si el nombre de tu receptor es my-sink-123
, entonces la entrada de registro podría verse
similar al siguiente:
{
errorGroups: [
0: {
id: "COXu96aNws6BiQE"
}]
insertId: "170up6jan"
labels: {
activity_type_name: "LoggingSinkConfigErrorV2"
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
error_code: "topic_not_found"
error_detail: ""
sink_id: "my-sink-123"
}
logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
resource: {
labels: {
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
name: "my-sink-123"
project_id: "my-project"
}
type: "logging_sink"
}
severity: "ERROR"
textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
timestamp: "2024-07-11T14:41:41.296157014Z"
}
El campo labels
de LogEntry y su información de par clave-valor anidada
te ayuda a dirigirte a la fuente del error de tu receptor; contiene las imágenes
recurso, receptor afectado y código de error. El campo labels.error_code
contiene
una descripción breve del error para que sepas qué componente
se debe reconfigurar el receptor.
Para solucionar este error, haz lo siguiente: editar tu receptor. Por ejemplo, puedes editar tu receptor con la página Enrutador de registros:
Notificaciones por correo electrónico
Si te suscribiste a un proyecto de Google Cloud o a su recurso superior como
Contacto técnico esencial,
recibirás notificaciones por correo electrónico
sobre un error de configuración del receptor. Si no hay ningún
Contacto esencial técnico configurado para un recurso, los usuarios que aparecen como
Propietario del proyecto roles/owner
de IAM para el recurso reciben la
notificación por correo electrónico.
El mensaje de correo electrónico contiene la siguiente información:
- ID del recurso: Es el nombre del proyecto de Google Cloud o alguna otra Recurso de Google Cloud en el que se configuró el receptor.
- Nombre del receptor: Es el nombre del receptor que contiene el error de configuración.
- Destino del receptor: Es la ruta de acceso completa del destino de enrutamiento del receptor. Por ejemplo,
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
- Código de error: Descripción abreviada de la categoría de error. por ejemplo,
topic_not_found
- Detalles del error: Información detallada sobre el error, incluida recomendaciones para solucionar el error subyacente.
Para ver y administrar tus receptores, usa la página Enrutador de registros:
Cualquier error de configuración del receptor que se aplique al recurso aparecerá en la lista como
Cloud Logging sink configuration error
Cada error contiene un vínculo a una de las entradas de registro que genera el receptor defectuoso. Para examinar los errores subyacentes
para obtener más información, consulta la sección Registros de errores.
Tipos de errores de receptor
En las siguientes secciones, se describen categorías amplias de errores relacionados con receptores y cómo solucionarlos.
Destino incorrecto
Si configuras un receptor, pero luego ves un error de configuración que indica que el destino no se pudieron encontrar cuando Logging intentó enrutar los registros, estas son las algunos motivos posibles:
La configuración de tu receptor contiene una falta de ortografía u otro error de formato en el destino del receptor especificado.
Debes actualizar la configuración del receptor para especificar de forma correcta el destino.
Es posible que se haya borrado el destino especificado.
Puedes cambiar la configuración del receptor para usar una cuenta o vuelve a crear el destino con el mismo nombre.
Para resolver estos tipos de fallas, edita tu sink. Por ejemplo, puedes editar tu receptor con la página Enrutador de registros:
Tu receptor comienza a enrutar los registros cuando se encuentra el destino y los registros nuevos que coincidan con tu filtro son recibidos por Logging.
Administrar los problemas de los receptores
Si se inhabilitó un receptor para dejar de almacenar registros en un bucket de registros, pero seguir viendo los registros que se enrutan Luego, espera unos minutos a que se apliquen los cambios en el receptor.
Problemas con los permisos
Cuando un receptor intenta enrutar una entrada de registro, pero carece de la Permisos de IAM para el destino del receptor, el receptor informa un error, que puedes ver, y se omite la entrada de registro.
Cuando creas un receptor, a la cuenta de servicio del receptor se le debe otorgar apropiado permisos de destino. Si creas el sink en la consola de Google Cloud en el mismo proyecto de Google Cloud, la consola de Google Cloud suele asignar estos permisos automáticamente. Sin embargo, si creas el receptor en un proyecto de Google Cloud con gcloud CLI o la API de Logging, debes configurar los permisos manualmente.
Si ves errores relacionados con los permisos de tu receptor, agrega los permisos necesarios o actualiza tu receptor para usar un destino diferente. Para obtener instrucciones sobre cómo actualizar estos permisos, consulta Permisos de destino.
Hay una leve demora entre la creación del receptor y el uso de su cuenta de servicio nueva para autorizar la escritura en el destino. Tu receptor comienza de enrutamiento cuando se corrigen permisos y registros nuevos que coinciden filtro son recibidos por Logging.
Problemas con las políticas de la organización
Si estás intentando enrutar una entrada de registro, pero política de la organización que impide que Logging escriba en el destino del receptor y, luego, el receptor no puede enrutar al destino seleccionado e informa un error.
Si ves errores relacionados con las políticas de la organización, puedes hacer lo siguiente: lo siguiente:
Actualiza la política de la organización del destino para quitar las restricciones bloquear el receptor para que no enrute las entradas de registro; esto supone que tienes los permisos adecuados para actualizar la política de la organización. Para consulta Crea y edita políticas.
Si no puedes actualizar la política de la organización, actualiza tu receptor en Enrutador de registros para usar un destino compatible.
Tu receptor comienza a enrutar los registros cuando la política de la organización ya no bloquea receptor de escritura en el destino, y los nuevos registros que coinciden con tu filtro se recibidos por Logging.
Problemas con la clave de encriptación
Si usas claves de encriptación, ya sea administradas con Cloud Key Management Service o por ti, para encriptas los datos en el destino del receptor, es posible que veas errores relacionados. A continuación, encontrarás algunos problemas posibles y formas de solucionarlos:
La facturación no se está habilitando para el proyecto de Google Cloud que contiene la clave de Cloud KMS.
Incluso si el receptor se creó correctamente con el destino correcto, Aparece este mensaje de error si no hay una cuenta de facturación válida. asociados con el proyecto de Google Cloud que contiene la clave.
Asegúrate de que haya un cuenta de facturación vinculada al proyecto de Google Cloud que contiene la clave. Si una cuenta de facturación no está vinculada a la en un proyecto de Google Cloud, habilita la facturación para ese proyecto o usar una clave de Cloud KMS contenida por un proyecto de Google Cloud que tenga una cuenta de facturación válida vinculada.
No se puede encontrar la clave de Cloud KMS.
No se encuentra el proyecto de Google Cloud que contiene la clave de Cloud KMS configurada para encriptar los datos.
Usa una clave de Cloud KMS válida de un proyecto de Google Cloud.
La ubicación de la clave de Cloud KMS no coincide con la de la destino.
Si el proyecto de Google Cloud que contiene la clave de Cloud KMS se encuentra en una región que difiere de la región del destino, la encriptación falla y el destino no puede enrutar datos a ese destino.
Usa una clave de Cloud KMS que contenga un proyecto de Google Cloud cuya región coincida con el destino del receptor.
Se deniega el acceso a la clave de encriptación a la cuenta de servicio del receptor.
Incluso si el receptor se creó de forma correcta con los permisos de la cuenta de servicio correctos, este mensaje de error se muestra si el destino del receptor usa una clave de encriptación que no le proporciona a la cuenta de servicio los permisos suficientes para encriptar o desencriptar los datos.
Otorga la autorización de Cloud KMS Rol de Encriptador/Desencriptador de CryptoKey para la cuenta de servicio especificada en la carpeta Campo
writerIdentity
para la clave que se usa en el destino. Además, asegúrate de que la API de Cloud KMS esté habilitada.
Problemas de cuotas
Cuando los receptores escriben registros, se aplican cuotas específicas del destino al Proyectos de Google Cloud en los que se crearon los receptores. Si las cuotas son agotado, el receptor deja de enrutar los registros al destino.
Por ejemplo, cuando enrutes datos a BigQuery, es posible que veas un que indica que se superó la cuota de inserción de transmisión por tabla una tabla determinada en tu conjunto de datos. En este caso, es posible que el receptor también esté enrutando muchas entradas de registro demasiado rápido. El mismo concepto se aplica a los demás de receptores, como los temas de Pub/Sub.
Para solucionar los problemas de agotamiento de la cuota, disminuye la cantidad de datos de registro que se enrutan actualizando el filtro de tu receptor para que coincida con menos entradas de registro. Puedes usar la
Función sample
en
tu filtro para seleccionar una fracción de la cantidad total de entradas de registro.
Tu receptor comienza a enrutar los registros a tu destino cuando lo actualizas. para que coincidan con menos entradas de registro o cuando se actualicen tus cuotas.
Para obtener detalles sobre los límites que podrían aplicarse cuando enrutas registros, revisa el la información de la cuota del destino correspondiente:
Además de los tipos de error del receptor generales, aquí están los tipos de errores específicos del destino más comunes y cómo solucionarlos.
Errores de enrutamiento a Cloud Storage
Los siguientes son los errores más comunes cuando se enrutan los registros a Cloud Storage:
Entradas de registro tardías:
Las entradas de registro enrutadas se guardan en depósitos de Cloud Storage en lotes por hora. Es posible que se necesiten entre 2 y 3 horas para que aparezcan las primeras entradas.
Los fragmentos de los archivos de registro enrutados con el sufijo
An
(“Append”) contienen las entradas de registro que llegaron tarde. Si la carpeta de Cloud Storage el destino experimenta una interrupción y, luego, Cloud Logging almacena los datos en búfer hasta que finalice la interrupción.
No se pudieron otorgar los permisos correctos al destino:
Incluso si el receptor se creó correctamente con el los permisos de la cuenta de servicio correctos, este error si el modelo de control de acceso para el El bucket de Cloud Storage se configuró como el acceso uniforme cuando se creó el bucket restante.
Para los buckets de Cloud Storage existentes, puedes cambiar el acceso de control durante los primeros 90 días a partir de la creación del bucket con el Permisos. Para los buckets nuevos, selecciona el acceso Detallado un modelo de control de acceso basado en la nube durante la creación del bucket. Para obtener más información, consulta Crea buckets de Cloud Storage.
Errores en el enrutamiento a BigQuery
Los siguientes son los errores más comunes cuando se enrutan registros a BigQuery:
Esquema de tabla no válido:
Registros transmitidos a la tabla de tu conjunto de datos de BigQuery no coinciden con el esquema de la tabla actual. Los problemas comunes incluyen las entradas de registro de ruta con diferentes tipos de datos, lo que causa el esquema no coincide. Por ejemplo: uno de los campos de la entrada de registro es un número entero, mientras que un valor correspondiente columna del esquema tiene un tipo de cadena.
Asegúrate de que tus entradas de registro coincidan con el esquema de la tabla. Después de corregir la fuente del error, puedes cambiar el nombre de tu tabla actual y dejar que Logging la cree de nuevo.
BigQuery admite la carga datos anidados en sus tablas. Sin embargo, cuando cargues datos desde Logging, la cantidad máxima el límite de profundidad de anidado para una columna es de 13 niveles.
Cuando BigQuery identifica una discrepancia de esquema, crea una tabla dentro del conjunto de datos correspondiente para almacenar la información de error. El tipo de tabla determina su nombre. En el caso de las tablas fragmentadas por fecha, el formato del nombre es
export_errors_YYYYMMDD
. Para las tablas particionadas, el formato de nombres esexport_errors
. Para obtener información sobre el esquema de las tablas de errores y cómo prevenir futuras incompatibilidades de tipo de campo consulta Discrepancias en el esquema.Las entradas de registro están fuera de los límites de tiempo permitidos:
Los registros transmitidos a la tabla particionada de BigQuery están fuera los límites de tiempo permitidos. BigQuery no acepta registros con fechas muy lejanas en el pasado o el futuro.
Puedes actualizar tu receptor para enrutar esos registros a Cloud Storage y usar un trabajo de carga de BigQuery. Consulta la Documentación de BigQuery para obtener más instrucciones.
El conjunto de datos no permite que la cuenta de servicio asociada con el receptor de registros escribirle:
Incluso si el receptor se creó de forma correcta con los permisos de la cuenta de servicio correctos, este mensaje de error se muestra si no hay una cuenta de facturación válida asociada con el proyecto de Google Cloud que contiene el destino del receptor.
Asegúrate de que haya un cuenta de facturación vinculada a tu proyecto de Google Cloud. Si una cuenta de facturación no está vinculada al destino del receptor en un proyecto de Google Cloud, habilita la facturación para ese proyecto o actualizar el destino del receptor para que se ubique en una Proyecto de Google Cloud que tiene vinculada una cuenta de facturación válida.
El conjunto de datos contiene entradas de registro duplicadas:
Pueden ocurrir entradas de registro duplicadas cuando hay fallas en la transmisión de registros a BigQuery, incluso debido a reintentos o configuraciones incorrectas. Cloud Logging anula las entradas de registro con el mismo
timestamp
yinsertId
en el momento de la consulta. BigQuery no elimina las entradas de registro duplicadas.Para ignorar las entradas de registro duplicadas en BigQuery, incluye el siguiente comando:
SELECT DISTINCT
en tu consulta. Por ejemplo:
SELECT DISTINCT insertId, timestamp FROM TABLE_NAME
Enrutamiento de errores a los buckets de Cloud Logging
Es posible que encuentres una situación en la que puedas ver registros en el Explorador de registros. que excluiste con tu receptor. Podrás seguir viendo estos registros si se cumple alguna de las siguientes condiciones:
Ejecutas la consulta en el proyecto de Google Cloud que generó los registros.
Para solucionar este problema, asegúrate de que estás ejecutando tu consulta en el proyecto de Google Cloud.
Los registros excluidos se enviaron a varios depósitos de registros. Verás una copia del mismo registro que deseas excluir.
Para solucionar este problema, revisa tus receptores en la página Enrutador de registros y asegúrate de que no incluyen los registros de las memorias filtros.
Tienes acceso a las vistas del bucket de registros, en las que se enviaron los registros. En este caso, puedes ver esos registros de forma predeterminada.
Para evitar ver estos registros en el Explorador de registros, puedes hacer lo siguiente: definir mejor el alcance de tu búsqueda a tu proyecto o bucket de origen de Google Cloud.
Soluciona problemas de almacenamiento de registros
¿Por qué no puedo borrar este bucket?
Si intentas borrar un bucket, haz lo siguiente:
Asegúrate de tener los permisos correctos para borrar el bucket. Para el la lista de los permisos que necesitas, consulta Control de acceso con la IAM.
Determina si el bucket está bloqueado enumerar los atributos del bucket. Si el bucket está bloqueado, revisa el bucket período de retención. No puedes borrar un bucket bloqueado hasta que todos los registros del bucket cumplieron el período de retención de este.
Verifica que el bucket de registros no tenga un conjunto de datos de BigQuery vinculado. No puedes borrar un bucket de registros con un conjunto de datos vinculado.
El siguiente error se muestra en respuesta a un comando
delete
en un bucket de registros que tiene un conjunto de datos vinculado:FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
Para enumerar los vínculos asociados a un bucket de registros, ejecuta el comando [
gcloud logging links list
][link-list] o ejecutaprojects.locations.buckets.links.list
método de API.
¿Qué cuentas de servicio enrutan registros a mi bucket?
Para determinar si alguna cuenta de servicio tiene permisos de IAM para enrutar registros a tu bucket, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página IAM:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.
En la pestaña Permisos, consulta por Funciones. Verás una tabla con todas los roles y las principales de IAM asociados a tus proyecto de Google Cloud.
En la opción Filtro de la tabla cuadro de texto filter_list, Ingresa Escritor de buckets de registros.
Verás todas las principales con el rol Escritor de buckets de registros. Si un principal es una cuenta de servicio, su ID contiene la cadena
gserviceaccount.com
.Opcional: Si quieres quitar la capacidad de una cuenta de servicio para enrutar registros a tu proyecto de Google Cloud, selecciona la casilla de verificación check_box_outline_blank de la cuenta de servicio y haz clic en Quitar.
¿Por qué veo registros de un proyecto de Google Cloud a pesar de que los excluí de mi receptor _Default
?
Podrías estar viendo registros en un bucket de registros en un un proyecto centralizado de Google Cloud, y agrega registros de toda tu organización.
Si usas el Explorador de registros para acceder a estos registros y ver los registros que
del receptor _Default
, tu vista podría estar configurada como
Nivel de proyecto de Google Cloud.
Para solucionar este problema, selecciona Vista de registro en el menú Definir mejor el permiso y, luego, selecciona la vista de registro asociada con el bucket _Default
en tu proyecto de Google Cloud. Ya no deberías ver los registros excluidos.