خط‌مشی StatisticsCollector

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

چه

به شما امکان می‌دهد آمار داده‌های موجود در پیام را جمع‌آوری کنید، مثل شناسه محصول، قیمت، کنش REST، نشانی وب مشتری و هدف، و طول پیام. داده‌ها می‌توانند از متغیرهای جاری‌سازی ازپیش‌تعریف‌شده توسط Apigee یا متغیرهای سفارشی که شما تعریف می‌کنید، گرفته شوند.

داده‌های آماری به سرور تجزیه‌وتحلیل منتقل می‌شود، که آمار را تجزیه‌وتحلیل می‌کند و گزارش تولید می‌کند. بااستفاده از «میانای کاربر مدیریت Edge» یا «میانای برنامه‌سازی کاربردی 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 برابر با ۹۹۹۹۹۹ و مقدار پیش‌فرض product.price برابر با ۰ است. اگر متغیری تعریف نشده باشد و مقدار پیش‌فرضی برای آن مشخص نکنید، داده‌ای برای متغیر ثبت نمی‌شود. اگر مقدار پیش‌فرضی را مشخص کنید، مقدار پیش‌فرض زمانی ثبت می‌شود که متغیر تعریف نشده باشد.

پس‌از جمع‌آوری داده‌های آماری، می‌توانید از رابط کاربری یا API مدیریت Edge برای بازیابی آمار استفاده کنید. هنگام بازیابی آمار، به داده‌های جمع‌آوری‌شده برای این متغیرها به‌ترتیب به‌عنوان productID و price ارجاع می‌دهید.

دسترسی به آمار

در این مثال، از «میانای برنامه‌سازی کاربردی مدیریت Edge» برای مشاهده داده‌های آماری مجموعه 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

در پاسخ، فیلد نام شامل شناسه محصول است و مقدار تعداد درخواست‌ها را برای هر روز نشان می‌دهد:

