تحميل بيانات عدد زيارات واجهة برمجة التطبيقات إلى Apigee - الإصدار التجريبي

الإصدار 4.16.09 من Edge for Private Cloud

على جميع عملاء Edge for Private Cloud إرسال إحصاءات إلى Apigee حول عدد زيارات الخادم الوكيل لواجهة برمجة التطبيقات. تنصح Apigee العملاء بتحميل هذه المعلومات مرة واحدة يوميًا، ربما من خلال إنشاء مهمة cron.

يجب إرسال البيانات الخاصة بعمليات نشر واجهات برمجة التطبيقات في مرحلة الإنتاج، وليس واجهات برمجة التطبيقات في مرحلة التطوير أو الاختبار. في معظم عمليات تثبيت Edge، ستحدّد مؤسسات أو بيئات معيّنة لواجهات برمجة التطبيقات الخاصة بالإنتاج. وتكون البيانات التي ترسلها مخصّصة فقط لتلك المؤسسات والبيئات الإنتاجية.

للمساعدة في تحميل هذه البيانات، توفّر Apigee الإصدار التجريبي من أداة سطر الأوامر apigee-analytics-collector. ترسل هذه الأداة تقرير حجم طلبات البيانات من واجهة برمجة التطبيقات إلى Apigee. يمكن لكل عملية تثبيت لـ Edge for Private Cloud استخدام هذه الأداة لاسترداد بيانات عدد الزيارات وإرسال تقارير بها إلى Apigee.

للحصول على معلومات إضافية حول عملية تحميل بيانات الزيارات إلى Apigee، يُرجى الاطّلاع على الأسئلة الشائعة.

يمكنك مشاهدة فيديو قصير للتعرّف على كيفية استخدام الأداة.

جارٍ تثبيت apigee-analytics-collector

الأداة المساعدة apigee-analytics-collector هي وحدة Node.js يتم تثبيتها باستخدام npm.

متطلبات التثبيت

تتطلّب الأداة المساعدة apigee-analytics-collector ما يلي:

  • الإصدار 2.x من npm أو إصدار أحدث
  • ‫Node.js 4.x.

أماكن التثبيت

يمكن أن تكون العقدة التي تثبّت عليها الأداة المساعدة apigee-analytics-collector أي عقدة يمكنها الوصول إلى واجهة برمجة التطبيقات Edge Management API على خادم Edge Management Server. يمكنك تثبيتها مباشرةً على خادم الإدارة أو على عقدة أخرى من تثبيت Edge أو على عقدة منفصلة طالما أنّ هذه العقدة يمكنها إرسال طلبات بيانات من واجهة برمجة التطبيقات إلى خادم الإدارة.

متطلبات إمكانية الوصول إلى الإنترنت

ثبِّت الأداة المساعدة apigee-analytics-collector على جهاز لديه إمكانية الوصول إلى الإنترنت الخارجي. بعد ذلك، يمكن لأداة apigee-analytics-collector تحميل البيانات مباشرةً إلى Apigee.

إذا لم تكن هناك عقدة يمكنها الوصول إلى Edge management API على Edge Management Server وإلى إمكانية الوصول إلى الإنترنت الخارجي، يمكنك استخدام Edge management API لحفظ بيانات الزيارات محليًا. بعد ذلك، عليك نقل البيانات إلى جهاز يتصل بالإنترنت لتحميلها إلى Apigee. في هذا السيناريو، لست بحاجة إلى استخدام الأداة المساعدة apigee-analytics-collector. لمزيد من المعلومات، يُرجى الاطّلاع على تحميل البيانات يدويًا إلى Apigee أدناه.

تثبيت

استخدِم الأمر التالي لتثبيت الأداة المساعدة apigee-analytics-collector:

> npm install apigee-analytics-collector -g

جارٍ تشغيل apigee-analytics-collector

يصف هذا القسم كيفية تشغيل الأداة المساعدة apigee-analytics-collector.

المعلومات المطلوبة لتشغيل apigee-analytics-collector

ستحتاج إلى المعلومات التالية لتشغيل الأمر apigee-analytics-collector وإعادة توجيه البيانات إلى Apigee:

  • ‫apigee_mgmt_api_uri: الجزء الأساسي من عنوان URL لواجهة برمجة التطبيقات Edge API على خادم الإدارة. يكون عنوان URL هذا عادةً على النحو التالي:
    http://ms_IP:8080/v1

    حيث ms_IP هو عنوان IP أو خادم الإدارة و8080 هو المنفذ الذي تستخدمه Edge API. إذا أنشأت إدخال نظام أسماء النطاقات لواجهة برمجة تطبيقات Edge، يكون عنوان URL على الشكل التالي:
    http://ms_DNS/v1

    إذا فعّلت بروتوكول أمان طبقة النقل (TLS) في واجهة برمجة تطبيقات إدارة Edge، يكون عنوان URL على الشكل التالي:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • ‫apigee_mgmt_api_email: عنوان البريد الإلكتروني لحساب لديه إذن الوصول إلى واجهات برمجة التطبيقات Edge /stats. غالبًا ما يكون هذا هو عنوان البريد الإلكتروني لمشرف نظام Edge أو عنوان البريد الإلكتروني لمشرف المؤسسة في مؤسسات الإنتاج.
  • apigee_mgmt_api_password: كلمة مرور Edge للحساب المحدّد من خلال apigee_mgmt_api_email.
  • ‫apigee_analytics_client_id وapigee_analytics_secret: بيانات الاعتماد لتحميل البيانات إلى Apigee. يُرجى إرسال طلب إلى فريق دعم Apigee للحصول على apigee_analytics_client_id وapigee_analytics_secret.

