سیاست جمع آوری آمار

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

چه

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

داده‌های آماری به سرور تحلیلی منتقل می‌شوند که آمار را تجزیه و تحلیل کرده و گزارش‌هایی تولید می‌کند. می‌توانید گزارش‌ها را با استفاده از رابط کاربری مدیریت 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 . در هر درخواست، سیاست جمع‌آوری آمار، مقدار این دو متغیر را در سرور تحلیلی می‌نویسد.

این مثال همچنین یک مقدار پیش‌فرض اختیاری برای هر متغیر تعیین می‌کند، که در آن مقدار پیش‌فرض product.id برابر با ۹۹۹۹۹۹ و مقدار پیش‌فرض product.price برابر با ۰ است. اگر متغیری تعریف نشده باشد و شما مقدار پیش‌فرضی برای آن تعیین نکنید، هیچ داده‌ای برای آن متغیر ثبت نمی‌شود. اگر مقدار پیش‌فرضی تعیین کنید، در صورت تعریف نشدن متغیر، مقدار پیش‌فرض ثبت می‌شود.

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

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

در این مثال، شما از API مدیریت 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 از پیش تعریف شده باشند، یا متغیرهای سفارشی که شما تعریف می‌کنید.

در این مثال، شما از سیاست Extract Variables برای استخراج داده‌ها از یک فایل 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 استفاده می‌کنید. برای مثال، می‌توانید از Edge management UI برای ایجاد یک گزارش سفارشی استفاده کنید که داده‌های جمع‌آوری‌شده را در قالب‌های مختلف نشان می‌دهد.

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

کجا باید سیاست را قرار داد

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

یکی از سناریوهایی که ممکن است در آن چندین سیاست جمع‌آوری آمار در یک پروکسی 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>
ویژگی توضیحات پیش‌فرض حضور
نام

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

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

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

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

  • نام‌ها می‌توانند شامل کاراکترهای زیر باشند: az، 0-9، _ (خط تیره)
  • نام‌ها نمی‌توانند شامل فاصله (space) باشند.
  • نام‌ها نمی‌توانند dsi ، response_time ، timekey یا timestamp باشند.
  • مورد نادیده گرفته می‌شود.
  • شما نمی‌توانید از نام هیچ معیار، بُعد یا فیلتر تحلیلی از پیش تعریف‌شده‌ای که در مرجع معیارها، ابعاد و فیلترهای تحلیلی ذکر شده است، استفاده کنید.
  • علاوه بر موارد فوق، کلمات کلیدی ذکر شده در صفحه زیر مجاز نیستند:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
ناموجود مورد نیاز
مرجع

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

ویژگی ref اغلب به یک متغیر سفارشی که توسط سیاست Extract Variables تعریف شده است، اشاره می‌کند. برای اطلاعات بیشتر به سیاست Extract Variables مراجعه کنید.

ناموجود مورد نیاز
نوع

نوع داده متغیر مشخص شده توسط ویژگی ref را مشخص می‌کند. مقادیر معتبر عبارتند از: string/integer/float/long/double/boolean.

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

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

رشته اختیاری

مرجع خطا

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.

طرحواره

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

مباحث مرتبط

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