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

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

वर्शन 1.2.1

Stackdriver Logging लॉग में एंट्री लिखता है.

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

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

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

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

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

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

Stackdriver Logging के बारे में जानकारी

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

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

ज़्यादा जानकारी के लिए, Stackdriver Logging के दस्तावेज़ देखें.

सैंपल

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

ग्लोबल लॉग

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

<?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

यह फ़ंक्शन, लॉग में कोई मैसेज लिखता है.

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

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

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

जवाब

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

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

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

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

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

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

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

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

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