การตรวจสอบ Genkit: การแก้ปัญหา

ส่วนต่อไปนี้จะอธิบายวิธีแก้ปัญหาที่พบบ่อยซึ่งนักพัฒนาแอปพบเมื่อใช้การตรวจสอบ Genkit ของ Firebase

ฉันไม่เห็นร่องรอยหรือเมตริกใน Firebase Genkit Monitoring

  1. ตรวจสอบว่าได้เปิดใช้ API ต่อไปนี้สําหรับโปรเจ็กต์ Google Cloud พื้นฐานแล้ว
  2. ตรวจสอบว่าบทบาทต่อไปนี้มีผลกับบัญชีบริการที่เรียกใช้โค้ด (หรือบัญชีบริการที่กำหนดค่าไว้เป็นส่วนหนึ่งของตัวเลือกปลั๊กอิน) ใน Cloud IAM
    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Cloud Trace Agent (roles/cloudtrace.agent)
    • โปรแกรมบันทึก (roles/logging.logWriter)
  3. ตรวจสอบบันทึกของแอปพลิเคชันเพื่อหาข้อผิดพลาดในการเขียนไปยัง Cloud Logging, Cloud Trace และ Cloud Monitoring ในโครงสร้างพื้นฐานของ Google Cloud เช่น Firebase Functions และ Cloud Run แม้ว่าจะมีการกําหนดค่าการวัดผลไม่ถูกต้อง แต่ Cloud Logging Agent จะส่งผ่านข้อมูลบันทึกไปยัง stdout/stderr โดยอัตโนมัติ ซึ่งจะช่วยให้คุณวินิจฉัยปัญหาในคอนโซลการบันทึกข้อมูลในระบบคลาวด์ได้

  4. แก้ไขข้อบกพร่องในเครื่อง

    เปิดใช้การส่งออกสำหรับนักพัฒนาซอฟต์แวร์

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    หากต้องการทดสอบด้วยข้อมูลเข้าสู่ระบบของผู้ใช้ส่วนบุคคล ให้ใช้ gcloud CLI เพื่อตรวจสอบสิทธิ์กับ Google Cloud ซึ่งจะช่วยวินิจฉัย API ที่เปิดหรือปิดใช้ แต่ไม่ทดสอบการเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน gcloud-auth

    หรือคุณจะแอบอ้างเป็นบัญชีบริการเพื่อทดสอบการเข้าถึงแบบเวอร์ชันที่ใช้งานจริงก็ได้ คุณต้องมีบทบาท roles/iam. serviceAccountTokenCreatorIAM ที่ใช้กับบัญชีผู้ใช้เพื่อแอบอ้างเป็นบัญชีบริการ

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

    ดูข้อมูลเพิ่มเติมในเอกสารประกอบของ ADC

ความน่าเชื่อถือในการอัปโหลดข้อมูลการวัดประสิทธิภาพใน Firebase Functions / Cloud Run

เมื่อโฮสต์ Genkit ใน Google Cloud Run (รวมถึง Cloud Functions for Firebase) การอัปโหลดข้อมูลการวัดอาจมีความน่าเชื่อถือน้อยลงเนื่องจากคอนเทนเนอร์จะเปลี่ยนเป็นสถานะวงจร "ไม่ได้ใช้งาน" หากความน่าเชื่อถือที่สูงขึ้นสำคัญกับคุณ ให้ลองเปลี่ยนการจัดสรร CPU เป็นจัดสรรเสมอในคอนโซล Google Cloud