मैन्युअल सेट अप गाइड

अपने-आप होने वाले प्रॉविज़निंग फ़्लो का इस्तेमाल, सिर्फ़ कुछ क्लिक करके, Cloud Run पर टैग करने वाले सर्वर को डिप्लॉय करने के लिए किया जा सकता है. अगर आपको अन्य एनवायरमेंट में टैग करने वाले सर्वर का प्रावधान करना है, तो मैन्युअल तरीके से ऐसा किया जा सकता है. टैग करने वाला सर्वर, Docker इमेज में Node.js सर्वर है.

टैग करने वाले सर्वर को मैन्युअल तरीके से सेट करने के लिए, सर्वर-साइड टैगिंग (एसएसटी) क्लस्टर और प्रीव्यू सर्वर को अलग-अलग प्रॉविज़निंग की ज़रूरत होती है. एसएसटी क्लस्टर, टैग करने वाले सर्वर को किए जाने वाले सभी अनुरोधों के लिए शुरुआती पॉइंट होता है. यह उन अनुरोधों को हैंडल करता है जिनके बारे में सर्वर साइड टैगिंग के बारे में जानकारी में बताया गया है. कंटेनर की झलक देखने के लिए, प्रीव्यू सर्वर ज़रूरी होता है.

टैग करने वाले सर्वर और झलक दिखाने वाले सर्वर के बीच डेटा इंटरैक्शन को दिखाने के लिए, इमेज 1 में दी गई इमेज देखें.

टैग करने वाले सर्वर का डायग्राम और सर्वर के डेटा फ़्लो की झलक

पहली इमेज: टैग करने वाले सर्वर का डायग्राम और सर्वर के डेटा फ़्लो की झलक.

इस गाइड में, इन कामों को करने का तरीका बताया गया है:

  • Docker इमेज के लिए उपलब्ध सभी सेटिंग देखें.
  • (ज़रूरी नहीं) BigQuery के क्रेडेंशियल शामिल करना
  • एसएसटी Docker इमेज का इस्तेमाल करके, प्रीव्यू सर्वर को मैन्युअल तरीके से प्रावधान करें.
  • एसएसटी डॉकर इमेज का इस्तेमाल करके, एसएसटी क्लस्टर को मैन्युअल तरीके से प्रावधान करें.
  • पुष्टि करें कि प्रीव्यू सर्वर और एसएसटी क्लस्टर को सही तरीके से कॉन्फ़िगर किया गया है.
  • सर्वर सेट अप करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.

इस गाइड में Docker कमांड चलाने के लिए, आपको सबसे पहले अपने कंप्यूटर पर Docker इंस्टॉल करना होगा.

Docker इमेज के लिए, सभी उपलब्ध सेटिंग देखें

टैग करने वाले सर्वर की Docker इमेज, इस यूआरएल पर मिल सकती है:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

टैग करने वाला सर्वर और झलक सर्वर, अलग-अलग फ़्लैग के साथ एक ही Docker इमेज का इस्तेमाल करते हैं. इस सेक्शन में, हम उन सभी सेटिंग को खोजने का तरीका जानेंगे जिन्हें Docker इमेज के साथ इस्तेमाल किया जा सकता है.

सभी उपलब्ध सेटिंग देखने के लिए, docker कमांड लाइन टूल का इस्तेमाल करके, इन्हें चलाएं:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(ज़रूरी नहीं) Google Cloud के क्रेडेंशियल शामिल करना

BigQuery या Firestore API को Google Cloud के बाहर इस्तेमाल करने के लिए, आपको सेवा खाते का ऐसा क्रेडेंशियल देना होगा जिसके पास उन संसाधनों को ऐक्सेस करने की अनुमति हो.

  1. BigQuery ऐक्सेस के लिए, BigQuery डेटा एडिटर की भूमिका वाला सेवा खाता बनाने के लिए, इस गाइड का पालन करें. इसके अलावा, BigQuery को ऐक्सेस करने के लिए Cloud Datastore के उपयोगकर्ता की भूमिका Firestore के लिए, इसके JSON क्रेडेंशियल को ऐक्सेस और एक्सपोर्ट करने के लिए, local_service_account_key.json फ़ाइल नाम का इस्तेमाल करें.
  2. JSON क्रेडेंशियल को ऐसे वॉल्यूम में माउंट करें जिसे इमेज के लिए ऐक्सेस किया जा सके. docker run का इस्तेमाल करके, इमेज में क्रेडेंशियल को माउंट करने के लिए, -v local_service_account_key.json:/app/service_account_key.json तय किया जा सकता है.
  3. GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल को क्रेडेंशियल पर पॉइंट करें.
  4. इसके अलावा, GOOGLE_CLOUD_PROJECT के एनवायरमेंट वैरिएबल में अपना Google Cloud प्रोजेक्ट आईडी डालें, ताकि टैग करने वाला सर्वर अनुमान से प्रोजेक्ट चुन सके.
  5. सर्वर चलाएं. यह निर्देश, टैग करने वाले ऐसे सर्वर को चलाता है जिसमें क्रेडेंशियल शामिल होते हैं:

    docker run -v local_service_account_key.json:/app/service_account_key.json \
    -p 8080:8080 \
    -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \
    -e GOOGLE_CLOUD_PROJECT='<your project id>' \
    -e CONTAINER_CONFIG='<config string>' \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

टैग करने वाले सर्वर को किस सिस्टम पर डिप्लॉय किया गया है, इसके हिसाब से क्रेडेंशियल को माउंट करने के अलग-अलग तरीके हो सकते हैं. उदाहरण के लिए, Kubernetes और Docker हिस्से, सीक्रेट मैनेज करने की गाइड उपलब्ध कराते हैं. ज़्यादा जानकारी के लिए, अपने सिस्टम की गाइड देखें.

अपने क्रेडेंशियल की सुरक्षा के लिए, सबसे सही तरीके अपनाएं.

प्रीव्यू सर्वर को मैन्युअल तरीके से प्रावधान करें

प्रीव्यू सर्वर की मदद से, सर्वर कंटेनर की झलक देखी जा सकती है. प्रीव्यू सर्वर को चलाने के लिए, Docker इमेज को Docker एनवायरमेंट को पास किए गए इन एनवायरमेंट वैरिएबल के साथ चलाएं.

ज़रूरी सेटिंग

  • CONTAINER_CONFIG - सर्वर कंटेनर के लिए कॉन्फ़िगरेशन स्ट्रिंग. Tag Manager में, अपने सर्वर कंटेनर वर्कस्पेस पर जाएं और पेज के सबसे ऊपर दाईं ओर मौजूद कंटेनर आईडी पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन वैल्यू देखने के लिए, मैन्युअल तरीके से टैग करने वाले सर्वर का प्रावधान करें पर क्लिक करें.

  • RUN_AS_PREVIEW_SERVER - सर्वर को झलक सर्वर के तौर पर प्रावधान करने के लिए, इसे true पर सेट करें.

Docker कमांड लाइन टूल को इस्तेमाल करने का उदाहरण

झलक सर्वर को स्थानीय तौर पर सेट अप करने के लिए, इसे चलाएं:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

http://localhost:8080/healthz के अनुरोध से, आपको 200 कोड वाला जवाब दिखेगा. इसके अलावा, पोर्ट को बदलने के लिए PORT एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है.

सबसे सही तरीके

  • आपको सिर्फ़ एक प्रीव्यू सर्वर डिप्लॉय करना होगा. एक इंस्टेंस के बाद, ऑटो स्केलिंग को कॉन्फ़िगर न करें.
  • Docker का इस्तेमाल करके प्रीव्यू सर्वर सेट अप करने के बाद, प्रीव्यू सर्वर पर ले जाने के लिए एक एचटीटीपीएस यूआरएल कॉन्फ़िगर करें. एसएसटी क्लस्टर सेट अप करने के लिए यह ज़रूरी है.
  • आपके लोड बैलेंसर या सीडीएन का टाइम आउट 20 सेकंड से ज़्यादा का होना चाहिए. ऐसा न करने पर, झलक मोड ठीक से काम नहीं करेगा.

सर्वर साइड टैगिंग क्लस्टर को मैन्युअल तरीके से प्रावधान करें

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

ज़रूरी सेटिंग

  • CONTAINER_CONFIG - सर्वर कंटेनर के लिए कॉन्फ़िगरेशन स्ट्रिंग. Tag Manager में, अपने सर्वर कंटेनर वर्कस्पेस पर जाएं और पेज के सबसे ऊपर दाईं ओर मौजूद कंटेनर आईडी पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन वैल्यू देखने के लिए, मैन्युअल तरीके से टैग करने वाले सर्वर का प्रावधान करें पर क्लिक करें.

  • PREVIEW_SERVER_URL - प्रीव्यू सर्वर के लिए एचटीटीपीएस यूआरएल. यह सेटिंग सिर्फ़ टैग करने वाले सर्वर के लिए सेट की जानी चाहिए. प्रीव्यू सर्वर के प्रावधान के लिए इसकी ज़रूरत नहीं होती. प्रीव्यू सर्वर सेट अप करने के बारे में गाइड के लिए, ऊपर दिया गया सेक्शन देखें.

Docker कमांड लाइन टूल को इस्तेमाल करने का उदाहरण

स्थानीय तौर पर, एक टैग करने वाले सर्वर का प्रावधान करने के लिए, इसे चलाएं:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

http://localhost:8080/healthz के अनुरोध से, आपको 200 कोड वाला जवाब दिखेगा. इसके अलावा, पोर्ट में बदलाव करने के लिए, PORT के एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है.

सबसे सही तरीके

  • सर्वर साइड टैगिंग सर्वर को या तो एक सर्वर या क्लस्टर के तौर पर बनाया जा सकता है. हमारा सुझाव है कि बेहतर उपलब्धता, बढ़ाए जा सकने की योग्यता, और परफ़ॉर्मेंस के लिए इसे क्लस्टर के तौर पर प्रावधान करें. कृपया ध्यान दें कि क्लस्टर के तौर पर प्रावधान करते समय, हर सर्वर इंस्टेंस को एक ही CONTAINER_CONFIG और PREVIEW_SERVER_URL एनवायरमेंट वैरिएबल के साथ कॉन्फ़िगर किया जाना चाहिए.
  • SST क्लस्टर डिप्लॉयमेंट को अपनी वेबसाइट पर एक ऐसे नए सबडोमेन पर ले जाना न भूलें जो आपके ऐप्लिकेशन को काम करने वाले सबडोमेन से अलग हो. उदाहरण के लिए, अगर आपका ऐप्लिकेशन example.com पर वेब ट्रैफ़िक दिखाता है, तो अपने टैग करने वाले सर्वर के लिए analytics.example.com जैसे सबडोमेन का इस्तेमाल करें.
  • Docker का इस्तेमाल करके SST क्लस्टर सेट अप करने के बाद, SST क्लस्टर को दिखाने के लिए, एचटीटीपीएस यूआरएल को कॉन्फ़िगर करें.
  • समय-समय पर सर्वर को रीस्टार्ट करना न भूलें, ताकि यह पक्का किया जा सके कि आपके सर्वर में एसएसटी के लिए सबसे नए कोड अपडेट हैं. ऐसा न करने पर, हो सकता है कि एसएसटी की नई सुविधाएं काम न करें. सर्वर को कब रीस्टार्ट करना है, यह जानने का एक तरीका है कि लाइवनेस की जांच सेट अप करें. इसके बारे में यहां ज़्यादा जानकारी दी गई है. साथ ही, कृपया ध्यान रखें कि आपके सर्वर कंटेनर में पब्लिश किए गए कोई भी अपडेट, रीस्टार्ट किए बिना लागू किए जाएंगे.
  • लाइव होने की जांच सेट अप करने के लिए, टैग करने वाले सर्वर पर मौजूदा /healthz एंडपॉइंट (जैसे, https://analytics.example.com/healthz) का इस्तेमाल करें. खराब रिस्पॉन्स का मतलब है कि सर्वर को फिर से चालू किया जाना चाहिए.
  • Docker कंटेनर में, एक डिफ़ॉल्ट हेल्थ चेक कमांड—HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]—शामिल है, जो समय-समय पर /healthz एंडपॉइंट से क्वेरी करता है. अगर आपको Docker हेल्थ जांच की ज़रूरत है, तो Docker के निर्देशों का पालन करके ये सेटिंग बदली जा सकती हैं.
  • अगर झलक दिखाने वाला सर्वर और टैग करने वाला सर्वर एक ही ऑरिजिन पर है, तो झलक सर्वर को टैग करने वाले सर्वर के बजाय किसी दूसरे पाथ पर होस्ट करें. पाथ के साथ PREVIEW_SERVER_URL बताएं.
  • प्रावधान किए गए सर्वर में ज़्यादा से ज़्यादा एक vCPU होना चाहिए. अतिरिक्त vCPU का इस्तेमाल नहीं किया जाता है और ऑटोस्केलिंग पर बुरा असर पड़ता है.

पुष्टि

सर्वर कंटेनर का यूआरएल कॉन्फ़िगर करें

Tag Manager में, अपने सर्वर कंटेनर पर जाएं. एडमिन > कंटेनर की सेटिंग में जाकर, टैग करने वाले सर्वर के यूआरएल को सर्वर कंटेनर यूआरएल फ़ील्ड में डालें और सेव करें पर क्लिक करें.

'झलक देखें' मोड से पुष्टि करें

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

अगर आपने टैग करने वाले एक सर्वर पर कई सबडोमेन मैप किए हैं और आपको हर सबडोमेन की झलक देखनी है, तो एडमिन > कंटेनर सेटिंग में जाकर, सर्वर कंटेनर के यूआरएल जोड़ें. अगर एक से ज़्यादा यूआरएल दिए गए हैं, तो सभी यूआरएल पाथ एक-दूसरे से मैच होने चाहिए. यह डोमेन नेम के बाद दिखने वाली जानकारी की स्ट्रिंग है. उदाहरण के लिए, example.com/abc और example2.com/abc पर झलक देखी जा सकती है, लेकिन example.com/abc और example2.com/def पर इसकी झलक नहीं देखी जा सकती. अगर एक से ज़्यादा यूआरएल जोड़े जाते हैं, तो आपको झलक देखें बटन के बगल में एक आइकॉन दिखेगा. इससे आपको वह यूआरएल चुनने में मदद मिलेगी जिसकी झलक देखनी है.

टैग करने वाले सर्वर का वर्शन अपडेट करें

gtm-cloud-image इमेज में Node.js और टैग करने वाले सर्वर को काम करने के लिए ज़रूरी लाइब्रेरी शामिल हैं. Docker इमेज को सुरक्षा से जुड़े सुधारों और नई सुविधाओं के लिए, समय-समय पर अपडेट किया जाता है. हमारा सुझाव है कि हर मेजर वर्शन रिलीज़ के लिए, टैग करने वाले सर्वर को कम से कम अपडेट करें (उदाहरण के लिए, 1.x.x से 2.x.x वर्शन में अपग्रेड करना).

अपनी Docker इमेज को अपडेट करने के लिए:

  1. इमेज का मौजूदा वर्शन gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable से फ़ेच करें.
  2. अपने सर्वर को उसी सेटिंग के साथ डिप्लॉय करें जो आपने पिछले डिप्लॉयमेंट की थी.
  3. सिंगल प्रीव्यू सर्वर और क्लस्टर में टैग करने वाले सभी सर्वर अपडेट करें.
  4. सभी पुराने सर्वर बंद कर दें.

अपडेट की पुष्टि करने के लिए:

  1. अपने सर्वर कंटेनर में, नया डीबग सेशन शुरू करने के लिए, झलक देखें बटन पर क्लिक करें और किसी दूसरे टैब पर अनुरोध भेजें.
  2. खास जानकारी में, कंसोल टैब चुनें और पक्का करें कि टैग करने वाले सर्वर को अपडेट करने का अनुरोध करने वाला कोई मैसेज न हो.

Tag Manager ऐसे मैसेज दिखा सकता है जिसमें आपसे, सर्वर के अपडेट होने के एक दिन बाद तक, टैग करने वाले सर्वर को अपडेट करने के लिए कहा जाता है. हालांकि, झलक दिखाने वाले पेज पर टैग करने वाले सर्वर के वर्शन के बारे में अप-टू-डेट मैसेज दिखेगा.