شما در حال مشاهده مستندات 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 | نام داخلی سیاست. مقدار مشخصه در صورت تمایل، از عنصر | N/A | مورد نیاز |
continueOnError | برای بازگرداندن خطا در صورت شکست خط مشی، روی روی | نادرست | اختیاری |
enabled | برای اجرای خط مشی روی برای خاموش کردن خط مشی، روی | درست است | اختیاری |
async | این ویژگی منسوخ شده است. | نادرست | منسوخ شده است |
عنصر <DisplayName>
علاوه بر ویژگی name برای برچسبگذاری خطمشی در ویرایشگر پروکسی رابط کاربری مدیریت با نامی متفاوت و به زبان طبیعی، از آن استفاده کنید.
<DisplayName>Policy Display Name</DisplayName>
| پیش فرض | N/A اگر این عنصر را حذف کنید، از مقدار ویژگی |
|---|---|
| حضور | اختیاری |
| تایپ کنید | رشته |
عنصر <Statistics>/<Statistic>
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
| ویژگی | توضیحات | پیشفرض | حضور |
|---|---|---|---|
| نام | نامی که برای ارجاع به دادههای جمعآوریشده برای متغیر مشخصشده استفاده میشود. هنگام مشاهده دادههای تحلیلی، از این نام برای ارجاع به دادههای جمعآوریشده درباره متغیر مشخصشده توسط ویژگی اگر متغیر مشخص شده توسط محدودیتهای نامگذاری محدودیتهای نامگذاری زیر برای متغیرهای تحلیلی سفارشی اعمال میشود:
| ناموجود | مورد نیاز |
| مرجع | متغیر جریانی که آمار آن را جمعآوری میکنید. این متغیر میتواند یک متغیر جریان از پیش تعریفشده توسط 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. |
build |
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. |
build |
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. |
build |
Fault variables
None.
طرحواره
هر نوع سیاست توسط یک طرح XML ( .xsd ) تعریف میشود. برای مرجع، طرحهای سیاست در GitHub موجود است.
مباحث مرتبط
برای اطلاعات بیشتر، مراجعه کنید به: