Genkit 모니터링: 문제 해결

다음 섹션에서는 개발자가 Firebase Genkit 모니터링을 사용할 때 발생하는 일반적인 문제의 해결 방법을 자세히 설명합니다.

Firebase Genkit 모니터링에 트레이스 또는 측정항목이 표시되지 않음

  1. 기본 Google Cloud 프로젝트에 다음 API가 사용 설정되어 있는지 확인합니다.
  2. Cloud IAM에서 코드를 실행하는 서비스 계정 (또는 플러그인 옵션의 일부로 구성된 서비스 계정)에 다음 역할이 적용되어 있는지 확인합니다.
    • 모니터링 측정항목 작성자 (roles/monitoring.metricWriter)
    • Cloud Trace 에이전트 (roles/cloudtrace.agent)
    • 로그 작성자 (roles/logging.logWriter)
  3. Cloud Logging, Cloud Trace, Cloud Monitoring에 쓰는 오류가 있는지 애플리케이션 로그를 검사합니다. Firebase Functions 및 Cloud Run과 같은 Google Cloud 인프라에서는 원격 분석이 잘못 구성된 경우에도 stdout/stderr의 로그가 Cloud Logging Agent에 의해 자동으로 처리되므로 Cloud Logging Console에서 문제를 진단할 수 있습니다.

  4. 로컬에서 디버그:

    개발자 내보내기 사용 설정:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    개인 사용자 인증 정보로 테스트하려면 gcloud CLI를 사용하여 Google Cloud에 인증합니다. 이렇게 하면 사용 설정 또는 사용 중지된 API를 진단하는 데 도움이 되지만 gcloud auth application-default login은 테스트하지 않습니다.

    또는 서비스 계정을 가장하여 프로덕션과 유사한 액세스를 테스트할 수 있습니다. 서비스 계정을 가장하려면 사용자 계정에 roles/iam. serviceAccountTokenCreator IAM 역할이 적용되어 있어야 합니다.

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

    자세한 내용은 ADC 문서를 참고하세요.

Firebase Functions / Cloud Run의 원격 분석 업로드 안정성

Genkit이 Google Cloud Run (Firebase용 Cloud Functions 포함)에서 호스팅되는 경우 컨테이너가 '유휴' 수명 주기 상태로 전환되므로 원격 분석 데이터 업로드의 안정성이 떨어질 수 있습니다. 안정성이 중요한 경우 Google Cloud 콘솔에서 CPU 할당항상 할당됨으로 변경하는 것이 좋습니다.