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

الإصدار 4.18.01 من Edge الخاص بخدمة Private Cloud

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

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

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

الوصول إلى البيانات التي تم تحميلها من قِبل أداة جمع apigee-analytics

بعد تحميل البيانات باستخدام الأداة apigee-analytics-collector، يمكنك الاطّلاع عليها في Apigee 360.

لعرض البيانات، سجِّل الدخول إلى Apigee 360 ثم حدِّد الخيار الاستخدام. تعرض صفحة الاستخدام رسمًا بيانيًا للاستخدام وجدولاً لبيانات الاستخدام لكل مؤسسة من مؤسسات Edge أو المؤسسات التابعة لك.

تثبيت أداة تجميع إحصاءات apigee

إنّ أداة apigee-analytics-collector هي أداة لكل ألف مشاهدة يمكنك تثبيتها باستخدام الأداة المساعدة apigee-service.

مكان التركيب

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

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

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

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

تثبيت

استخدِم الأمر التالي لتثبيت الأداة apigee-analytics-collector. بما أنّك تثبّت ملف RPM، يجب أن يشغّل هذا الأمر المستخدم الجذر أو مستخدم لديه إذن وصول كامل إلى برنامج sudo. بالنسبة إلى إذن الوصول الكامل إلى برنامج sudo، يعني ذلك أنّ المستخدم لديه إذن الوصول إلى برنامج sudo لإجراء العمليات نفسها كجذر.

> /opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install 

تشغيل أداة تجميع إحصاءات التطبيقات

يوضِّح هذا القسم كيفية تشغيل الأداة apigee-analytics-collector.

ضبط مستخدم لتشغيل أداة جمع إحصاءات واجهة برمجة التطبيقات

يجب تشغيل apigee-analytics-collector كمستخدم غير جذري. يجب أن يتمتع هذا المستخدم بحق الوصول الكامل إلى مستخدم "apigee".

لإعداد مستخدم يمتلك إذن وصول sudo الكامل إلى مستخدم "apigee"، استخدِم الأمر "visudo" لتعديل ملف sudoers لإضافة:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

حيث يشير analyticsUser إلى اسم المستخدم للشخص الذي يشغّل الأداة apigee-analytics-collector.

بعد تثبيت الأداة apigee-analytics-collector وضبط المستخدم، يمكنك اختباره من خلال تشغيل أمر المساعدة للأداة apigee-analytics-collector:

> /opt/apigee/apigee-service/bin/ apigee-service apigee-analytics-collector export traffic --help

معلومات مطلوبة لتشغيل أداة جمع إحصاءات apigee

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

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

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

    في حال تفعيل بروتوكول أمان طبقة النقل (TLS) في واجهة برمجة تطبيقات إدارة Edge، سيكون على النحو التالي:
    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-service لتشغيل الأمر apigee-analytics-collector:

>  /opt/apigee/apigee-service/bin/apigee-service 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 <قائمة مفصولة بفواصل من العناصر>
  • -x, --excluded_orgs <comma- selected list of items>
  • -n, --include_envs <comma-all list of items>
  • -e, --excluded_envs <comma-Chapter of items>

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

>  /opt/apigee/apigee-service/bin/apigee-service 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-:

>  /opt/apigee/apigee-service/bin/apigee-service 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-S، يمكنك عرض أنواع مختلفة من البيانات محليًا. تتطلّب Apigee فقط تحميل بيانات عدد زيارات واجهة برمجة التطبيقات، ولكن يتيح لك الخيار -D عرض بيانات عن منتجات واجهة برمجة التطبيقات أو المطوّرين أو التطبيقات أو الخوادم الوكيلة لواجهة برمجة التطبيقات. يستخدم المثال أدناه الخيارَين -D و-S لعرض بيانات المطوِّرين محليًا:

>  /opt/apigee/apigee-service/bin/apigee-service 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:

 >  /opt/apigee/apigee-service/bin/apigee-service 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:

الأمر

الاستخدام

-h, --help

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

-D ، --dimension <dimension>

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

-d، --أيام <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, --exclusion_orgs <items>

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

-n, --include_envs <items>

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

-e, --exclusion_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 لجمع بيانات حركة البيانات، ثم استخدام أوامر 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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"

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

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

على سبيل المثال، لجمع أعداد رسائل الخادم الوكيل لواجهة برمجة التطبيقات ساعة بساعة على مدار 24 ساعة، استخدِم طلب بيانات من واجهة برمجة التطبيقات للإدارة التالي. يحتوي النطاق الزمني على أحرف مرمّزة في عنوان URL.

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00"

من المفترض أن يظهر لك رد بالنموذج:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values": [
                {
                  "timestamp": 1514847600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514844000000,
                  "value": "19.0"
                },
                {
                  "timestamp": 1514840400000,
                  "value": "58.0"
                },
                {
                  "timestamp": 1514836800000,
                  "value": "28.0"
                },
                {
                  "timestamp": 1514833200000,
                  "value": "29.0"
                },
                {
                  "timestamp": 1514829600000,
                  "value": "33.0"
                },
                {
                  "timestamp": 1514826000000,
                  "value": "26.0"
                },
                {
                  "timestamp": 1514822400000,
                  "value": "57.0"
                },
                {
                  "timestamp": 1514818800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514815200000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514811600000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514808000000,
                  "value": "66.0"
                },
                {
                  "timestamp": 1514804400000,
                  "value": "50.0"
                },
                {
                  "timestamp": 1514800800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514797200000,
                  "value": "49.0"
                },
                {
                  "timestamp": 1514793600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514790000000,
                  "value": "89.0"
                },
                {
                  "timestamp": 1514786400000,
                  "value": "42.0"
                },
                {
                  "timestamp": 1514782800000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514779200000,
                  "value": "21.0"
                },
                {
                  "timestamp": 1514775600000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514772000000,
                  "value": "20.0"
                },
                {
                  "timestamp": 1514768400000,
                  "value": "12.0"
                },
                {
                  "timestamp": 1514764800000,
                  "value": "7.0"
                }
              ]
            }
          ],
          "name" : "proxy1"
  } ],
  "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 تحديد بيانات اعتمادك لتحميل البيانات إلى Apigee التي حصلت عليها من فريق دعم Apigee.
  • {org_name} تحدد المؤسسة.
  • يتضمّن {"environments"...} نتائج أمر cURL الذي استخدمته لجمع الإحصاءات أعلاه.