أمثلة على الطلبات

في ما يلي مثال على أمر لاسترداد بيانات الزيارات لجميع المؤسسات والبيئات في عملية تثبيت Edge وتحميل هذه البيانات إلى Apigee:

> apigee-analytics-collector export traffic \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

يُرجى ملاحظة أنّ الأمر يحتوي على جميع المعلومات المطلوبة، مثل apigee_analytics_client_id و apigee_analytics_secret.

من المفترض أن تظهر النتائج على النحو التالي:

[
  {
    "org": "myOrg",
    "env": "prod",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  },
  {
    "org": "VALIDATE",
    "env": "test",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  }
]

استخدِم خيارات سطر الأوامر للتحكّم في إجراءاته. استخدِم الخيارات التالية لتحديد المؤسسات والبيئات التي تريد تضمينها في البيانات التي يتم إنشاؤها:

  • -i, --include_orgs <comma-separated list of items>
  • -x, --exclude_orgs <comma-separated list of items>
  • -n, --include_envs <comma-separated list of items>
  • -e, --exclude_envs <comma-separated list of items>

على سبيل المثال، لتحديد المؤسسات والبيئات الإنتاجية فقط، استخدِم الخيارَين ‎-i (أو ‎-‎-include_orgs) و‎-n (أو ‎--include_envs):

> apigee-analytics-collector export traffic -i myOrg -n prod \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

في هذا المثال، يتم جمع البيانات من بيئة الإنتاج في myOrg فقط.

لتفريغ البيانات على شاشة لفحصها قبل إرسالها إلى Apigee، استخدِم الخيار -S:

> apigee-analytics-collector export traffic -i myOrg -n prod -S \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

يؤدي الخيار -S إلى حذف تحميل البيانات إلى Apigee. يمكنك بعد ذلك إعادة تشغيل الأمر بدون الخيار -S لإرسال البيانات إلى Apigee.

أحد أسباب استخدام الخيار -S هو أنّه يمكنك عرض أنواع مختلفة من البيانات محليًا. تتطلّب Apigee فقط تحميل بيانات زيارات واجهة برمجة التطبيقات، ولكن يتيح لك الخيار -D عرض بيانات حول منتجات واجهة برمجة التطبيقات أو المطوّرين أو التطبيقات أو الخوادم الوكيلة لواجهة برمجة التطبيقات. يستخدم المثال أدناه الخيارَين -D و-S لعرض بيانات المطوّرين محليًا:

> apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

أدرِج الخيار -v للحصول على مخرجات مطوّلة، والخيار -R للاطّلاع على أوامر curl التي تم إنشاؤها بواسطة apigee-analytics-collector:

 > apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret 

يحتوي القسم التالي على قائمة كاملة بخيارات سطر الأوامر.

مَعلمات الأوامر

يسرد الجدول التالي المجموعة الكاملة من الخيارات لأداة apigee-analytics-collector:

Command

الاستخدام

-h, --help

معلومات استخدام الناتج

‎-D, --dimension <dimension>

سمة الزيارات المطلوب جمعها السمات الصالحة: apiproducts وdevs وapps وapiproxy (تلقائي)

-d, --days <days>

عدد الأيام السابقة، بدءًا من التاريخ الحالي، للبيانات المطلوب جمعها. العدد التلقائي هو 3.

إذا حدّدت -d، لا تحدّد أيضًا -s و-z لضبط نطاق زمني.

‎-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

عنوان URL لواجهة برمجة تطبيقات إدارة Edge

‎-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

عنوان البريد الإلكتروني لحساب لديه إذن الوصول إلى واجهات برمجة تطبيقات Edge /stats. غالبًا ما يكون هذا هو عنوان البريد الإلكتروني لمشرف نظام Edge أو عنوان البريد الإلكتروني لمشرف المؤسسة في مؤسسات الإنتاج.

‎-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

كلمة المرور المرتبطة بحساب البريد الإلكتروني الخاص بواجهة برمجة التطبيقات لإدارة Edge والمحدَّد من خلال -u.

‎-i, --include_orgs <items>

قائمة قيم مفصولة بفاصلة للمؤسسات التي يجب تضمينها في الناتج.

