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

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

वर्शन 1.2.1

स्टैकड्राइवर लॉगिंग लॉग में एंट्री लिखें.

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

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

किसी API प्रॉक्सी से इस एक्सटेंशन का उपयोग करने से पहले, आपको:

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

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

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

स्टैकड्राइवर लॉगिंग के बारे में

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

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

ज़्यादा जानकारी के लिए, स्टैकड्राइवर लॉगिंग दस्तावेज़ देखें.

सैंपल

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

ग्लोबल लॉग

इस नीति में Stackdriver Global के संसाधन में 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 कंसोल का इस्तेमाल करके, एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और उसे कॉन्फ़िगर करना देखें.

कार्रवाइयाँ

log

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

इस कार्रवाई से स्टैकड्राइवर लॉग एंट्री लिखी जाती है. लॉग एंट्री में मेटाडेटा और एंट्री डेटा शामिल होता है. लॉग एंट्री के बारे में ज़्यादा जानने के लिए, एंट्री रेफ़रंस देखें. metadata प्रॉपर्टी के कॉन्टेंट के बारे में जानकारी के लिए, Stackdriver Logging दस्तावेज़ में 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" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

उदाहरण: JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

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

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

जवाब

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

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

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

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

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

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

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

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

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