वेब ऐप्लिकेशन को मॉनिटर करना और सुरक्षित रखना

ऐप्लिकेशन पब्लिश करने के बाद, आपको उनकी निगरानी करनी चाहिए और उन्हें सुरक्षित रखना चाहिए:

App Hosting निगरानी की सुविधा की मदद से, अपनी साइट की परफ़ॉर्मेंस पर नज़र रखना

Firebase Studio में ऐप्लिकेशन की खास जानकारी पैनल, आपके ऐप्लिकेशन के बारे में अहम मेट्रिक और जानकारी देता है. इससे, App Hosting में पहले से मौजूद निगरानी टूल का इस्तेमाल करके, अपने वेब ऐप्लिकेशन की परफ़ॉर्मेंस को मॉनिटर किया जा सकता है. साइट के रोल आउट होने के बाद, पब्लिश करें पर क्लिक करके खास जानकारी को ऐक्सेस किया जा सकता है. इस पैनल से, ये काम किए जा सकते हैं:

  • अपने ऐप्लिकेशन का नया वर्शन रिलीज़ करने के लिए, पब्लिश करें पर क्लिक करें.
  • अपने ऐप्लिकेशन का लिंक शेयर करें या अपने ऐप्लिकेशन पर जाएं में जाकर, सीधे अपने ऐप्लिकेशन को खोलें.
  • पिछले सात दिनों में अपने ऐप्लिकेशन की परफ़ॉर्मेंस की खास जानकारी देखें. इसमें अनुरोधों की कुल संख्या और नए रोल आउट की स्थिति शामिल है. Firebase console में ज़्यादा जानकारी ऐक्सेस करने के लिए, जानकारी देखें पर क्लिक करें.
  • पिछले 24 घंटों में आपके ऐप्लिकेशन को मिले अनुरोधों की संख्या का ग्राफ़ देखें. इसमें, एचटीटीपी स्टेटस कोड के हिसाब से अनुरोधों की संख्या दिखती है.

अगर आपने ऐप्लिकेशन की खास जानकारी वाला पैनल बंद कर दिया है, तो पब्लिश करें पर क्लिक करके, इसे कभी भी फिर से खोला जा सकता है.

App Hosting रोलआउट को मैनेज करने और उनकी निगरानी करने के बारे में ज़्यादा जानने के लिए, रोलआउट और रिलीज़ मैनेज करें पर जाएं.

Genkit डिप्लॉय की गई सुविधाओं की निगरानी करना

अपने एआई फ़्लो कोड में टेलीमेट्री की सुविधा चालू करके, Genkit सुविधा के चरणों, इनपुट, और आउटपुट पर नज़र रखी जा सकती है. Genkit की टेलीमेट्री सुविधा की मदद से, एआई फ़्लो की परफ़ॉर्मेंस और इस्तेमाल को मॉनिटर किया जा सकता है. इस डेटा की मदद से, आपको उन जगहों का पता चल सकता है जहां सुधार की ज़रूरत है. साथ ही, समस्याओं को हल करने, बेहतर परफ़ॉर्मेंस और कम लागत के लिए अपने प्रॉम्प्ट और फ़्लो को ऑप्टिमाइज़ करने, और समय के साथ अपने फ़्लो के इस्तेमाल को ट्रैक करने में मदद मिल सकती है.

Genkit में मॉनिटरिंग सेट अप करने के लिए, Genkit एआई फ़्लो में टेलीमेट्री जोड़ें और फिर Firebase कंसोल में नतीजे देखें.

पहला चरण: Firebase Studio में अपने Genkit फ़्लो कोड में टेलीमेट्री जोड़ना

अपने कोड में मॉनिटरिंग सेट अप करने के लिए:

  1. अगर आप पहले से Code व्यू में नहीं हैं, तो उसे खोलने के लिए कोड स्विच करने का आइकॉन कोड पर स्विच करें पर क्लिक करें.

  2. Genkit के इंस्टॉल किए गए वर्शन की पुष्टि करने के लिए, package.json को चुनें.

  3. टर्मिनल खोलें (MacOS में Ctrl-Shift-C या Cmd-Shift-C).

  4. टर्मिनल में क्लिक करें और package.json फ़ाइल से मैच होने वाले वर्शन का इस्तेमाल करके, Firebase प्लगिन इंस्टॉल करें. उदाहरण के लिए, अगर आपके package.json में Genkit पैकेज 1.0.4 पर हैं, तो प्लग इन इंस्टॉल करने के लिए, आपको यह कमांड चलाना चाहिए:

    npm i --save @genkit-ai/firebase@1.0.4
  5. एक्सप्लोरर में जाकर, src > ai > flows को बड़ा करें. flows फ़ोल्डर में, एक या उससे ज़्यादा TypeScript फ़ाइलें दिखती हैं. इनमें आपके Genkit फ़्लो शामिल होते हैं.

  6. किसी फ़्लो को खोलने के लिए उस पर क्लिक करें.

  7. फ़ाइल के इंपोर्ट सेक्शन में सबसे नीचे, FirebaseTelemetry को इंपोर्ट करने और चालू करने के लिए, यह जोड़ें:

    import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
    
    enableFirebaseTelemetry();
    

दूसरा चरण: अनुमतियां सेट अप करना

Firebase Studio ने आपके Firebase प्रोजेक्ट को सेट अप करते समय, आपके लिए ज़रूरी एपीआई चालू किए हैं. हालांकि, आपको App Hosting सेवा खाते को भी अनुमतियां देनी होंगी.

अनुमतियां सेट अप करने के लिए:

  1. Google Cloud IAM कंसोल खोलें और अपना प्रोजेक्ट चुनें. इसके बाद, ऐप्लिकेशन होस्टिंग सेवा खाते को ये भूमिकाएं दें:

    • मेट्रिक राइटर को मॉनिटर करना (roles/monitoring.metricWriter)
    • Cloud Trace एजेंट (roles/cloudtrace.agent)
    • लॉग लेखक (roles/logging.logWriter)
  2. App Hosting पर अपना ऐप्लिकेशन फिर से पब्लिश करें.

  3. पब्लिश करने की प्रोसेस पूरी होने के बाद, अपना ऐप्लिकेशन लोड करें और उसका इस्तेमाल शुरू करें. पांच मिनट के बाद, आपका ऐप्लिकेशन टेलीमेट्री डेटा को लॉग करना शुरू कर देगा.

तीसरा चरण: Firebase कंसोल पर, जनरेटिव एआई की सुविधाओं को मॉनिटर करना

जब टेलीमेट्री कॉन्फ़िगर की जाती है, तो Genkit आपके सभी फ़्लो के लिए अनुरोधों की संख्या, रिस्पॉन्स मिलने में लगने वाला समय, और अनुरोध पूरा होने की जानकारी रिकॉर्ड करता है. साथ ही, हर फ़्लो के लिए, Genkit स्थिरता मेट्रिक इकट्ठा करता है, ज़्यादा जानकारी वाले ग्राफ़ दिखाता है, और कैप्चर किए गए ट्रेस को लॉग करता है.

Genkit की मदद से लागू की गई एआई की सुविधाओं को मॉनिटर करने के लिए:

  1. पांच मिनट बाद, Firebase कंसोल में Genkit खोलें और Genkit के प्रॉम्प्ट और जवाबों की समीक्षा करें.

    Genkit, स्टैबिलिटी मेट्रिक को कंपाइल करता है:

    • कुल अनुरोध: आपके फ़्लो को मिले अनुरोधों की कुल संख्या.
    • सफलता दर: उन अनुरोधों का प्रतिशत जिन्हें सही तरीके से प्रोसेस किया गया.
    • 95वें पर्सेंटाइल के हिसाब से इंतज़ार का समय: आपके फ़्लो का 95वां पर्सेंटाइल के हिसाब से इंतज़ार का समय, जो 95% अनुरोधों को प्रोसेस होने में लगने वाला समय होता है.
    • टोकन का इस्तेमाल:

      • इनपुट टोकन: प्रॉम्प्ट में मॉडल को भेजे गए टोकन की संख्या.
      • आउटपुट टोकन: रिस्पॉन्स में मॉडल से जनरेट किए गए टोकन की संख्या.
    • इमेज का इस्तेमाल:

      • इनपुट इमेज: प्रॉम्प्ट में मॉडल को भेजी गई इमेज की संख्या.
      • आउटपुट इमेज: जवाब में मॉडल की ओर से जनरेट की गई इमेज की संख्या.

    बिना रुकावट Android का इस्तेमाल करने से जुड़ी मेट्रिक को बड़ा करने पर, ज़्यादा जानकारी वाले ग्राफ़ दिखते हैं:

    • समय के साथ अनुरोध की संख्या.
    • समय के साथ, सफलता की दर.
    • समय के साथ इनपुट और आउटपुट टोकन.
    • समय के साथ, इंतज़ार का समय (95वां और 50वां पर्सेंटाइल).