‎-x, --exclude_orgs <items>

قائمة قيم مفصولة بفاصلة للمؤسسات المطلوب استبعادها من الناتج.

‎-n, --include_envs <items>

قائمة قيم مفصولة بفاصلة للبيئات المطلوب تضمينها في الناتج.

‎-e, --exclude_envs <items>

قائمة قيم مفصولة بفاصلة للبيئات المطلوب تضمينها من الناتج

‎-o, --output <path>

المسار واسم الملف لحفظ الناتج

‎-s, --time_range_start <time_range_start>

النطاق الزمني لبدء طلب إحصاءات الزيارات، بالتنسيق: "03/01/2016 00:00".

إذا حدّدت -d، لا تحدّد أيضًا -s و-z لضبط نطاق زمني.

-z, --time_range_end <time_range_end>

نهاية النطاق الزمني لطلب إحصاءات الزيارات، بالتنسيق: "04/01/2016 24:00".

إذا حدّدت -d، لا تحدّد أيضًا -s و-z لضبط نطاق زمني.

-t, --time_unit <time_unit>

وحدة الوقت لبيانات عدد الزيارات الأسبوع التلقائي الوحدات التلقائية حسب الساعة وحدات الوقت الصالحة: ثانية، دقيقة، ساعة، يوم، أسبوع.

‎-S, --standard_output

كتابة الناتج في الوحدة الطرفية (stdout) بدلاً من تحميله إلى Apigee

‎-c, --apigee_analytics_client_id <apigee_analytics_client_id>

رقم التعريف الخاص بك لتحميل البيانات إلى Apigee يُرجى إرسال طلب إلى فريق دعم Apigee للحصول على هذه المعلومات.

‎-r, --apigee_analytics_secret <apigee_analytics_secret>

الرمز السري لتحميل البيانات إلى Apigee يُرجى إرسال طلب إلى فريق دعم Apigee للحصول على هذه المعلومات.

‎-R, --include_curl_commands

تضمين أوامر cURL التي تم إنشاؤها في الناتج لتصحيح الأخطاء

‫‎-v, --verbose

عرض الناتج المطوّل

تحميل البيانات يدويًا إلى Apigee

تنصح Apigee بتثبيت الأداة المساعدة apigee-analytics-collector على جهاز لديه إمكانية الوصول إلى الإنترنت الخارجي. بعد ذلك، يمكن لأداة apigee-analytics-collector تحميل البيانات مباشرةً إلى Apigee.

ومع ذلك، إذا لم يكن الجهاز يتصل بالإنترنت خارجيًا، استخدِم Edge management API لجمع بيانات الزيارات، ثم استخدِم أوامر cURL لتحميلها إلى Apigee من جهاز يتصل بالإنترنت. عليك تكرار هذه العملية لكل مؤسسة وبيئة إنتاج في تثبيت Edge.

استخدِم أمر cURL التالي لجمع بيانات عدد الزيارات لمؤسسة وبيئة محدّدتين خلال فترة زمنية محدّدة:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://<ms_IP>:8080/v1/organizations/{org_name}/environments/{env_name}/stats/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

يستخدم هذا الأمر واجهة برمجة التطبيقات Edge Get API message count API. وفي هذا الأمر:

  • apigee_mgmt_api_email:apigee_mgmt_api_password يحدّد عنوان البريد الإلكتروني لحساب لديه إذن الوصول إلى واجهات برمجة التطبيقات Edge /stats.
  • <ms_IP> هو عنوان IP أو اسم نظام أسماء النطاقات لخادم إدارة Edge.
  • {org_name} و{env_name} يحدّدان المؤسسة والبيئة.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM يحدّد النطاق الزمني للإحصاءات المطلوب جمعها. يستخدم أمر cURL الرمز السداسي العشري ‎%20 للمسافات في النطاق الزمني.

على سبيل المثال، لجمع الإحصاءات لمدة 24 ساعة، استخدِم الأمر التالي:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

من المفترض أن يظهر لك ردّ بالشكل التالي:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values" : [ "42.0" ]
    } ],
    "name" : "prod"
  } ],
  "metaData" : {
    "errors" : [ ],
    "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ]
  }
}

لتحميل هذه البيانات بعد ذلك إلى Apigee من جهاز يتصل بالإنترنت، استخدِم أمر cURL التالي:

curl -X POST -H 'Content-Type:application/json' \
-u apigee_analytics_client_id:apigee_analytics_secret \
https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/{org_name}/apis -d '{"environments"...}'

حيث:

  • apigee_analytics_client_id:apigee_analytics_secret specify: تحدّد بيانات الاعتماد لتحميل البيانات إلى Apigee التي حصلت عليها من فريق دعم Apigee.
  • {org_name} يحدّد المؤسسة.
  • يحتوي {"environments"...} على نتائج أمر cURL الذي استخدمته لجمع الإحصاءات أعلاه.