analytics Collector नीति

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

क्या

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

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

सैंपल

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

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

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

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

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

इस उदाहरण में, Edge management API का इस्तेमाल करके, productID नाम का संग्रह. यह अनुरोध, के लिए एक कस्टम रिपोर्ट बनाता है हर प्रॉडक्ट आईडी के लिए, सबमिट किए गए मैसेज की कुल संख्या के आधार पर प्रॉडक्ट आईडी दिन. वैरिएबल {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

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

{
  "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>

एक पूरे ट्यूटोरियल के लिए जो दिखाता है कि स्टैटिस्टिक्स कलेक्टर नीति, विश्लेषण API देखें मैसेज कॉन्टेंट देखने की सुविधा मिलती है.


स्टैटिस्टिक्स कलेक्टर नीति के बारे में

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

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

स्टैटिस्टिक्स कलेक्टर नीति का इस्तेमाल करके पूरे ट्यूटोरियल के लिए, Analytics API देखें मैसेज कॉन्टेंट देखने की सुविधा मिलती है.

नीति को कहां रखें

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

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

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

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

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

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

&lt;StatisticsCollector&gt; एट्रिब्यूट

<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 एट्रिब्यूट की वैल्यू यह होगी इस्तेमाल किया गया.

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

&lt;Statistics&gt;/&lt;Statistic&gt; एलिमेंट

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

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

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

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

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

  • नाम में ये वर्ण हो सकते हैं: 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 एट्रिब्यूट से तय किया गया है. मान्य वैल्यू ये हैं: string/integer/float/long/double/boolean.

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

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

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

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

This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

None.

Deployment errors

Error name Cause Fix
UnsupportedDatatype If the type of the variable specified by the ref attribute in the <Statistic> element of the Statistics Collector policy is unsupported, then the deployment of the API proxy fails. The supported data types are string, integer, float, long, double, and boolean.
InvalidName If the name used to reference the data collected for the specified variable defined within the <Statistic> element of the Statistics Collector policy conflicts with a system-defined variable, then the deployment of the API proxy fails. Some of the known system-defined variables are organization and environment.
DatatypeMissing If the type of the variable specified by the ref attribute in the <Statistic> element of the Statistics Collector policy is missing, then the deployment of the API proxy fails.

Fault variables

None.

स्कीमा

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

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

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