वेब ऐप्लिकेशन की निगरानी करना और उन्हें सुरक्षित रखना

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

App Hosting की जांचने की क्षमता की मदद से, अपनी साइट की परफ़ॉर्मेंस पर नज़र रखना

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

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

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

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

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

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

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

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

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

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

  2. package.json पर जाकर देखें कि Genkit का कौनसा वर्शन इंस्टॉल किया गया है.

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

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

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

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

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

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

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

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

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

  1. Google Cloud कंसोल में, IAM पेज पर जाएं और अपना Firebase प्रोजेक्ट चुनें.

  2. App Hosting सेवा खाते को ये भूमिकाएं दें:

    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Cloud Trace Agent (roles/cloudtrace.agent)
    • लॉग राइटर (roles/logging.logWriter)
  3. App Hosting पर अपना ऐप्लिकेशन फिर से पब्लिश करें.

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

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

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

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

  1. पांच मिनट बाद, Firebase कंसोल में एआई सेवाएं > Genkit पर जाएं. यहां आपको Genkit से मिले प्रॉम्प्ट और जवाब दिखेंगे.

  2. Genkit की ओर से कंपाइल की गई, स्टेबिलिटी मेट्रिक देखी जा सकती हैं:

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

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

      • इनपुट इमेज: प्रॉम्प्ट में मॉडल को भेजी गई इमेज की संख्या.
      • आउटपुट इमेज: जवाब में मॉडल से जनरेट की गई इमेज की संख्या.
  3. स्थिरता से जुड़ी मेट्रिक को बड़ा करके, ये ज़्यादा जानकारी वाले ग्राफ़ देखे जा सकते हैं:

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

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 को सेट अप करने का तरीका बताया गया है. हालांकि, App Check को किसी भी ऐसे ऐप्लिकेशन में सेट अप किया जा सकता है जिसमें Firebase की सेवाएं लागू की गई हों और जिसमें कस्टम प्रोवाइडर लागू किए जा सकते हों. ज़्यादा जानने के लिए 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 कंसोल खोलें और नेविगेशन मेन्यू में जाकर, Build > App Check पर क्लिक करें.

  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 पर फिर से पब्लिश करें. डेटा जनरेट करने के लिए, अपने डेटाबेस और पुष्टि करने की सुविधाओं को आज़माएं.

  6. पुष्टि करें कि App Check को Firebase कंसोल में अनुरोध मिल रहे हैं. इसके लिए, Build > App Check पर जाएं.

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

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

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

अगले चरण