همه مشتریان Edge for Private Cloud باید به آمار Apigee درباره ترافیک پروکسی API ارسال کنند. Apigee توصیه می کند که مشتریان آن اطلاعات را یک بار در روز آپلود کنند، احتمالاً با ایجاد یک شغل cron.
باید دادهها را برای استقرار API تولیدی خود ارسال کنید، اما نه برای APIها در توسعه یا آزمایش استقرار. در اکثر نصبهای Edge، سازمانها یا محیطهای خاصی را برای APIهای تولیدی خود تعریف خواهید کرد. داده هایی که ارسال می کنید فقط برای آن سازمان ها و محیط های تولیدی است.
برای کمک به آپلود این داده ها، Apigee نسخه بتا ابزار خط فرمان apigee-analytics-collector
ارائه می دهد. این ابزار گزارش حجم تماس API را به Apigee میفرستد. هر Edge برای نصب Private Cloud می تواند از این ابزار برای بازیابی و گزارش داده های ترافیک به Apigee استفاده کند.
مورد نیاز: قبل از آپلود اطلاعات با پشتیبانی Apigee تماس بگیرید
قبل از اینکه بتوانید دادهها را در Apigee آپلود کنید، باید با پشتیبانی Apigee Edge تماس بگیرید تا فرآیند نصب را تکمیل کنید.
apigee-analytics-collector را نصب کنید
ابزار apigee-analytics-collector
یک RPM است که با استفاده از ابزار apigee-service
را نصب میکنید.
کجا نصب کنیم
گرهای که ابزار apigee-analytics-collector
را روی آن نصب میکنید، میتواند هر گرهای باشد که بتواند به API مدیریت Edge در سرور مدیریت Edge دسترسی داشته باشد. میتوانید آن را مستقیماً روی سرور مدیریت، روی گره دیگری از نصب Edge یا روی یک گره جداگانه نصب کنید تا زمانی که آن گره بتواند درخواستهای API را به سرور مدیریت ارسال کند.
الزامات دسترسی به اینترنت
ابزار apigee-analytics-collector
روی دستگاهی با دسترسی به اینترنت خارجی نصب کنید. سپس ابزار apigee-analytics-collector
می تواند داده ها را مستقیماً در Apigee آپلود کند.
اگر هیچ گره ای با دسترسی به API مدیریت Edge در سرور مدیریت Edge و دسترسی به اینترنت خارجی وجود ندارد، می توانید از API مدیریت Edge برای ذخیره داده های ترافیک به صورت محلی استفاده کنید. سپس باید داده ها را به دستگاهی با دسترسی به اینترنت برای آپلود در Apigee منتقل کنید. در این سناریو، نیازی به استفاده از ابزار apigee-analytics-collector
ندارید. برای اطلاعات بیشتر به آپلود دستی داده ها در Apigee مراجعه کنید.
نصب و راه اندازی
برای نصب ابزار apigee-analytics-collector
از دستور زیر استفاده کنید. از آنجایی که شما در حال نصب یک فایل RPM هستید، این دستور باید توسط کاربر root یا کاربری که دسترسی کامل به 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 پایه API Edge در سرور مدیریت شما. این URL معمولاً به شکل زیر است:http://ms_IP:8080/v1
جایی که ms_IP آدرس IP یا سرور مدیریت شما و 8080 پورتی است که توسط Edge API استفاده می شود. اگر یک ورودی DNS برای Edge API ایجاد کرده اید، URL به شکل زیر است:
http://ms_DNS/v1
اگر TLS را در API مدیریت Edge فعال کنید، به شکل زیر است:
https://ms_IP:8080/v1 https://ms_DNS/v1
-
apigee_mgmt_api_email
: آدرس ایمیل یک حساب کاربری با دسترسی به Edge/stats
API. اغلب این ایمیل مدیر سیستم 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
در این مثال، شما فقط داده ها را از محیط prod 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 فقط نیاز دارد که دادههای ترافیک API را آپلود کنید، اما گزینه -D
به شما امکان میدهد اطلاعات مربوط به محصولات API، توسعهدهندگان، برنامهها یا پراکسیهای API را نمایش دهید. مثال زیر از گزینه های -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 | تعداد روزهای گذشته داده برای جمعآوری، از تاریخ فعلی شروع میشود. پیش فرض 3 است. اگر |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri | URL به API مدیریت Edge. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email | آدرس ایمیل یک حساب با دسترسی به APIهای Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password | رمز عبور مرتبط با حساب ایمیل مدیریت Edge API که توسط |
-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 آپلود کند.
با این حال، اگر دستگاه دسترسی به اینترنت خارجی ندارد، از API مدیریت 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 message count API استفاده می کند. در این دستور:
- apigee_mgmt_api_email:apigee_mgmt_api_password آدرس ایمیل یک حساب کاربری با دسترسی به APIهای Edge /stats را مشخص می کند.
- ms_IP آدرس IP یا نام DNS سرور مدیریت لبه است.
- org_name و env_name org و محیط را مشخص می کنند.
- apiproxy بعد است که معیارها را بر اساس پراکسی های API گروه بندی می کند.
-
MM/DD/YYYY %20 HH:MM~MM/DD/YYYY %20 HH:MM &timeUnit=hour
محدوده زمانی را مشخص می کند که به واحدهای زمانی معیارهای جمع آوری تقسیم شده است. توجه داشته باشید که دستورcurl
از کد هگز%20
برای فضاهای محدوده زمانی استفاده می کند.
به عنوان مثال، برای جمع آوری تعداد پیام های پراکسی API ساعت به ساعت در یک دوره 24 ساعته، از تماس 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
شامل کاراکترهای رمزگذاری شده با 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
است که برای جمع آوری آمار در بالا استفاده کردید.