{
  "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 یا متغیرهای سفارشی باشند که شما تعریف می‌کنید.

در این مثال، از خط‌مشی «استخراج متغیرها» برای استخراج داده‌ها از یک بار XML که حاوی اطلاعات آب‌وهوا است استفاده می‌کنید. این خط‌مشی:

  • نام شهر را استخراج می‌کند و آن را در متغیری به‌نام 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>

برای دیدن آموزش کامل نحوه استخراج داده‌ها از داده‌بار XML برای خط‌مشی «جمع‌آورنده آمار»، به تجزیه‌وتحلیل محتوای پیام API بااستفاده از تجزیه‌وتحلیل سفارشی مراجعه کنید.


درباره خط‌مشی «جمع‌آورنده آمار»

وقتی اجرا می‌شود، خط‌مشی «جمع‌آورنده آمار» مقدار فعلی یک یا چند متغیر را ضبط می‌کند. این متغیرها می‌توانند متغیرهای جاری‌سازی ازپیش‌تعریف‌شده توسط Apigee یا متغیرهای سفارشی باشند که شما تعریف می‌کنید. این داده‌ها در سرور تجزیه‌وتحلیل Edge نوشته می‌شود.

برای دسترسی به داده‌های آماری جمع‌آوری‌شده توسط خط‌مشی، از Edge API یا Edge UI مدیریت استفاده می‌کنید. برای مثال، می‌توانید از «واسط کاربر مدیریت Edge» برای ایجاد گزارش سفارشی استفاده کنید که داده‌های جمع‌آوری‌شده را در قالب‌های مختلف نشان می‌دهد.

برای آموزش کامل استفاده از خط‌مشی «جمع‌آورنده آمار»، به تجزیه‌وتحلیل محتوای پیام API بااستفاده از Analytics سفارشی مراجعه کنید.

خط‌مشی را کجا قرار دهیم

می‌توانید خط‌مشی «جمع‌آورنده آمار» را در جریان درخواست یا پاسخ کارگزار میانای برنامه‌سازی کاربردی قرار دهید. بااین‌حال، اگر چندین خط‌مشی «جمع‌آورنده آمار» را در یک پراکسی قرار دهید، آخرین خط‌مشی اجراشده تعیین می‌کند که چه داده‌هایی در سرور تجزیه‌وتحلیل نوشته شود و داده‌های نوشته‌شده توسط هریک از خط‌مشی‌های «جمع‌آورنده آمار» قبلی ازدست می‌رود.

یکی از سناریوهایی که ممکن است در آن چندین خط‌مشی «جمع‌آورنده آمار» در یک پراکسی API داشته باشید این است که یکی در جریان درخواست یا پاسخ داشته باشید و دیگری در مدیریت خطا. اگر خطایی در پراکسی 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>

شاخصه‌های <StatisticsCollector>

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

جدول زیر ویژگی هایی را توصیف می کند که برای همه عناصر اصلی خط مشی مشترک هستند:

صفت توضیحات پیش فرض حضور
name

نام داخلی سیاست. مقدار مشخصه name می تواند شامل حروف، اعداد، فاصله، خط تیره، زیرخط و نقطه باشد. این مقدار نمی تواند بیش از 255 کاراکتر باشد.

در صورت تمایل، از عنصر <DisplayName> برای برچسب گذاری خط مشی در ویرایشگر پروکسی UI مدیریت با نامی به زبان طبیعی دیگر استفاده کنید.

N/A مورد نیاز
continueOnError

برای بازگرداندن خطا در صورت شکست خط مشی، روی false تنظیم کنید. این رفتار مورد انتظار برای اکثر سیاست ها است.

روی true تنظیم کنید تا اجرای جریان حتی پس از شکست خط مشی ادامه یابد.

نادرست اختیاری
enabled

برای اجرای خط مشی روی true تنظیم کنید.

برای خاموش کردن خط مشی، روی false تنظیم کنید. این سیاست حتی اگر به یک جریان وابسته باشد اجرا نخواهد شد.

درست است اختیاری
async

این ویژگی منسوخ شده است.

نادرست منسوخ شده است

عنصر <DisplayName>

علاوه بر ویژگی name برای برچسب‌گذاری خط‌مشی در ویرایشگر پروکسی رابط کاربری مدیریت با نامی متفاوت و به زبان طبیعی، از آن استفاده کنید.

<DisplayName>Policy Display Name</DisplayName>
پیش فرض

N/A

اگر این عنصر را حذف کنید، از مقدار ویژگی name خط مشی استفاده می شود.

حضور اختیاری
تایپ کنید رشته

عنصر <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
مشخصه شرح پیش‌فرض حضور
نام

نامی که برای ارجاع دادن به داده‌های جمع‌آوری‌شده برای متغیر مشخص‌شده استفاده می‌شود. هنگام مشاهده داده‌های Analytics، از این نام برای ارجاع دادن به داده‌های جمع‌آوری‌شده درباره متغیر مشخص‌شده توسط مشخصه ref استفاده کنید.

اگر متغیر مشخص‌شده توسط ref در درخواست یا پاسخ تعریف نشده باشد، defaultStatValue مقدار جمع‌آوری‌شده برای متغیر را مشخص می‌کند. اگر مقدار پیش‌فرض را حذف کنید، وقتی متغیر تعریف‌نشده باشد، هیچ داده‌ای برای متغیر جمع‌آوری نمی‌شود.

محدودیت‌های نام‌گذاری

محدودیت‌های نام‌گذاری زیر برای متغیرهای سفارشی Analytics اعمال می‌شود:

  • نام‌ها می‌توانند شامل نویسه‌های زیر باشند: a-z،‏ ۰-۹،‏ _ (زیرخط)
  • نام‌ها نمی‌توانند حاوی فاصله باشند.
  • نام‌ها نمی‌توانند dsi، response_time، timekey، یا timestamp باشند.
  • حروف بزرگ و کوچک نادیده گرفته می‌شود.
  • نمی‌توانید از نام هیچ‌یک از سنجه‌های، ابعاد، یا فیلترهای ازپیش تعریف‌شده Analytics که در مرجع سنجه‌ها، ابعاد، و فیلترهای Analytics فهرست شده است استفاده کنید.
  • علاوه‌براین، کلیدواژه‌های فهرست‌شده در صفحه زیر مجاز نیستند:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
موجود نیست الزامی
مرجع

متغیر جاری که برای آن آمار جمع‌آوری می‌کنید. این متغیر می‌تواند متغیر جاری‌سازی ازپیش‌تعریف‌شده توسط Apigee یا متغیر سفارشی باشد که در پراکسی API خود تعریف می‌کنید.

مشخصه ref اغلب به متغیر سفارشی تعریف‌شده توسط خط‌مشی «استخراج متغیرها» ارجاع می‌دهد. برای اطلاعات بیشتر، خط‌مشی استخراج متغیرها را ببینید.

موجود نیست الزامی
نوع

نوع داده متغیر مشخص‌شده توسط مشخصه ref را مشخص می‌کند. مقادیر معتبر عبارت‌اند از: رشته/عدد صحیح/عدد اعشاری/عدد صحیح بزرگ/عدد اعشاری بزرگ/بولی.

برای داده‌های نوع رشته، داده‌های آماری را به‌عنوان ابعاد در گزارش سفارشی ارجاع دهید. برای انواع داده‌های عددی (عدد صحیح/شناور/طولانی/دوبرابر)، داده‌های آماری را در گزارش سفارشی به‌عنوان ابعاد یا سنجه ارجاع دهید. برای اطلاعات بیشتر، مدیریت گزارش‌های سفارشی را ببینید.

مقدار نوع فقط درصورتی می‌تواند حذف شود که مرجع به متغیر جریان Apigee ازپیش تعریف‌شده اشاره کند یا نوع در بار XML خط‌مشی «استخراج متغیرها» اعلام شده باشد.

رشته اختیاری

مرجع خطا

این بخش پیام‌های خطا و متغیرهای جریانی را که هنگام فعال شدن این خط‌مشی و بروز خطا تنظیم می‌شوند شرح می‌دهد. اگر درحال توسعه قوانین خطا برای پراکسی هستید، این اطلاعات مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

هیچ‌کدام.

خطاهای استقرار

نام خطا علت رفع اشکال
UnsupportedDatatype اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» پشتیبانی نشود، استقرار پراکسی API ناموفق خواهد بود. انواع داده‌های پشتیبانی‌شده عبارت‌اند از string، integer، float، long، double، و boolean.
InvalidName اگر نام استفاده‌شده برای ارجاع به داده‌های جمع‌آوری‌شده برای متغیر مشخص‌شده تعریف‌شده در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» با متغیر تعریف‌شده توسط سیستم تداخل داشته باشد، استقرار پراکسی API ناموفق خواهد بود. برخی‌از متغیرهای تعریف‌شده سیستم شناخته‌شده عبارت‌اند از organization و environment.
DatatypeMissing اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» وجود نداشته باشد، استقرار پراکسی API ناموفق خواهد بود.

متغیرهای خطا

هیچ‌کدام.

طرح

هر نوع خط‌مشی با یک طرحواره XML (.xsd) تعریف می‌شود. برای مرجع، طرحواره‌های خط‌مشی در GitHub دردسترس است.

موضوعات مرتبط

برای اطلاعات بیشتر، به اینجا مراجعه کنید: