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

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

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

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

الإجراء المطلوب: يُرجى التواصل مع فريق دعم Apigee قبل تحميل البيانات.

قبل أن تتمكن من تحميل البيانات إلى Apigee، عليك التواصل مع فريق دعم Apigee 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 Edge للحصول على 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 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)):

/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، يمكنك عرض أنواع مختلفة من البيانات محليًا. تتطلّب 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:

Command الوصف
-h, --help

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

-D, --dimension dimension

سمة الزيارات المطلوب جمعها. القيم الصالحة هي:

  • apiproducts
  • apiproxy (تلقائي)
  • apps
  • devs
-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

النطاق الزمني لبدء طلب البحث عن إحصاءات حركة المرور، بالصيغة: "MM/DD/YYYY HH:MM".

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

-z, --time_range_end time_range_end

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

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

-t, --time_unit time_unit

الوحدة الزمنية لبيانات حركة المرور. ستكون القيمة التلقائية hour. الوحدات الزمنية الصالحة هي:

  • second
  • minute
  • hour (تلقائي)
  • day
  • week

إذا ضبطت -t على week و-d على 365، ستعرض Apigee كمية كبيرة من البيانات مجمّعة في 52 إدخالاً منفصلاً (إدخال واحد لكل أسبوع).

-S, --standard_output

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

-c, --apigee_analytics_client_id apigee_analytics_client_id

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

-r, --apigee_analytics_secret apigee_analytics_secret

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

-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 ساعة، استخدِم طلب بيانات من واجهة برمجة التطبيقات التالي.

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&timeUnit=hour"

(ملاحظة: يحتوي timeRange على أحرف مرمّزة في عنوان URL.)

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

{
  "environments" : [ {
    "dimensions" : [ {
      "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"
      } ],
    "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 حدِّد بيانات الاعتماد لتحميل البيانات إلى Apigee التي حصلت عليها من Apigee.
  • يحدّد org_name اسم المؤسسة.
  • يتضمّن "environments"... نتائج الأمر curl الذي استخدمته لجمع الإحصاءات أعلاه.