سياسة مُحصِّل الإحصاءات

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

الأدوات المستخدمة

تتيح لك هذه السمة جمع إحصاءات عن البيانات الواردة في رسالة، مثل رقم تعريف المنتج والسعر وإجراء REST وعنوان URL الخاص بالعميل والهدف وطول الرسالة. يمكن أن تأتي البيانات من متغيرات التدفق المحدّدة مسبقًا من خلال 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. في كل طلب، تكتب سياسة &quot;جامع الإحصاءات&quot; قيمة هذين المتغيرين إلى خادم الإحصاءات.

يحدّد هذا المثال أيضًا قيمة تلقائية اختيارية لكل متغيّر، حيث تكون القيمة التلقائية لـ product.id هي 999999، والقيمة التلقائية لـ product.price هي 0. إذا كان المتغيّر غير محدّد ولم تحدّد قيمة تلقائية، لن يتم تسجيل أي بيانات للمتغيّر. في حال تحديد قيمة تلقائية، يتم تسجيلها عندما يكون المتغيّر غير محدّد.

بعد جمع البيانات الإحصائية، يمكنك استخدام واجهة مستخدم إدارة 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

في الردّ، يحتوي الحقل 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، أو متغيرات مخصّصة تحدّدها أنت.

في هذا المثال، يمكنك استخدام سياسة "استخراج المتغيّرات" لاستخراج البيانات من حمولة 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 لسياسة &quot;أداة جمع الإحصاءات&quot;، راجِع تحليل محتوى رسائل واجهة برمجة التطبيقات باستخدام إحصاءات مخصّصة.


لمحة عن سياسة "أداة جمع الإحصاءات"

عند تنفيذ سياسة "جامع الإحصاءات"، تسجّل السياسة القيمة الحالية لمتغيّر واحد أو أكثر. يمكن أن تكون هذه المتغيرات متغيرات سير عمل محدّدة مسبقًا من قِبل Apigee أو متغيرات مخصّصة تحدّدها أنت. تتم كتابة هذه البيانات إلى خادم "إحصاءات Edge".

للوصول إلى البيانات الإحصائية التي تجمعها السياسة، يمكنك استخدام Edge API أو واجهة مستخدم إدارة Edge. على سبيل المثال، يمكنك استخدام واجهة مستخدم إدارة Edge لإنشاء تقرير مخصّص يعرض البيانات التي تم جمعها بتنسيقات متنوعة.

للحصول على دليل توجيهي كامل حول استخدام سياسة "أداة جمع الإحصاءات"، يُرجى الاطّلاع على تحليل محتوى رسائل واجهة برمجة التطبيقات باستخدام إحصاءات مخصّصة.

مكان وضع السياسة

يمكنك وضع سياسة &quot;أداة جمع الإحصاءات&quot; في مسار الطلب أو الرد لخادم وكيل لواجهة برمجة التطبيقات. ومع ذلك، إذا وضعت سياسات متعددة لـ &quot;أداة جمع الإحصاءات&quot; في خادم وكيل، سيتم تحديد البيانات التي سيتم تسجيلها في خادم الإحصاءات من خلال آخر سياسة يتم تنفيذها، وسيتم فقدان البيانات التي تم تسجيلها بواسطة أي سياسات سابقة لـ &quot;أداة جمع الإحصاءات&quot;.

أحد السيناريوهات التي قد تتضمّن فيها خادم وكيل لواجهة برمجة التطبيقات سياسات متعددة لـ &quot;أداة جمع الإحصاءات&quot; هو عندما يكون لديك سياسة واحدة في مسار الطلب أو الردّ، وسياسة أخرى في معالج الأخطاء. في حال حدوث خطأ في خادم وكيل واجهة برمجة التطبيقات، يحدّد &quot;جامع الإحصاءات&quot; في معالج الأخطاء البيانات التي يتم جمعها. يمكنك استخدام أداة جمع الإحصاءات هذه لتسجيل معلومات حول الخطأ أو لتسجيل أي معلومات أخرى تراها ضرورية. يحدّد &quot;جامع الإحصاءات&quot; في معالج الأخطاء البيانات التي يتم جمعها بغض النظر عمّا إذا كان &quot;جامع الإحصاءات&quot; في الطلب/الرد قد تم تنفيذه من قبل أم لا.

لمزيد من المعلومات، اطّلِع على التعامل مع الأخطاء.

مرجع العنصر

يصف مرجع العنصر عناصر وسمات سياسة &quot;أداة جمع الإحصاءات&quot;.

<?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> لتصنيف السياسة محرر الخادم الوكيل لواجهة مستخدم الإدارة باسم مختلف بلغة طبيعية.

لا ينطبق مطلوب
continueOnError

اضبط القيمة على false لعرض رسالة خطأ عند تعذُّر تنفيذ سياسة. هذا متوقّع السلوك في معظم السياسات.

يمكنك ضبط القيمة على true لمواصلة تنفيذ المسار حتى بعد تطبيق إحدى السياسات. فشل.

خطأ اختياري
enabled

اضبط القيمة على true لفرض السياسة.

اضبط القيمة على false من أجل إيقاف السياسة. لن تكون السياسة ويتم فرضها حتى لو ظلت مرتبطة بتدفق.

صحيح اختياري
async

تم إيقاف هذه السمة نهائيًا.

خطأ منهي العمل به

&lt;DisplayName&gt; عنصر

استخدِمه مع السمة name لتصنيف السياسة في إدارة خادم وكيل لواجهة المستخدم باسم مختلف بلغة طبيعية.

<DisplayName>Policy Display Name</DisplayName>
تلقائي

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة name للسياسة على النحو التالي: استخدام البيانات المختلفة.

التواجد في المنزل اختياري
النوع سلسلة

العنصر <Statistics>/<Statistic>

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
السمة الوصف تلقائي التواجد في المنزل
الاسم

الاسم المستخدَم للإشارة إلى البيانات التي تم جمعها للمتغيّر المحدّد عند عرض بيانات الإحصاءات، استخدِم هذا الاسم للإشارة إلى البيانات التي تم جمعها حول المتغيّر المحدّد بواسطة السمة ref.

إذا كان المتغيّر المحدّد بواسطة ref غير محدّد في طلب أو رد، تحدّد defaultStatValue القيمة التي يتم جمعها للمتغيّر. في حال إغفال القيمة التلقائية، لن يتم جمع أي بيانات للمتغيّر عندما يكون المتغيّر غير محدّد.

قيود التسمية

تنطبق قيود التسمية التالية على متغيرات الإحصاءات المخصّصة:

  • يمكن أن تتضمّن الأسماء الأحرف التالية: a-z و0-9 و_ (شرطة سفلية)
  • لا يمكن أن تتضمّن الأسماء مسافات.
  • لا يمكن أن تكون الأسماء dsi أو response_time أو timekey أو timestamp.
  • يتم تجاهل حالة الأحرف.
  • لا يمكنك استخدام اسم أي مقياس أو سمة أو فلتر محدّد مسبقًا من "إحصاءات Google" ومدرَج في مرجع مقاييس وسمات وفلاتر "إحصاءات Google".
  • بالإضافة إلى ما سبق، لا يُسمح باستخدام الكلمات الرئيسية المدرَجة في الصفحة التالية:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
لا ينطبق مطلوب
ref

متغيّر التدفق الذي تجمع إحصاءات له. يمكن أن يكون هذا المتغيّر متغيّرًا في التدفق محدّدًا مسبقًا من قِبل Apigee أو متغيّرًا مخصّصًا تحدّده في خادم وكيل لواجهة برمجة التطبيقات.

تشير السمة ref غالبًا إلى متغيّر مخصّص محدّد بواسطة سياسة Extract Variables. لمزيد من المعلومات، راجِع سياسة "استخراج المتغيرات".

لا ينطبق مطلوب
النوع

تحدّد هذه السمة نوع البيانات للمتغيّر المحدّد بواسطة السمة ref. القيم الصالحة هي: string/integer/float/long/double/boolean.

بالنسبة إلى البيانات من نوع السلسلة، يمكنك الرجوع إلى البيانات الإحصائية كـ سمة في تقرير مخصّص. بالنسبة إلى أنواع البيانات الرقمية (عدد صحيح/عدد عشري/عدد طويل/عدد مزدوج)، يمكنك الرجوع إلى البيانات الإحصائية في تقرير مخصّص كـ سمة أو مقياس. اطّلِع على إدارة التقارير المخصّصة لمزيد من المعلومات.

لا يمكن حذف قيمة النوع إلا إذا كان ref يشير إلى متغيّر تدفق Apigee محدّد مسبقًا أو إذا تم تحديد النوع في حمولة XML لسياسة "استخراج المتغيّرات".

سلسلة اختياري

مرجع الخطأ

يصف هذا القسم رسائل الخطأ ومتغيّرات المسار التي يتم ضبطها عندما تؤدي هذه السياسة إلى حدوث خطأ. من المهم معرفة هذه المعلومات إذا كنت تُطوّر قواعد أخطاء لوكيل نيابةً عن خادم. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن أخطاء السياسات والتعامل مع الأخطاء.

أخطاء وقت التشغيل

بلا عُري

أخطاء النشر

اسم الخطأ السبب إصلاح
UnsupportedDatatype إذا كان نوع المتغيّر المحدّد من خلال سمة ref في عنصر <Statistic> في سياسة "مجمع الإحصاءات" غير متوافق، سيتعذّر نشر وكيل واجهة برمجة التطبيقات. أنواع البيانات المتوافقة هي string وinteger float وlong وdouble وboolean.
InvalidName إذا كان الاسم المستخدَم للإشارة إلى البيانات التي تم جمعها للمتغيّر المحدّد ضمن عنصر <Statistic> في سياسة "مجمع الإحصاءات" يتعارض مع متغيّر محدّد من النظام، سيتعذّر نشر الوكيل لواجهة برمجة التطبيقات. organization وenvironment هما من المتغيّرات المعروفة التي يحدّدها النظام.
DatatypeMissing إذا لم يكن نوع المتغيّر المحدّد من خلال سمة ref في العنصر <Statistic> من سياسة "مجمع الإحصاءات" متوفّرًا، سيتعذّر نشر الوكيل لواجهة برمجة التطبيقات.

متغيّرات الأعطال

بلا عُري

المخطط

يتم تحديد كل نوع من أنواع السياسات من خلال مخطّط XML (.xsd). وللحصول على مرجع، تتوفّر مخطّطات السياسات على GitHub.

مواضيع ذات صلة

يمكنك الاطّلاع على ما يلي للحصول على مزيد من المعلومات: