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

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

वर्शन 2.0.0

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

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

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

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

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

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

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

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

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

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

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

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

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

सैंपल

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

ग्लोबल लॉग

नीचे दी गई नीति, Cloud के ग्लोबल रिसॉर्स में 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>cloud-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

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

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

सिंटैक्स

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-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 लॉग एंट्री के बारे में मेटाडेटा.
metadata में type और labels को सेट करने के बारे में ज़्यादा जानकारी और विकल्पों के लिए, MonitoredResource देखें.
JSON कोई नहीं नहीं
message इस लॉग एंट्री की वैल्यू के तौर पर इस्तेमाल किया जाने वाला डेटा. ज़्यादा स्ट्रक्चर्ड मैसेज को लॉग करने के लिए, कोई सामान्य स्ट्रिंग दी जा सकती है या JSON का इस्तेमाल किया जा सकता है. स्ट्रिंग या JSON कोई नहीं हां

जवाब

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

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

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

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

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

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

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

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

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