analytics Collector नीति

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

यह क्या है

इससे आपको किसी मैसेज में मौजूद डेटा के आंकड़े इकट्ठा करने की सुविधा मिलती है. जैसे, प्रॉडक्ट आईडी, कीमत, REST कार्रवाई, क्लाइंट और टारगेट यूआरएल, और मैसेज की लंबाई. यह डेटा, Apigee या आपके तय किए गए कस्टम वैरिएबल से पहले से तय किए गए फ़्लो वैरिएबल से मिल सकता है.

आंकड़ों का डेटा, Analytics सर्वर के पास भेजा जाता है. सर्वर, आंकड़ों का विश्लेषण करता है और रिपोर्ट जनरेट करता है. Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) या Edge API का इस्तेमाल करके, रिपोर्ट देखी जा सकती हैं.

सैंपल

बुनियादी उदाहरण

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
    <Statistic name="price" ref="product.price" type="string">0</Statistic>
  </Statistics>
</StatisticsCollector>

इस उदाहरण में, दो कस्टम वैरिएबल के बारे में आंकड़ों की जानकारी इकट्ठा की जाती है: product.id और product.price. हर अनुरोध पर, आंकड़ों कलेक्टर की नीति, Analytics के सर्वर पर इन दो वैरिएबल की वैल्यू लिखती है.

यह उदाहरण हर वैरिएबल के लिए एक वैकल्पिक डिफ़ॉल्ट वैल्यू भी सेट करता है, जहां product.id की डिफ़ॉल्ट वैल्यू 999999 है और डिफ़ॉल्ट product.price 0 है. अगर कोई वैरिएबल तय नहीं है और आपने उसके लिए डिफ़ॉल्ट वैल्यू नहीं तय की है, तो वैरिएबल के लिए कोई डेटा रिकॉर्ड नहीं किया जाएगा. अगर एक डिफ़ॉल्ट वैल्यू तय की जाती है, तो वैरिएबल के तय न होने पर डिफ़ॉल्ट वैल्यू रिकॉर्ड हो जाती है.

आंकड़ों का डेटा इकट्ठा करने के बाद, उसे वापस पाने के लिए, Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल किया जा सकता है. आंकड़े हासिल करते समय, इन वैरिएबल के लिए इकट्ठा किए गए डेटा को productID और price के तौर पर दिखाया जाता है.

आंकड़ों तक पहुंचना

इस उदाहरण में, productID नाम के कलेक्शन का आंकड़ों का डेटा देखने के लिए, Edge मैनेजमेंट एपीआई का इस्तेमाल किया गया है. यह अनुरोध, हर दिन के लिए हर प्रॉडक्ट आईडी के लिए सबमिट किए गए मैसेज की कुल संख्या के आधार पर, प्रॉडक्ट आईडी के लिए एक कस्टम रिपोर्ट बनाता है. अपने संगठन के नाम की जगह {org_name} वैरिएबल डालें. साथ ही, Apigee Edge पर मौजूद अपने खाते की जगह, email:password का ईमेल और पासवर्ड डालें.

वह समय अंतराल शामिल करने के लिए जब आपका डेटा इकट्ठा किया गया था, timeRange पैरामीटर सेट करें. मौजूदा तारीख से छह महीने से ज़्यादा पुराना डेटा डिफ़ॉल्ट रूप से ऐक्सेस नहीं किया जा सकता. अगर आपको छह महीने से पुराना डेटा ऐक्सेस करना है, तो Apigee Edge की सहायता टीम से संपर्क करें.

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/stats/productID?"select=sum(message_count)&timeRange=1/19/2015%2000:00~6/21/2015%2000:00&timeUnit=day"
-u email:password

जवाब में, नाम फ़ील्ड में प्रॉडक्ट आईडी शामिल होता है और वैल्यू हर दिन के लिए मिले अनुरोधों की संख्या दिखाती है:

{
  "environments" : [ {
    "dimensions" : [ {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "4.0"
        } ]
      } ],
      "name" : "52"
    }, {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values" : [ {
          "timestamp" : 1353369600000,
          "value" : "19.0"
        } ]
      } ],
      "name" : "14"
    }, ...
  } ],
  "metaData" : {
    "samplingRate" : "100"
  }
}

कलेक्शन के लिए डेटा एक्सट्रैक्ट करना

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="GetWeatherData">
    <VariablePrefix>weather</VariablePrefix>
    <XMLPayload>
       <Namespaces>
          <Namespace prefix="yweather">http://xml.weather.yahoo.com/ns/rss/1.0</Namespace>
       </Namespaces>
       <Variable name="location" type="string">
          <XPath>/rss/channel/yweather:location/@city</XPath>
       </Variable>
       <Variable name="condition" type="string">
          <XPath>/rss/channel/item/yweather:condition/@text</XPath>
       </Variable>
    </XMLPayload>
</ExtractVariables>

सांख्यिकी कलेक्टर नीति के मुताबिक, इकट्ठा किए गए डेटा को वैरिएबल में स्टोर करना ज़रूरी है. ये वैरिएबल, Apigee या आपके तय किए गए कस्टम वैरिएबल के ज़रिए पहले से तय किए जा सकते हैं.

इस उदाहरण में, एक्सट्रैक्ट वैरिएबल नीति का इस्तेमाल ऐसे एक्सएमएल पेलोड से डेटा एक्सट्रैक्ट करने के लिए किया जा रहा है जिसमें मौसम की जानकारी शामिल है. इस नीति की मदद से:

  • शहर का नाम एक्सट्रैक्ट करता है और उसे weather.location नाम वाले वैरिएबल पर लिखता है
  • मौजूदा स्थितियों को एक्सट्रैक्ट करता है और उसे weather.condition नाम वाले वैरिएबल में लिखता है

इसके बाद, स्टैटिस्टिक्स कलेक्टर नीति का इस्तेमाल करके, वैरिएबल के बारे में जानकारी इकट्ठा की जा सकती है, जैसा कि यहां दिखाया गया है:

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic>
    <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic>
  </Statistics>
</StatisticsCollector>

स्टैटिस्टिक्स कलेक्टर नीति के तहत, एक्सएमएल पेलोड से डेटा निकालने का तरीका बताने वाले ट्यूटोरियल के लिए, कस्टम ऐनलिटिक्स का इस्तेमाल करके एपीआई मैसेज के कॉन्टेंट का विश्लेषण करना देखें.


सांख्यिकी कलेक्टर नीति के बारे में जानकारी

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

नीति से इकट्ठा किए गए आंकड़ों का डेटा ऐक्सेस करने के लिए, EDGE API या Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें. उदाहरण के लिए, ऐसी कस्टम रिपोर्ट बनाने के लिए Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल किया जा सकता है जो इकट्ठा किए गए डेटा को अलग-अलग फ़ॉर्मैट में दिखाता है.

स्टैटिस्टिक्स कलेक्टर नीति का इस्तेमाल करके पूरे ट्यूटोरियल के लिए, कस्टम ऐनलिटिक्स का इस्तेमाल करके एपीआई मैसेज के कॉन्टेंट का विश्लेषण करना देखें.

नीति को कहां लागू करें

एपीआई प्रॉक्सी के अनुरोध या रिस्पॉन्स फ़्लो में, स्टैटिस्टिक्स कलेक्टर नीति लागू की जा सकती है. हालांकि, अगर प्रॉक्सी में एक से ज़्यादा स्टैटिस्टिक्स कलेक्टर नीतियां लागू की जाती हैं, तो आखिरी बार लागू होने वाला डेटा यह तय करता है कि Analytics सर्वर पर कौनसा डेटा सेव होगा और स्टैटिस्टिक्स कलेक्टर की पिछली नीतियों से लिखे गए डेटा का पता नहीं चलता.

एक स्थिति तब होती है, जब एपीआई प्रॉक्सी में एक से ज़्यादा स्टैटिस्टिक्स कलेक्टर नीतियां लागू होती हैं. ऐसा तब होता है, जब एक नीति अनुरोध या रिस्पॉन्स फ़्लो में होती है और दूसरी, गड़बड़ी हैंडलर में होती है. अगर एपीआई प्रॉक्सी में कोई गड़बड़ी होती है, तो गड़बड़ी के हैंडलर में मौजूद स्टैटिस्टिक्स कलेक्टर, इकट्ठा किए गए डेटा का पता लगाता है. उस 'आंकड़े कलेक्टर' का इस्तेमाल आप गलती के बारे में जानकारी रिकॉर्ड करने के लिए या कोई दूसरी ज़रूरी जानकारी रिकॉर्ड करने के लिए कर सकते हैं. गड़बड़ी हैंडलर में आंकड़ों का कलेक्टर, इकट्ठा किए गए डेटा का पता लगाता है, भले ही अनुरोध/जवाब में आंकड़ों का कलेक्टर पहले से काम कर रहा हो या नहीं.

ज़्यादा जानकारी के लिए, गड़बड़ियां ठीक करना देखें.

एलिमेंट का रेफ़रंस

एलिमेंट रेफ़रंस, स्टैटिस्टिक्स कलेक्टर नीति के एलिमेंट और एट्रिब्यूट के बारे में बताता है.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

<Exportकलेक्टor> एट्रिब्यूट

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">

इस टेबल में उन एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट के लिए एक जैसे होते हैं:

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
name

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू में अक्षर, संख्याएं, स्पेस, हाइफ़न, अंडरस्कोर, और पीरियड शामिल किए जा सकते हैं. इस वैल्यू में 255 से ज़्यादा वर्ण नहीं हो सकते.

इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें.

लागू नहीं ज़रूरी है
continueOnError

इस नीति को false पर सेट करें, ताकि नीति के काम न करने पर गड़बड़ी का मैसेज दिखे. ज़्यादातर नीतियों में, ऐसा आम तौर पर किया जाता है.

किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, true पर सेट करें.

false ज़रूरी नहीं
enabled

नीति लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. अगर यह नीति किसी फ़्लो से जुड़ी हुई है, तब भी उसे लागू नहीं किया जाएगा.

सही ज़रूरी नहीं
async

यह एट्रिब्यूट अब काम नहीं करता.

false बहिष्कृत

<DisplayName> एलिमेंट

मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name एट्रिब्यूट का इस्तेमाल करें.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के name एट्रिब्यूट की वैल्यू का इस्तेमाल किया जाता है.

मौजूदगी ज़रूरी नहीं
Type String

<आंकड़े>/<आंकड़े> एलिमेंट

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
नाम

किसी वैरिएबल के लिए इकट्ठा किए गए डेटा को रेफ़र करने के लिए इस्तेमाल किया गया नाम. Analytics डेटा को देखते समय, इस नाम का इस्तेमाल, ref एट्रिब्यूट के ज़रिए बताए गए वैरिएबल के बारे में इकट्ठा किए गए डेटा का रेफ़रंस देने के लिए करें.

अगर ref के बताए गए वैरिएबल के बारे में किसी अनुरोध या जवाब के लिए जानकारी नहीं दी गई है, तो defaultStatValue, वैरिएबल के लिए इकट्ठा की गई वैल्यू के बारे में बताता है. अगर आप डिफ़ॉल्ट वैल्यू को छोड़ देते हैं, तो वैरिएबल के तय न होने पर उसके लिए कोई डेटा इकट्ठा नहीं किया जाता.

नाम रखने से जुड़ी पाबंदियां

कस्टम Analytics वैरिएबल पर, नाम रखने से जुड़ी ये पाबंदियां लागू होती हैं:

  • नाम में ये वर्ण शामिल हो सकते हैं: a-z, 0-9, _ (अंडरस्कोर)
  • नामों में स्पेस शामिल नहीं किए जा सकते.
  • नाम dsi, response_time, timekey या timestamp नहीं हो सकते.
  • केस को अनदेखा कर दिया जाता है.
  • पहले से तय किसी Analytics मेट्रिक, डाइमेंशन या फ़िल्टर के नाम का इस्तेमाल नहीं किया जा सकता. हालांकि, इसके लिए Analytics की मेट्रिक, डाइमेंशन, और फ़िल्टर रेफ़रंस में शामिल होना ज़रूरी है.
  • ऊपर बताई गई बातों के अलावा, इस पेज पर मौजूद कीवर्ड की अनुमति नहीं है:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
लागू नहीं ज़रूरी है
संदर्भ

वह फ़्लो वैरिएबल जिसके लिए आंकड़े इकट्ठा किए जा रहे हैं. यह वैरिएबल, Apigee से पहले से तय किया गया फ़्लो वैरिएबल या कोई ऐसा कस्टम वैरिएबल हो सकता है जिसे आपने अपने एपीआई प्रॉक्सी में तय किया है.

ref एट्रिब्यूट अक्सर ऐसे कस्टम वैरिएबल का रेफ़रंस देता है जिसे एक्सट्रैक्ट वैरिएबल नीति से तय किया गया है. ज़्यादा जानकारी के लिए, वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति देखें.

लागू नहीं ज़रूरी है
टाइप करें

ref एट्रिब्यूट से तय किए गए वैरिएबल के डेटा टाइप के बारे में बताता है. मान्य वैल्यू हैं: स्ट्रिंग/इंटीजर/फ़्लोट/लॉन्ग/डबल/बूलियन.

स्ट्रिंग टाइप के डेटा के लिए, कस्टम रिपोर्ट में डाइमेंशन के तौर पर आंकड़ों का डेटा देखें. संख्या वाले डेटा टाइप (इंटीजर/फ़्लोट/लॉन्ग/डबल) के लिए, कस्टम रिपोर्ट में आंकड़ों के डेटा को डाइमेंशन या मेट्रिक के तौर पर देखें. ज़्यादा जानकारी के लिए, कस्टम रिपोर्ट मैनेज करना देखें.

type की वैल्यू सिर्फ़ तब दिखाई जा सकती है, जब ref किसी पहले से तय Apigee फ़्लो वैरिएबल को रेफ़र कर रहा हो या टाइप का एलान एक्सट्रैक्ट वैरिएबल नीति के एक्सएमएल पेलोड में किया गया हो.

स्ट्रिंग ज़रूरी नहीं

गड़बड़ी का रेफ़रंस

इस सेक्शन में गड़बड़ी के मैसेज और फ़्लो वैरिएबल के बारे में बताया गया है. ये वैरिएबल तब सेट किए जाते हैं, जब इस नीति के तहत कोई गड़बड़ी ट्रिगर होती है. यह जानकारी जानना ज़रूरी है कि क्या प्रॉक्सी के लिए गड़बड़ी के नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.

रनटाइम से जुड़ी गड़बड़ियां

कोई नहीं.

डिप्लॉयमेंट से जुड़ी गड़बड़ियां

गड़बड़ी का नाम वजह समाधान
UnsupportedDatatype अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में ref एट्रिब्यूट के ज़रिए बताया गया वैरिएबल काम नहीं करता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. string, integer, float, long, double, और boolean डेटा टाइप का इस्तेमाल किया जा सकता है.
InvalidName अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में तय किए गए वैरिएबल के लिए इकट्ठा किए गए डेटा का रेफ़रंस देने के लिए इस्तेमाल किया गया नाम, सिस्टम से तय किए गए वैरिएबल से मेल नहीं खाता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. सिस्टम से तय किए गए कुछ वैरिएबल, organization और environment हैं.
DatatypeMissing अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में, ref एट्रिब्यूट के ज़रिए बताया गया वैरिएबल मौजूद नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

गड़बड़ी वाले वैरिएबल

कोई नहीं.

स्कीमा

हर तरह की नीति को एक्सएमएल स्कीमा (.xsd) से तय किया जाता है. रेफ़रंस के लिए, नीति के स्कीमा GitHub पर उपलब्ध हैं.

मिलते-जुलते विषय

ज़्यादा जानकारी के लिए, ये देखें: