analytics Collector नीति

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

क्या

इस सुविधा की मदद से, मैसेज में मौजूद डेटा के आंकड़े इकट्ठा किए जा सकते हैं. जैसे, प्रॉडक्ट आईडी, कीमत, 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 के बारे में आंकड़े इकट्ठा किए जाते हैं. हर अनुरोध पर, Statistics Collector की नीति, इन दोनों वैरिएबल की वैल्यू को Analytics सर्वर में लिखती है.

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

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

आंकड़ों को ऐक्सेस करना

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

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>

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

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

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

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

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

Statistics Collector की नीति के लिए, एक्सएमएल पेलोड से डेटा एक्सट्रैक्ट करने का तरीका जानने के लिए, एपीआई मैसेज के कॉन्टेंट का विश्लेषण करने के लिए कस्टम Analytics का इस्तेमाल करना लेख पढ़ें.


Statistics Collector की नीति के बारे में जानकारी

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

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

Statistics Collector की नीति का इस्तेमाल करने का तरीका जानने के लिए, एपीआई मैसेज के कॉन्टेंट का विश्लेषण करने के लिए कस्टम Analytics का इस्तेमाल करना लेख पढ़ें.

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

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

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

ज़्यादा जानकारी के लिए, गड़बड़ियों को हैंडल करना लेख पढ़ें.

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

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

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

<StatisticsCollector> एट्रिब्यूट

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

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

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

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

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

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

किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए false पर सेट करें. यह उम्मीद है व्यवहार की जानकारी देने वाला डेटा.

नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे true पर सेट करें विफल होता है.

गलत वैकल्पिक
enabled

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

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

सही वैकल्पिक
async

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

गलत बहिष्कृत

&lt;DisplayName&gt; एलिमेंट

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

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

लागू नहीं

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

मौजूदगी वैकल्पिक
टाइप स्ट्रिंग

<Statistics>/<Statistic> एलिमेंट

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

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

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

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

यह ref एट्रिब्यूट से तय किए गए वैरिएबल का डेटा टाइप तय करता है. मान्य वैल्यू ये हैं: string/integer/float/long/double/boolean.

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

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

स्ट्रिंग वैकल्पिक

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

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

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

कोई नहीं.

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

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

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

कोई नहीं.

स्कीमा

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

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

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