همه مشتریان Edge for Private Cloud ملزم هستند آمار مربوط به ترافیک کارگزار API را به Apigee ارسال کنند. Apigee توصیه میکند که مشتریان این اطلاعات را یکبار در روز، احتمالاً با ایجاد کار cron، بارگذاری کنند.
باید دادههای استقرار API تولید خود را ارسال کنید، اما دادههای API درحال توسعه یا استقرار آزمایشی را نباید ارسال کنید. در اکثر نصبهای Edge، سازمانها یا محیطهای خاصی را برای «میاناهای برنامهسازی کاربردی» تولید خود تعریف خواهید کرد. دادههایی که ارسال میکنید فقط برای آن سازمانها و محیطهای تولید است.
برای کمک به بارگذاری این دادهها، Apigee نسخه بتای ابزار
apigee-analytics-collector خط فرمان را ارائه میدهد. این ابزار گزارش حجم تماس API را به Apigee برمیگرداند. هر نصب «ابر خصوصی» Edge میتواند از این ابزار برای بازیابی و گزارش دادههای ترافیک به Apigee استفاده کند.
الزامی: قبلاز بارگذاری دادهها با «پشتیبانی Apigee» تماس بگیرید
قبلاز اینکه بتوانید دادهها را در Apigee بارگذاری کنید، باید با پشتیبانی Apigee Edge تماس بگیرید تا فرایند آمادهسازی را تکمیل کنید.
نصب apigee-analytics-collector
برنامه کمکی apigee-analytics-collector
یک بسته RPM است که بااستفاده از برنامه کمکی apigee-service نصب میکنید.
کجا نصب شود
گرهای که در آن ابزار apigee-analytics-collector را نصب میکنید میتواند هر گرهای باشد که بتواند به Edge management API در «سرور مدیریت Edge» دسترسی داشته باشد. میتوانید آن را
مستقیماً در «سرور مدیریت»، در گره دیگری از نصب Edge، یا در گره جداگانهای
نصب کنید، بهشرطی که آن گره بتواند درخواستهای میانای برنامهسازی کاربردی را به «سرور مدیریت» ارسال کند.
الزامات دسترسی به اینترنت
ابزار apigee-analytics-collector را در ماشینی با دسترسی به اینترنت خارجی نصب کنید. سپس ابزار apigee-analytics-collector میتواند دادهها را مستقیماً در Apigee بارگذاری کند.
اگر گرهی وجود ندارد که هم به Edge management API در «سرور مدیریت Edge» دسترسی داشته باشد و هم به اینترنت خارجی، میتوانید از 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: نشانی وب پایه Edge API در «سرور مدیریت». این نشانی اینترنتی معمولاً به شکل زیر است:http://ms_IP:8080/v1
که در آن ms_IP نشانی IP یا «سرور مدیریت» شما است و 8080 درگاهی است که Edge API استفاده میکند. اگر ورودی ساناد برای Edge API ایجاد کردهاید، نشانی وب به این شکل است:
http://ms_DNS/v1
اگر TLS را در Edge management API فعال کنید، به این شکل خواهد بود:
https://ms_IP:8080/v1 https://ms_DNS/v1
apigee_mgmt_api_email: نشانی ایمیل حسابی که به میاناهای برنامهسازی کاربردی/statsEdge دسترسی دارد. اغلب این ایمیل سرپرست سیستم Edge یا ایمیل سرپرست سازمان برای سازمانهای تولید شما خواهد بود.apigee_mgmt_api_password: گذرواژه Edge برای حسابی که باapigee_mgmt_api_emailمشخص شده است.-
apigee_analytics_client_idو apigee_analytics_secret: اطلاعات اعتباری شما برای بارگذاری دادهها در Apigee. لطفاً برای دریافتapigee_analytics_client_idوapigee_analytics_secret، بلیت پشتیبانی Apigee Edge ارسال کنید.
فرمانهای نمونه
در زیر نمونهای از دستور بازیابی دادههای ترافیک برای همه سازمانها و
محیطها در نصب 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 را فهرست میکند:
| فرمان | شرح |
|---|---|
-h, --help |
اطلاعات استفاده از برونداد |
-D, --dimension dimension |
ابعاد ترافیک برای جمعآوری. مقادیر معتبر اینها هستند:
|
-d, --days days
|
تعداد روزهای گذشته دادهها برای جمعآوری، از تاریخ کنونی شروع میشود. پیشفرض ۳ است. اگر |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
نشانی وب به Edge management API. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
نشانی ایمیل حسابی که به میاناهای برنامهسازی کاربردی Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
گذرواژه منسوب به حساب ایمیل «میانای برنامهسازی کاربردی مدیریت Edge» که توسط
|
-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». اگر |
-z, --time_range_end time_range_end
|
پایان محدوده زمانی برای پُرسمان کردن آمار ترافیک، در قالب: «04/01/2016 24:00». اگر |
-t, --time_unit time_unit
|
واحد زمان برای دادههای ترافیک. مقدار پیشفرض
اگر |
-S, --standard_output
|
بهجای بارگذاری بر روی Apigee، برونداد را در ترمینال (stdout) بنویسید. |
-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
|
فرمانهای |
-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 بُعدی است که سنجهها را براساس پراکسیهای API گروهبندی میکند.
MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hourمحدوده زمانی تقسیمشده به واحدهای زمانی سنجهها را برای جمعآوری مشخص میکند. توجه داشته باشید که فرمانcurlاز کد هگز%20برای فاصلهها در محدوده زمانی استفاده میکند.
برای مثال، برای جمعآوری تعداد پیامهای پراکسی API بهصورت ساعتی در یک دوره ۲۴ ساعته، از فراخوانی API زیر استفاده کنید.
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 حاوی نویسههای کدبندیشده نشانی وب است.)
باید پاسخی بهاین شکل ببینید:
{
"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است که برای جمعآوری آمار در بالا استفاده کردید.