다음 섹션에서는 개발자가 Firebase Genkit 모니터링을 사용할 때 발생하는 일반적인 문제의 해결 방법을 자세히 설명합니다.
Firebase Genkit 모니터링에 트레이스 또는 측정항목이 표시되지 않음
- 기본 Google Cloud 프로젝트에 다음 API가 사용 설정되어 있는지 확인합니다.
- Cloud IAM에서 코드를 실행하는 서비스 계정 (또는 플러그인 옵션의 일부로 구성된 서비스 계정)에 다음 역할이 적용되어 있는지 확인합니다.
- 모니터링 측정항목 작성자 (
roles/monitoring.metricWriter
) - Cloud Trace 에이전트 (
roles/cloudtrace.agent
) - 로그 작성자 (
roles/logging.logWriter
)
- 모니터링 측정항목 작성자 (
Cloud Logging, Cloud Trace, Cloud Monitoring에 쓰는 오류가 있는지 애플리케이션 로그를 검사합니다. Firebase Functions 및 Cloud Run과 같은 Google Cloud 인프라에서는 원격 분석이 잘못 구성된 경우에도
stdout/stderr
의 로그가 Cloud Logging Agent에 의해 자동으로 처리되므로 Cloud Logging Console에서 문제를 진단할 수 있습니다.로컬에서 디버그:
개발자 내보내기 사용 설정:
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 할당을 항상 할당됨으로 변경하는 것이 좋습니다.