Genkit पर जाकर, Genkit के बारे में ज़्यादा जानें.

Firebase App Check की मदद से अपने ऐप्लिकेशन को सुरक्षित करना

अगर आपने अपने ऐप्लिकेशन में Firebase या Google Cloud की सेवाओं को इंटिग्रेट किया है, तो Firebase App Check आपके ऐप्लिकेशन के बैकएंड को गलत इस्तेमाल से बचाने में मदद करता है. ऐसा, बिना अनुमति वाले क्लाइंट को आपके Firebase संसाधनों को ऐक्सेस करने से रोककर किया जाता है. यह आपके संसाधनों को सुरक्षित रखने के लिए, Google की सेवाओं (इनमें Firebase और Google Cloud की सेवाएं भी शामिल हैं) और आपके कस्टम बैकएंड, दोनों के साथ काम करता है.

हमारा सुझाव है कि सार्वजनिक तौर पर पोस्ट किए जाने वाले किसी भी ऐप्लिकेशन में App Check जोड़ें. इससे, आपके बैकएंड संसाधनों का गलत इस्तेमाल होने से बचा जा सकता है.

इस सेक्शन में, App Prototyping agent से बनाए गए वेब ऐप्लिकेशन के लिए, reCAPTCHA Enterprise का इस्तेमाल करके, Firebase Studio में App Check सेट अप करने का तरीका बताया गया है. हालांकि, Firebase की सेवाओं को लागू करने वाले और कस्टम प्रोवाइडर को लागू करने वाले किसी भी ऐप्लिकेशन में App Check सेट अप किया जा सकता है. ज़्यादा जानने के लिए, Firebase App Check पर जाएं.

ReCAPTCHA Enterprise, बिना किसी शुल्क के ज़्यादा से ज़्यादा 10,000 आकलन की सुविधा देता है.

पहला चरण: अपने ऐप्लिकेशन के लिए reCAPTCHA Enterprise सेट अप करना

  1. Google Cloud कंसोल में, reCAPTCHA Enterprise सेक्शन खोलें.

  2. Google Cloud कंसोल के प्रोजेक्ट पिकर से, अपने Firebase प्रोजेक्ट का नाम चुनें.

  3. अगर आपसे reCAPTCHA Enterprise API चालू करने के लिए कहा जाता है, तो ऐसा करें.

  4. शुरू करें पर क्लिक करें और अपनी reCAPTCHA साइट कुंजी के लिए डिसप्ले नेम जोड़ें.

  5. डिफ़ॉल्ट वेब ऐप्लिकेशन टाइप कुंजी स्वीकार करें.

  6. डोमेन जोड़ें पर क्लिक करें और कोई डोमेन जोड़ें. आपको अपना App Hosting डोमेन (उदाहरण के लिए, studio--PROJECT_ID.REGION.hosted.app) और अपने ऐप्लिकेशन के साथ इस्तेमाल किए जाने वाले या इस्तेमाल करने के लिए चुने गए कस्टम डोमेन जोड़ने होंगे.

  7. अगला चरण पर क्लिक करें.

  8. क्या आपको चैलेंज का इस्तेमाल करना है? को चुने हुए के तौर पर सेट न करें.

  9. कुंजी बनाएं पर क्लिक करें.

  10. अपना कुंजी आईडी कॉपी करके सेव करें. इसके बाद, App Check कॉन्फ़िगर करें पर जाएं.

