Se os erros do aplicativo não estiverem aparecendo no Error Reporting, siga as etapas abaixo para resolver o problema.
Antes de começar
Verifique se as chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) estão desativadas no seu bucket de registros.
Quando os registros são protegidos com CMEK, eles não são disponibilizados para o Error Reporting e, portanto, não é possível identificar grupos de erros. O Error Reporting não está disponível para nenhum dos seguintes registros:
- Registros armazenados em um bucket de registros habilitado para CMEK.
- Registros armazenados em vários buckets de registros em que pelo menos um bucket de registros é ativado por CMEK.
- Registros armazenados em qualquer bucket de registros em uma organização, quando uma política no nível organizacional exige que a CMEK esteja ativada.
Para mais informações sobre como determinar a configuração do CMEK para um bucket de registros, consulte Verificar a ativação de chaves.
Verifique se o Error Reporting pode analisar seus registros.
O Error Reporting só pode analisar entradas de registro armazenadas em buckets do Cloud Logging que estejam na região
global
em que os projetos de origem e de destino do Google Cloud são os mesmos.Para ver se o Error Reporting pode analisar seus registros, verifique se você está armazenando-os em buckets na região
global
em que os projetos de origem e de destino do Google Cloud são os mesmos.Para ver uma lista dos coletores configurados, execute o seguinte comando:
gcloud logging sinks list
O comando retorna uma saída semelhante a esta:
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)
Neste exemplo, o projeto de origem do Google Cloud dos registros é
my-team-project
. Como resultado:- O Error Reporting pode analisar os registros roteados pelos coletores
_Default
,_Required
elogs-from-samples
porque eles estão roteando registros para buckets que estão na regiãoglobal
no mesmo projeto. - O Error Reporting não pode analisar registros roteados pelo coletor
regional_logs
porque ele encaminha registros para um bucket regional na regiãoeurope-west1
. - O Error Reporting não pode analisar registros roteados pelo coletor
test-logs
porque ele encaminha registros para um projeto diferente (team-b-project
) do projeto de origem.
- O Error Reporting pode analisar os registros roteados pelos coletores
Verifique se a Google Cloud CLI está instalada.
Verifique se você tem o componente
beta
ativado para a CLI gcloud.
Ao usar os registros
Nesta seção, fornecemos suporte para solução de problemas quando os dados de erro são gravados em buckets do Cloud Logging, e você conta com o Error Reporting para analisá-los automaticamente.
Gerar uma amostra de entrada de registro
Para confirmar as configurações do seu projeto, você pode gerar uma entrada de registro programada que será capturada pelo Error Reporting com o seguinte 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}}}'
Em seguida, abra o Error Reporting e confirme que você vê o erro recém-criado.
Confirmar o formato da entrada de registro
Navegue até a página do Cloud Logging e localize uma entrada de registro que contenha dados de exceção enviados do seu aplicativo.
Verifique se a entrada de registro usa o formato esperado.
Ao usar a Error Reporting API
Ativar a API
No Console do Google Cloud, selecione APIs e serviços, clique em Ativar APIs e serviços e ative a API Error Reporting ou clique no botão a seguir:
Acessar as configurações da API Error Reporting
Enviar um erro de teste
Tente enviar manualmente um erro para o serviço.
Você pode informar um erro de teste ao Error Reporting usando o seguinte 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)"
Use um comando cURL para testar suas solicitações da REST API. Substitua PROJECT_ID
e API_KEY
pelos seus valores válidos antes de enviar este 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
Confirmar o payload enviado
Verifique se o aplicativo está enviando dados de exceção à API no formato correto e se ele tem os atributos necessários.