Google Stackdriver लॉगिंग एक्सटेंशन

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

वर्शन 1.3.7

Stackdriver लॉगिंग लॉग में एंट्री लिखें.

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है.

ज़रूरी शर्तें

एपीआई प्रॉक्सी से इस एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

  1. IAM में, प्रोजेक्ट के उस सदस्य को लॉगिंग > लॉग लिखने वाला और लॉगिंग > लॉग देखने वाला भूमिका असाइन करें जो Stackdriver लॉगिंग सिस्टम में आपके एक्सटेंशन को दिखाएगा. भूमिकाएं देने का तरीका जानने के लिए, किसी खास संसाधन के लिए सेवा खाते को भूमिकाएं देना लेख पढ़ें. भूमिकाओं को लॉग करने के बारे में ज़्यादा जानने के लिए, ऐक्सेस कंट्रोल गाइड देखें.

  2. सेवा खाते के लिए कुंजी जनरेट करने के लिए, GCP Console का इस्तेमाल करें.

  3. कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी वाली JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.

इस एक्सटेंशन को PostClientFlow में मौजूद ExtensionCallout नीति से कॉल किया जा सकता है. अगर आपको PostClientFlow से इस एक्सटेंशन को कॉल करने के लिए, ExtensionCallout नीति का इस्तेमाल करना है, तो पक्का करें कि आपके संगठन में features.allowExtensionsInPostClientFlow फ़्लैग, true पर सेट हो.

  • अगर आप Public Cloud के लिए Apigee Edge के ग्राहक हैं, तो आपको Apigee Edge की सहायता टीम से संपर्क करके यह पक्का करना होगा कि आपके संगठन में features.allowExtensionsInPostClientFlow फ़्लैग, true पर सेट हो.

  • अगर आप निजी क्लाउड के लिए Apigee Edge के ग्राहक हैं, तो features.allowExtensionsInPostClientFlow फ़्लैग को true पर सेट करने के लिए, संगठन की प्रॉपर्टी अपडेट करें एपीआई का इस्तेमाल करें.

Stackdriver लॉगिंग के बारे में जानकारी

Stackdriver लॉगिंग, Google Cloud Platform (GCP) में Stackdriver के प्रॉडक्ट के सुइट का हिस्सा है. इसमें लॉग के लिए स्टोरेज, लॉग व्यूअर नाम का यूज़र इंटरफ़ेस, और प्रोग्राम के हिसाब से लॉग मैनेज करने के लिए एपीआई शामिल है. Stackdriver लॉगिंग की मदद से, लॉग एंट्री को पढ़ा और लिखा जा सकता है. साथ ही, लॉग को खोजा और फ़िल्टर किया जा सकता है. इसके अलावा, लॉग को एक्सपोर्ट किया जा सकता है और लॉग पर आधारित मेट्रिक बनाई जा सकती हैं.

फ़िलहाल, यह एक्सटेंशन लॉग में एंट्री लिखता है. ज़्यादा जानकारी के लिए, Stackdriver लॉगिंग के दस्तावेज़ देखें.

सैंपल

यहां दिए गए उदाहरणों में, ExtensionCallout नीति का इस्तेमाल करके, Stackdriver लॉगिंग एक्सटेंशन ऐक्शन के लिए सहायता कॉन्फ़िगर करने का तरीका बताया गया है.

ग्लोबल लॉग

नीचे दी गई नीति, Stackdriver ग्लोबल रिसॉर्स में example-log नाम के लॉग में "यह एक टेस्ट है" मैसेज लिखती है. असल में, आपको मैसेज को किसी ऐसे फ़्लो वैरिएबल में रखना होगा जिसकी वैल्यू, एपीआई प्रॉक्सी में कहीं और सेट की गई हो.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>stackdriver-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test"
    }]]></Input>
</ConnectorCallout>

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है. Apigee console का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और कॉन्फ़िगर करना लेख पढ़ें.

कार्रवाइयां

log

लॉग में कोई मैसेज लिखता है.

यह कार्रवाई, Stackdriver लॉग एंट्री लिखती है. लॉग एंट्री में मेटाडेटा और एंट्री डेटा शामिल होता है. लॉग एंट्री के बारे में ज़्यादा जानने के लिए, एंट्री का रेफ़रंस देखें. metadata प्रॉपर्टी के कॉन्टेंट के बारे में जानकारी पाने के लिए, Stackdriver लॉगिंग दस्तावेज़ में LogEntry ऑब्जेक्ट देखें.

सिंटैक्स

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "stackdriver-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

उदाहरण

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "stackdriver-log-name-to-use",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : "data-to-log-as-entry"
}]]></Input>

अनुरोध पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
logName उस लॉग का नाम जिससे यह एंट्री जुड़ी है. स्ट्रिंग कोई नहीं. हां.
मेटाडेटा लॉग एंट्री के बारे में मेटाडेटा.
metadata में type और labels को सेट करने के बारे में ज़्यादा जानकारी और विकल्पों के लिए, MonitoredResource देखें.
JSON कोई नहीं. नहीं.
मैसेज इस लॉग एंट्री की वैल्यू के तौर पर इस्तेमाल किया जाने वाला डेटा. स्ट्रिंग कोई नहीं. हां.

जवाब

अगर मैसेज को लॉग में लिखा गया था, तो कोई नहीं. ऐसा न करने पर, अनुरोध में गड़बड़ी का मैसेज दिखेगा. किसी एक्सटेंशन को डीबग करना लेख भी देखें.

कॉन्फ़िगरेशन का रेफ़रंस

एपीआई प्रॉक्सी में इस्तेमाल करने के लिए, इस एक्सटेंशन को कॉन्फ़िगर और डिप्लॉय करते समय इनका इस्तेमाल करें.

सामान्य एक्सटेंशन प्रॉपर्टी

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां

इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी

इस एक्सटेंशन के लिए, यहां दी गई कॉन्फ़िगरेशन प्रॉपर्टी की वैल्यू दें.

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
projectId वह GCP प्रोजेक्ट आईडी जहां लॉग बनाने हैं. कोई नहीं. हां.
क्रेडेंशियल Apigee Edge कंसोल में डालने पर, यह आपके सेवा खाते की कुंजी फ़ाइल का कॉन्टेंट होता है. इसे मैनेजमेंट एपीआई के ज़रिए भेजने पर, यह सेवा खाते की पासकोड फ़ाइल से जनरेट की गई, Base64 में एन्कोड की गई वैल्यू होती है. कोई नहीं. हां.