Monitoramento do Genkit: solução de problemas

Não consigo ver rastros e/ou métricas no monitoramento do Firebase Genkit

  1. Verifique se as APIs a seguir estão ativadas para seu projeto do GCP:
  2. Verifique se os seguintes papéis são aplicados à conta de serviço que está executando seu código (ou à conta de serviço configurada como parte das opções do plug-in) no Cloud IAM.
    • Gravador de métricas do Monitoring (roles/monitoring.metricWriter)
    • Agente do Cloud Trace (roles/cloudtrace.agent)
    • Gravador de registros (roles/logging.logWriter)
  3. Inspecione os registros do aplicativo para verificar se há erros de gravação no Cloud Logging, no Cloud Trace e/ou no Cloud Monitoring. Na infraestrutura do GCP, como o Firebase Functions e o Cloud Run, mesmo quando a telemetria está incorretamente configurada, os logs para stdout/stderr são ingeridos automaticamente pelo agente do Cloud Logging. Assim, é possível diagnosticar problemas no console do Cloud Logging.

  4. Depurar localmente:

    Ativar a exportação de desenvolvedor:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Para testar com suas credenciais de usuário pessoais, use a [CLI gcloud] para fazer a autenticação com o Google Cloud. Isso pode ajudar a diagnosticar APIs ativadas/desativadas, mas não testa o gcloud auth application-default login.

    Como alternativa, a personificação da conta de serviço permite testar o acesso semelhante à produção. Você precisa ter o papel de IAM roles/iam. serviceAccountTokenCreator aplicado à sua conta de usuário para representar contas de serviço:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
    

    Consulte a documentação do ADC para mais informações.

Confiabilidade do upload de telemetria no Firebase Functions / Cloud Run

Quando o Genkit é hospedado no Google Cloud Run (incluindo o Cloud Functions para Firebase), o upload de dados de telemetria pode ser menos confiável, porque o contêiner muda para o estado de ciclo de vida "inativo". Se uma confiabilidade maior for importante para você, mude a alocação de CPU para sempre alocada no console do Google Cloud.