Si los errores de tu aplicación no aparecen en Error Reporting, realiza los siguientes pasos para solucionar los problemas.
Antes de comenzar
Verifica que las claves de encriptación administradas por el cliente (CMEK) estén inhabilitadas en tu bucket de registros.
Cuando los registros están protegidos con CMEK, no están disponibles para Error Reporting y, por lo tanto, no se pueden identificar los grupos de errores. Error Reporting no está disponible para ninguno de los siguientes registros:
- Registros almacenados en un bucket de registros habilitado para CMEK
- Registros almacenados en varios buckets de registros en los que al menos un bucket de registros está habilitado para CMEK.
- Registros almacenados en cualquier bucket de registros de una organización, cuando una política a nivel de la organización requiere que se habilite CMEK.
Si deseas obtener información sobre cómo determinar la configuración de CMEK para un bucket de registros, consulta Verifica la habilitación de claves.
Verificar que Error Reporting pueda analizar tus registros
Error Reporting solo puede analizar entradas de registro almacenadas en buckets de Cloud Logging que se encuentren en la región
global
, en la que los proyectos de origen y de destino de Google Cloud sean los mismos.Para ver si Error Reporting puede analizar tus registros, verifica que almacenes tus registros en buckets en la región
global
en la que los proyectos de origen de Google Cloud sean los mismos.Para ver una lista de receptores que configuraste, ejecuta el siguiente comando:
gcloud logging sinks list
El comando muestra un resultado similar al siguiente:
NAME DESTINATION FILTER _Default logging.googleapis.com/projects/my-team-project/locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency") _Required logging.googleapis.com/projects/my-team-project/locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency") logs-from-samples logging.googleapis.com/projects/my-team-project/locations/global/buckets/sample-bucket (empty filter) regional_logs logging.googleapis.com/projects/my-team-project/locations/europe-west1/buckets/bucket_for_regional_logs (empty filter) test-logs logging.googleapis.com/projects/team-b-project/locations/global/buckets/test-bucket (empty filter)
En este ejemplo, el proyecto de origen de los registros de Google Cloud es
my-team-project
. Como resultado, se dan las siguientes condiciones:- Error Reporting puede analizar los registros enrutados por los receptores
_Default
,_Required
ylogs-from-samples
, puesto que enrutan los registros a los buckets que se encuentran en la regiónglobal
dentro del mismo proyecto. - Error Reporting no puede analizar los registros que enruta el receptor
regional_logs
, puesto que enruta los registros a un bucket regional en la regióneurope-west1
. - Error Reporting no puede analizar los registros que enruta el receptor
test-logs
, puesto que enruta los registros a un proyecto distinto (team-b-project
) del proyecto de origen.
- Error Reporting puede analizar los registros enrutados por los receptores
Asegúrate de tener instalada Google Cloud CLI.
Asegúrate de tener habilitado el componente
beta
de la CLI de gcloud.
Cuando usar los registros
En esta sección, se proporciona asistencia para la solución de problemas cuando tus datos de errores se escriben en buckets de Cloud Logging, y dependes de Error Reporting para analizarlos de forma automática.
Genera una entrada de registro como ejemplo
Para confirmar la configuración de tu proyecto, puedes generar de manera programática una entrada de registro que Error Reporting detectará con el siguiente comando gcloud
:
gcloud logging write --payload-type=json test-errors-log \
'{"serviceContext":
{"service": "manual-testing"},
"message": "Test Error\n at /test.js:42:42",
"context": {"httpRequest":
{"url": "/test","method": "GET","responseStatusCode": 500}}}'
A continuación, abre Error Reporting y confirma que ves el error creado recientemente.
Confirma el formato de entrada de registro
Navega a la página de Cloud Logging y busca una entrada de registro que contenga datos de excepción enviados desde tu aplicación.
Confirma que la entrada de registro utiliza el formato esperado.
Cuando usar una API de Error Reporting
Habilitar la API
En la consola de Google Cloud, selecciona API y servicios, haz clic en Habilitar API y servicios y, luego, habilita la API de Error Reporting, o haz clic en el siguiente botón:
Ir a la configuración de la API de Error Reporting
Envía un error de prueba
Intenta enviar un error al servicio de forma manual.
Puedes informar un error de prueba a Error Reporting con el siguiente comando gcloud
:
gcloud beta error-reporting events report --service Manual --service-version test1 \
--message "java.lang.TestError: msg
at com.example.TestClass.test(TestClass.java:51)
at com.example.AnotherClass(AnotherClass.java:25)"
Puedes usar un comando cURL para probar tus llamadas a la API de REST. Reemplaza PROJECT_ID
y API_KEY
con los valores válidos antes de enviar el siguiente comando:
curl -X POST -H "Content-Type: application/json" \
-d '{"message":"java.lang.TestError: msg\n\tat com.example.TestClass.test(TestClass.java:51)\n\tat com.example.AnotherClass(AnotherClass.java:25)","serviceContext":{"service":"manual-testing"}}' \
https://clouderrorreporting.googleapis.com/v1beta1/projects/PROJECT_ID/events:report?key=API_KEY
Confirma la carga útil enviada
Asegúrate de que tu aplicación esté enviando datos de excepción a la API en el formato correcto y que contenga los atributos requeridos.