الإصدار 4.18.01 من Edge for Private Cloud
على جميع عملاء Edge for Private Cloud إرسال إحصاءات إلى Apigee حول عدد زيارات الخادم الوكيل لواجهة برمجة التطبيقات. تنصح Apigee العملاء بتحميل هذه المعلومات مرة واحدة يوميًا، ربما من خلال إنشاء مهمة cron.
يجب إرسال البيانات الخاصة بعمليات نشر واجهات برمجة التطبيقات في مرحلة الإنتاج، وليس واجهات برمجة التطبيقات في مرحلة التطوير أو الاختبار. في معظم عمليات تثبيت Edge، ستحدّد مؤسسات أو بيئات معيّنة لواجهات برمجة التطبيقات الخاصة بالإنتاج. وتكون البيانات التي ترسلها مخصّصة فقط لتلك المؤسسات والبيئات الإنتاجية.
للمساعدة في تحميل هذه البيانات، توفّر Apigee الإصدار التجريبي من أداة سطر الأوامر apigee-analytics-collector. ترسل هذه الأداة تقرير حجم طلبات البيانات من واجهة برمجة التطبيقات إلى Apigee. يمكن لكل عملية تثبيت لـ Edge for Private Cloud استخدام هذه الأداة لاسترداد بيانات عدد الزيارات وإرسال تقارير بها إلى Apigee.
الوصول إلى البيانات التي تم تحميلها من خلال apigee-analytics-collector
بعد تحميل البيانات باستخدام الأداة المساعدة apigee-analytics-collector، يمكنك عرضها في Apigee 360.
لعرض البيانات، سجِّل الدخول إلى Apigee 360، ثم اختَر الاستخدام. تعرض صفحة الاستخدام رسمًا بيانيًا للاستخدام وجدولاً لبيانات الاستخدام لكل مؤسسة من مؤسسات Edge.
جارٍ تثبيت apigee-analytics-collector
إنّ الأداة المساعدة apigee-analytics-collector هي عبارة عن RPM يتم تثبيته باستخدام الأداة المساعدة apigee-service.
أماكن التثبيت
يمكن أن تكون العقدة التي تثبّت عليها الأداة المساعدة 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. بما أنّك تثبّت ملف 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 وإعداد المستخدم، يمكنك اختبار الأداة المساعدة من خلال تشغيل أمر المساعدة للأداة المساعدة 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 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-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 و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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"يستخدم هذا الأمر واجهة برمجة التطبيقات Edge Get API message count 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 specify: تحدّد بيانات الاعتماد لتحميل البيانات إلى Apigee التي حصلت عليها من فريق دعم Apigee.
- {org_name} يحدّد المؤسسة.
- يحتوي {"environments"...} على نتائج أمر cURL الذي استخدمته لجمع الإحصاءات أعلاه.