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

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

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

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

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

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

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

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

इस गाइड में दिए गए 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 क्रेडेंशियल शामिल करें

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

  1. BigQuery को ऐक्सेस करने के लिए BigQuery डेटा एडिटर की भूमिका वाला सेवा खाता बनाने के लिए, इस गाइड को फ़ॉलो करें. इसके अलावा, Firestore को ऐक्सेस करने के लिए Cloud Datastore उपयोगकर्ता की भूमिका वाला सेवा खाता बनाएं और उसके 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 Swarm, सीक्रेट मैनेज करने के लिए गाइड उपलब्ध कराते हैं. ज़्यादा जानकारी के लिए, अपने सिस्टम की गाइड देखें.

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

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

प्रीव्यू सर्वर की मदद से, सर्वर कंटेनर की झलक देखी जा सकती है. झलक देखने वाले सर्वर को चलाने के लिए, 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/healthy से किए गए अनुरोध का 200 जवाब दिखना चाहिए. पोर्ट बदलने के लिए, PORT एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.

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

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

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

एसएसटी क्लस्टर, एंट्री पॉइंट के तौर पर काम करता है. यह झलक देखने के अनुरोधों को झलक देखने वाले सर्वर पर प्रॉक्सी करता है. साथ ही, सर्वर-साइड टैगिंग के बारे में जानकारी में बताए गए सभी अनुरोधों को हैंडल करता है. टैगिंग सर्वर की Docker इमेज के साथ इन ज़रूरी सेटिंग का इस्तेमाल करें, ताकि 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/healthy से किए गए अनुरोध का 200 जवाब दिखेगा. वैकल्पिक रूप से, पोर्ट बदलने के लिए PORT एनवायरमेंट वैरिएबल का इस्तेमाल करें.

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

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

पुष्टि

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

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. खास जानकारी में, Console टैब चुनें. साथ ही, पक्का करें कि टैगिंग सर्वर को अपडेट करने के लिए कोई मैसेज न हो.

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