Solución de problemas

Puedes usar este documento para resolver problemas habituales cuando trabajas con Cloud Trace, como la falta de datos de intervalos, las fallas en las consultas de Observability Analytics y los errores de validación cuando creas políticas de alertas.

Problemas conocidos

En esta sección, se enumeran los problemas conocidos:

  • Los tramos escritos en tu proyecto Google Cloud con la API de Telemetry no son accesibles para la API de Cloud Trace. Por ejemplo, si intentas enumerar estos registros, el comando fallará con un error 404 Not Found.

Soluciona problemas relacionados con las Estadísticas de observabilidad

En esta sección, se describe cómo resolver los errores que puedes ver cuando usas Observability Analytics para consultar tus datos de seguimiento.

No puedes guardar tu política de alertas debido a un error de validación

Intentas guardar una política de alertas que supervisa tus datos de seguimiento y recibes un error similar al siguiente:

The following error occurred when validating your SQL Alert: Error authenticating service account `service-12345@gcp-sa-monitoring-notification.iam.gserviceaccount.com`. BigQuery returned an error.

Este mensaje de error indica que no se le otorgaron los permisos necesarios a la cuenta de servicio de supervisión o que no existe. El sistema crea automáticamente esta cuenta cuando ocurren ciertas acciones iniciadas por el usuario. Sin embargo, si la API de Cloud Monitoring está inhabilitada, el sistema no podrá crear la cuenta de servicio.

Para solucionar el error, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página APIs y servicios y habilita la API de Cloud Monitoring:

    Ir a APIs & Services

  2. En la consola de Google Cloud , ve a la página IAM:

    Ir a IAM

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  3. En la página IAM, haz lo siguiente:

    1. Selecciona Incluir asignaciones de roles proporcionadas por Google.

    2. Si no aparece la cuenta de servicio de supervisión, crea una política de alertas basada en SQL y trata de guardarla.

      Cuando guardas la política, el sistema crea la cuenta de servicio de supervisión. La acción de guardar falla porque esta cuenta de servicio no tiene los roles de IAM necesarios.

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

Mensaje de error que indica que no existe una vista

Ingresas una consulta en SQL en el panel de consultas de la página Observability Analytics, pero el analizador de SQL muestra el siguiente error:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/views/OBS_VIEW_ID does not exist

El error anterior se informa cuando no se puede encontrar la vista especificada en la instrucción FROM.

Para resolver este error, verifica que tu vista tenga la sintaxis correcta:

  • Verifica que el nombre completamente calificado de la vista siga la sintaxis requerida por el esquema de nomenclatura de Observability Analytics. Puedes encontrar la sintaxis requerida para una vista mostrando su consulta predeterminada.

  • Si el ID del proyecto, la ubicación, el ID de bucket, el ID del conjunto de datos o el ID de la vista Google Cloud contienen caracteres de período, (.), verifica que el campo esté encerrado entre comillas invertidas simples, (`).

    Por ejemplo, si el ID de tu proyecto de Google Cloud es example.com:bluebird, la instrucción FROM sería la siguiente:

    FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
    

Se muestra el mensaje Comienza a usar Observability Analytics

Abres la página Observability Analytics y se muestra una ventana con un mensaje similar al siguiente:

Get started with Observability Analytics

Para usar Análisis de observabilidad, haz clic en Cerrar en la ventana.

El mensaje anterior se muestra cuando no tienes buckets de registros actualizados para usar Análisis de observabilidad. Sin embargo, los datos de tu registro no se almacenan en un bucket de registros.

Falla la unión de varias vistas

Escribes una consulta que une varias vistas, pero la consulta se marca como no válida.

No todas las vistas se pueden unir.

Para unir vistas, se aplican las siguientes restricciones:

  1. Las ubicaciones de las vistas satisfacen una de las siguientes condiciones:

    • Todas las vistas tienen la misma ubicación.
    • Todas las vistas se encuentran en la ubicación global o us.
  2. Cuando los recursos de almacenamiento usan claves de encriptación administradas por el cliente (CMEK), se debe cumplir una de las siguientes condiciones:

    • Los recursos de almacenamiento que usan CMEK utilizan la misma clave de Cloud KMS.
    • Los recursos de almacenamiento que usan CMEK tienen un principal común, y ese principal especifica una clave de Cloud KMS predeterminada que se encuentra en la misma ubicación que los recursos de almacenamiento.

    Cuando uno o más recursos de almacenamiento usan la CMEK, el sistema encripta los datos temporales que genera la unión con la clave común de Cloud KMS o la clave predeterminada de Cloud KMS del elemento superior.

Por ejemplo, supongamos que tienes dos vistas que residen en la misma ubicación. Luego, puedes unir estas vistas cuando se cumpla alguna de las siguientes condiciones:

  • Los recursos de almacenamiento no usan CMEK.
  • Un recurso de almacenamiento usa CMEK y el otro no.
  • Ambos recursos de almacenamiento usan la CMEK y la misma clave de Cloud KMS.
  • Ambos recursos de almacenamiento usan CMEK, pero con claves diferentes. Sin embargo, los recursos comparten un principal que especifica una clave de Cloud KMS predeterminada que se encuentra en la misma ubicación que los recursos de almacenamiento.

    Por ejemplo, supongamos que la jerarquía de recursos para un bucket de registros y un bucket de observabilidad incluye la misma organización. Puedes unir vistas en esos buckets cuando, para esa organización, hayas configurado los parámetros de configuración predeterminados de recursos para Cloud Logging y para los buckets de observabilidad con la misma clave predeterminada de Cloud KMS para la ubicación de almacenamiento.

La creación de un conjunto de datos vinculado a BigQuery falla con un error de permiso

Intentas crear un conjunto de datos vinculado de BigQuery, pero la operación falla con un error similar al siguiente:

ERROR: (gcloud.beta.observability.buckets.datasets.links.create) {
  "code": 7,
  "message": "The caller does not have permission"
}

Para solucionar este problema, haz lo siguiente:

  • Asegúrate de que se te hayan otorgado los roles de IAM necesarios. Para obtener una lista de estos roles, consulta Crea un vínculo en un conjunto de datos.

  • Revisa las políticas de tu organización para determinar si hay restricciones que se apliquen a los conjuntos de datos de BigQuery. Supongamos que creas una restricción personalizada que requiere que los conjuntos de datos de BigQuery se encuentren en una ubicación específica. En este caso, solo puedes crear un conjunto de datos de BigQuery vinculado en un conjunto de datos de observabilidad que se encuentre en esa ubicación específica.

La consulta de un conjunto de datos vinculado de BigQuery falla con el mensaje de que no se encontró el conjunto de datos

Envías una consulta a un conjunto de datos de BigQuery vinculado y el comando falla con un mensaje de error similar a "No se encontró el conjunto de datos".

Para resolver este problema, prueba lo siguiente:

  • Asegúrate de que la ruta de acceso al nombre del conjunto de datos sea correcta.
  • Ejecuta el siguiente comando gcloud beta observability buckets datasets links list y verifica que la respuesta incluya tu conjunto de datos de BigQuery vinculado.

    Si tu conjunto de datos vinculado de BigQuery no aparece en la lista, significa que está huérfano. Para resolver esta situación, borra el conjunto de datos de BigQuery vinculado.

    Un proyecto puede tener un conjunto de datos de BigQuery vinculado huérfano si revocas las concesiones de roles de IAM de una cuenta de servicio que Google Cloud Observability usa para administrar datos y, luego, borras un vínculo en un conjunto de datos de Observability. En ese caso, Google Cloud Observability no puede borrar el conjunto de datos vinculado de BigQuery.

No hay datos en la página Explorador de Trace

Tienes una aplicación que envía datos de seguimiento a tu proyecto Google Cloud . Sin embargo, cuando abres la página del Explorador de seguimiento, no se muestran datos.

Existen varios motivos posibles por los que no puedes ver los datos de seguimiento:

  • No se te otorgaron los permisos necesarios para ver los datos.
  • No se enviaron intervalos de seguimiento a tu proyecto.
  • Tu aplicación no tiene los permisos necesarios para escribir datos de seguimiento.
  • No se almacenan tus intervalos de seguimiento.

En las siguientes subsecciones, se proporciona información para solucionar problemas en las situaciones de falla mencionadas.

Verifica que tengas permiso para ver los datos de seguimiento

Para ver los datos de seguimiento, asegúrate de que se te haya otorgado el rol de usuario de Cloud Trace (roles/cloudtrace.user).

Verifica que los intervalos de seguimiento se envíen a tu proyecto

Para verificar que los tramos se envíen a tu proyecto, haz lo siguiente:

  1. Habilita las APIs de Cloud Trace y Telemetry.

    Roles necesarios para habilitar las APIs

    Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    Habilitar las API

    Ambas APIs pueden transferir segmentos de seguimiento. Sin embargo, se recomienda la API de Telemetry porque es compatible con el ecosistema de OpenTelemetry y porque tiene límites más generosos que la API de Cloud Trace.

  2. Ve a la página APIs y servicios habilitados y busca las filas de la API de Cloud Trace y Telemetry.

    Si el recuento de Solicitudes para estas dos APIs es cero, significa que no se envían datos de seguimiento a tu proyecto.

Verifica que tu aplicación tenga los permisos necesarios para escribir intervalos de seguimiento

Para determinar si tu aplicación tiene permiso para escribir datos de seguimiento en tu proyecto, haz lo siguiente:

  1. Ve a la página APIs y servicios habilitados, busca las filas de la API de Cloud Trace y la API de Telemetry, y examina la columna Errores.

  2. Si ves un valor distinto de cero en la columna Errores de cualquiera de las APIs, significa que hay errores de lectura o escritura de datos de seguimiento a través de esa API. Para identificar el tipo de error, selecciona la API, elige la pestaña Métricas y consulta el gráfico Errores por método de API:

    Si las escrituras fallan, otorga los siguientes roles a la cuenta de servicio que proporciona las credenciales:

Verifica que se almacenen tus datos de seguimiento

Los intervalos de seguimiento se almacenan en un bucket de observabilidad llamado _Trace. Ese bucket se aprovisiona automáticamente cuando tu proyecto de Google Cloud recibe intervalos de seguimiento. Sin embargo, hay varias situaciones en las que falla el aprovisionamiento.

Para resolver este error, prueba una de las siguientes opciones:

  • Instrucciones de la consola deGoogle Cloud :
    1. En la consola de Google Cloud , ve a la página Explorador de seguimiento:

      Ve al Explorador de seguimiento

      También puedes usar la barra de búsqueda para encontrar esta página.

  1. Si ves un banner similar al siguiente, significa que no se aprovisionó el almacenamiento para tus datos de registro. none {: .devsite-disable-click-to-copy} Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data. Para aprovisionar un bucket de observabilidad para tus datos de seguimiento, ve al banner y haz clic en Habilitar. Cuando haces clic en Habilitar, se envía un intervalo a tu proyecto. Después de que el sistema recibe el intervalo, emite el comando para crear un bucket de observabilidad llamado _Trace. Este proceso puede tardar varios minutos en completarse. Una vez que se complete el aprovisionamiento, aparecerá un banner de notificación y Cloud Trace transferirá los datos de seguimiento que se enviaron en la última hora. Es posible que los datos tarden unos minutos en aparecer en el Explorador de Trace. Si no ves ningún dato, actualiza la página.