दूसरा चरण: App Check कॉन्फ़िगर करना

  1. Firebase कंसोल खोलें और नेविगेशन मेन्यू में जाकर, बिल्ड > ऐप्लिकेशन की जांच करें पर क्लिक करें.

  2. शुरू करें पर क्लिक करें. इसके बाद, अपने ऐप्लिकेशन के बगल में मौजूद रजिस्टर करें पर क्लिक करें.

  3. reCAPTCHA को बड़ा करने के लिए क्लिक करें और reCAPTCHA Enterprise के लिए जनरेट किया गया कुंजी आईडी चिपकाएं.

  4. सेव करें पर क्लिक करें.

तीसरा चरण: अपने कोड में App Check जोड़ना

  1. Firebase Studio पर वापस जाएं और Code व्यू में, अपनी .env फ़ाइल में जनरेट की गई साइट कुंजी जोड़ें:

    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  2. अगर आपने .env में पहले से Firebase कॉन्फ़िगरेशन सेव नहीं किया है, तो इसे पाने के लिए:

    • Firebase कंसोल में, प्रोजेक्ट सेटिंग खोलें और उसे अपने ऐप्लिकेशन से जुड़े सेक्शन में ढूंढें.

    • Code व्यू में टर्मिनल से:

      1. Firebase में लॉग इन करें: firebase auth login
      2. अपना प्रोजेक्ट चुनें: firebase use FIREBASE_PROJECT_ID
      3. Firebase कॉन्फ़िगरेशन पाएं: firebase apps:sdkconfig
  3. अपनी .env फ़ाइल में कॉन्फ़िगरेशन जोड़ें, ताकि वह कुछ ऐसा दिखे:

    NEXT_PUBLIC_FIREBASE_API_KEY=FIREBASE_API_KEY
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=FIREBASE_PROJECT_ID
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=FIREBASE_MESSAGING_SENDER_ID
    NEXT_PUBLIC_FIREBASE_APP_ID=FIREBASE_APP_ID
    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  4. अपने ऐप्लिकेशन कोड में App Check जोड़ें. Gemini से अपने ऐप्लिकेशन में reCAPTCHA Enterprise के साथ App Check जोड़ने के लिए कहा जा सकता है. इसके लिए, "reCAPTCHA Enterprise" की जानकारी ज़रूर दें और इसकी दोबारा जांच करें! इसके अलावा, App Check को शुरू करना में दिए गए निर्देशों का पालन करें.

  5. अपनी साइट को App Hosting पर फिर से पब्लिश करें. कुछ डेटा जनरेट करने के लिए, अपनी Firebase सुविधाओं की जांच करें.

  6. बिल्ड > ऐप्लिकेशन की जांच करें खोलकर पुष्टि करें कि App Check को Firebase कंसोल में अनुरोध मिल रहे हैं.

  7. Firebase की सेवाओं की जांच करने के लिए क्लिक करें. अनुरोध मिलने की पुष्टि करने के बाद, App Check लागू करने के लिए, लागू करें पर क्लिक करें.

  8. Firebase Authentication के लिए, पुष्टि और नीति उल्लंघन ठीक करने की प्रोसेस दोहराएं.

अगर App Check के लिए अपने ऐप्लिकेशन को रजिस्टर करने के बाद, आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, जैसे कि डेवलपमेंट के दौरान लोकल तौर पर या लगातार इंटिग्रेशन (सीआई) वाले एनवायरमेंट से, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. यह बिल्ड, पुष्टि करने वाली असली कंपनी के बजाय App Check डीबग प्रोवाइडर का इस्तेमाल करता है. ज़्यादा जानने के लिए, वेब ऐप्लिकेशन में डीबग प्रोवाइडर के साथ App Check का इस्तेमाल करना लेख पढ़ें.

अगले चरण