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

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

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

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

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

الوصول إلى البيانات التي حمّلها الإجراء apigee-analytics-collector

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

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

تثبيت أداة جمع التحليلات من واجهة برمجة التطبيقات apigee

apigee-analytics-collector الأداة هي قيمة RPM تقوم بتثبيتها باستخدام أداة apigee-service.

مكان التثبيت

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

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

ثبِّت أداة 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-analytics-collector

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

لتكوين مستخدم لديه إمكانية الدخول الكامل إلى sudo إلى "apigee". استخدم "visudo" أمر موجَّه إلى تعديل ملف sudoers لإضافة ما يلي:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

حيث analyticsUser هو اسم المستخدم للشخص الذي يدير أداة apigee-analytics-collector.

بعد تثبيت الأداة apigee-analytics-collector وضبط المستخدم، يمكنك اختبار الأداة من خلال تنفيذ الأمر help لأجل الأداة apigee-analytics-collector:

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

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

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

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

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

    في حال تفعيل بروتوكول TLS في واجهة برمجة التطبيقات Edge management API، سيكون على النحو التالي:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: عنوان البريد الإلكتروني لحساب يمكنه الوصول إلى واجهات برمجة تطبيقات /stats في Edge. غالبًا ما يكون هذا هو عنوان البريد الإلكتروني لمشرف نظام Edge، أو عنوان البريد الإلكتروني لمشرف المؤسسة في المؤسسات التي تنشر المحتوى.
  • apigee_mgmt_api_password: كلمة مرور Edge للحساب الذي تم تحديده من خلال apigee_mgmt_api_email.
  • apigee_analytics_client_id وapigee_analytics_secret: بيانات الاعتماد الخاصة بك لتحميل البيانات إلى Apigee يُرجى إرسال تذكرة إلى Apigee Support للحصول على 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، --استبعاد_orgs <قائمة العناصر المفصولة بفواصل>
  • -n، --include_envs <قائمة العناصر المفصولة بفواصل>
  • -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 تحميل data إلى Apigee. يمكنك بعد ذلك إعادة تشغيل الأمر بدون خيار -S لإرسال البيانات إلى Apigee.

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

>  /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، --السمة &lt;dimension&gt;

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

-d، --أيام &lt;days&gt;

عدد الأيام الماضية، بدءًا من التاريخ الحالي، للبيانات المطلوب جمعها. تشير رسالة الأشكال البيانية والافتراضية هي 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 &lt;apigee_mgmt_api_password&gt;

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

-i, --include_orgs <items>

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

-x، --استبعاد_orgs &lt;items&gt;

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

-n، --include_envs &lt;items&gt;

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

-e, --exclude_envs <items>

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

-o, --output <path>

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

-s, --time_range_start <time_range_start>

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

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

-z, --time_range_end &lt;time_range_end&gt;

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

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

-t, --time_unit <time_unit>

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

-S، --standard_output

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

-c, --apigee_analytics_client_id &lt;apigee_analytics_client_id&gt;

رقم تعريفك لتحميل البيانات إلى 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 تحميل data مباشرةً إلى 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/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.
  • &lt;ms_IP&gt; هو عنوان 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 Support.
  • تحدِّد {org_name} المؤسسة.
  • يحتوي {&quot;environments&quot;...} على نتائج الأمر cURL الذي التي استخدمتها لجمع الإحصائيات أعلاه.