شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
چی
به شما امکان میدهد آماری را برای دادههای موجود در پیام جمعآوری کنید، مانند شناسه محصول، قیمت، عملکرد REST، URL مشتری و هدف، و طول پیام. داده ها می توانند از متغیرهای جریان از پیش تعریف شده توسط Apigee یا متغیرهای سفارشی که شما تعریف کرده اید به دست آیند.
داده های آماری به سرور تجزیه و تحلیل داده می شود، که آمار را تجزیه و تحلیل می کند و گزارش تولید می کند. با استفاده از رابط کاربری Edge management یا 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 مقدار این دو متغیر را در سرور تجزیه و تحلیل می نویسد.
این مثال همچنین یک مقدار پیشفرض اختیاری برای هر متغیر تعیین میکند، که در آن مقدار پیشفرض product.id 999999 و محصول پیشفرض product.price 0 است. اگر متغیری تعریف نشده باشد و مقدار پیشفرض را مشخص نکنید، هیچ دادهای ثبت نمیشود. برای متغیر اگر یک مقدار پیش فرض را مشخص کنید، زمانی که متغیر تعریف نشده باشد، مقدار پیش فرض ثبت می شود.
پس از جمع آوری داده های آماری، می توانید از UI یا 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>
خط مشی Statistics Collector ایجاب می کند که داده های جمع آوری شده در متغیرها ذخیره شوند. این متغیرها می توانند توسط 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 برای ایجاد یک گزارش سفارشی استفاده کنید که دادههای جمعآوریشده را در قالبهای مختلف نشان میدهد.
برای آموزش کامل با استفاده از خطمشی جمعآوری آمار، به تحلیل محتوای پیام API با استفاده از تجزیه و تحلیل سفارشی مراجعه کنید.
سیاست را کجا قرار دهیم
میتوانید یک سیاست جمعآوری آمار را در جریان درخواست یا پاسخ یک پروکسی API قرار دهید. با این حال، اگر چندین خطمشی Statistics Collector را در یک پروکسی قرار دهید، آخرین موردی که اجرا میشود، دادههای نوشته شده در سرور تجزیه و تحلیل را تعیین میکند و دادههای نوشته شده توسط هر خطمشی قبلی Statistics Collector از بین میرود.
یکی از سناریوهایی که ممکن است چندین خط مشی Statistics Collector را در یک پراکسی API داشته باشید، زمانی است که یکی در جریان درخواست یا پاسخ و دیگری در یک کنترل کننده خطا داشته باشید. اگر یک خطا در پروکسی API رخ دهد، جمع آوری کننده آمار در کنترل کننده خطا داده های جمع آوری شده را تعیین می کند. شما می توانید از آن 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 | نام داخلی سیاست. مقدار مشخصه در صورت تمایل، از عنصر | 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>
صفت | توضیحات | پیش فرض | حضور |
---|---|---|---|
نام | نامی که برای ارجاع به داده های جمع آوری شده برای متغیر مشخص شده استفاده می شود. هنگام مشاهده داده های تجزیه و تحلیل، از این نام برای ارجاع به داده های جمع آوری شده در مورد متغیر مشخص شده توسط ویژگی اگر متغیر مشخص شده توسط محدودیت های نامگذاری محدودیت های نامگذاری زیر برای متغیرهای تجزیه و تحلیل سفارشی اعمال می شود:
| N/A | مورد نیاز |
رجوع کنید | متغیر جریانی که برای آن آمار جمع آوری می کنید. این متغیر می تواند یک متغیر جریان از پیش تعریف شده توسط Apigee یا یک متغیر سفارشی باشد که شما در پروکسی API خود تعریف می کنید. ویژگی ref اغلب به یک متغیر سفارشی که توسط سیاست Extract Variables تعریف شده است ارجاع می دهد. برای اطلاعات بیشتر به Extract Variables Policy مراجعه کنید. | N/A | مورد نیاز |
نوع | نوع داده متغیر مشخص شده توسط ویژگی ref را مشخص می کند. مقادیر معتبر عبارتند از: string/integer/float/long/double/boolean. برای داده های نوع رشته، داده های آماری را به عنوان یک بعد در یک گزارش سفارشی ارجاع دهید. برای انواع داده های عددی (عدد صحیح / شناور / طولانی / دوگانه)، به داده های آماری در یک گزارش سفارشی به عنوان یک بعد یا یک متریک اشاره کنید. برای اطلاعات بیشتر به مدیریت گزارش های سفارشی مراجعه کنید. مقدار نوع را فقط در صورتی می توان حذف کرد که 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 در دسترس هستند.
موضوعات مرتبط
برای اطلاعات بیشتر رجوع کنید به: