بارگذاری داده‌های ترافیک میانای برنامه‌سازی کاربردی در Apigee - انتشار نسخه بتا

Edge for Private Cloud نسخه ۴.۱۷.۰۱

همه مشتریان Edge for Private Cloud ملزم هستند آمار مربوط به ترافیک کارگزار API را به Apigee ارسال کنند. ‫Apigee توصیه می‌کند که مشتریان این اطلاعات را یک‌بار در روز، احتمالاً با ایجاد کار cron، بارگذاری کنند.

باید داده‌های استقرار API تولید خود را ارسال کنید، اما داده‌های API درحال توسعه یا استقرار آزمایشی را نباید ارسال کنید. در اکثر نصب‌های Edge، سازمان‌ها یا محیط‌های خاصی را برای «میاناهای برنامه‌سازی کاربردی» تولید خود تعریف خواهید کرد. داده‌هایی که ارسال می‌کنید فقط برای آن سازمان‌ها و محیط‌های تولید است.

برای کمک به بارگذاری این داده‌ها، Apigee نسخه بتای ابزار کمکی خط فرمان apigee-analytics-collector را ارائه می‌دهد. این ابزار گزارش حجم تماس API را به Apigee برمی‌گرداند. هر نصب «ابر خصوصی» Edge می‌تواند از این ابزار برای بازیابی و گزارش داده‌های ترافیک به Apigee استفاده کند.

برای اطلاعات بیشتر درباره فرایند بارگذاری داده‌های ترافیک در Apigee، به پرسشگان مراجعه کنید.

برای دیدن عملکرد این ابزار، ویدیو کوتاهی را تماشا کنید.

درحال نصب apigee-analytics-collector

برنامه کمکی apigee-analytics-collector یک واحد Node.js است که بااستفاده از npm نصب می‌کنید.

الزامات نصب

برنامه کمکی apigee-analytics-collector به موارد زیر نیاز دارد:

  • ‫npm نسخه ۲.x یا بالاتر
  • ‫Node.js نسخه ۴.x.

کجا نصب شود

گره‌ای که در آن ابزار 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 استفاده کنید:

> npm install apigee-analytics-collector -g

درحال اجرای apigee-analytics-collector

این بخش نحوه اجرای ابزار apigee-analytics-collector را شرح می‌دهد.

اطلاعات لازم برای اجرای 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

    اگر «امنیت لایه انتقال» را در Edge management API فعال کنید، نشانی وب به این شکل است:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: نشانی ایمیل حسابی با دسترسی به Edge /stats APIs. اغلب این ایمیل سرپرست سیستم 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 و بارگذاری آن داده‌ها در Apigee نشان داده شده است:

> 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،‏ --exclude_orgs <فهرست جداشده با کاما از موارد>
  • ‫-n،‏ --include_envs <فهرست جداشده با کاما از موارد>
  • ‫-e،‏ --exclude_envs <فهرست جداشده با کاما از موارد>

برای مثال، برای مشخص کردن فقط سازمان‌ها و محیط‌های تولید، از گزینه‌های -i (یا --include_orgs) و -n (یا --include_envs) استفاده کنید:

> 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 استفاده کنید:

> 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 برای نمایش داده‌های توسعه‌دهنده به‌صورت محلی استفاده می‌کند:

> 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 اضافه کنید:

 > 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>

ابعاد ترافیک برای جمع‌آوری. ابعاد معتبر: apiproducts،‏ devs،‏ apps،‏ apiproxy (پیش‌فرض)

-d, --days <days>

تعداد روزهای گذشته، از تاریخ فعلی، برای جمع‌آوری داده‌ها. پیش‌فرض ۳ است.

اگر -d را مشخص کردید، -s و -z را برای تنظیم محدوده زمانی مشخص نکنید.

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

نشانی وب به Edge management API.

-u،‏ --apigee_mgmt_api_email <apigee_mgmt_api_email>

نشانی ایمیل حسابی که به میاناهای برنامه‌سازی کاربردی Edge /stats دسترسی دارد. اغلب این ایمیل، ایمیل سرپرست سیستم Edge یا ایمیل سرپرست سازمان برای سازمان‌های تولید شما خواهد بود.

-p،‏ --apigee_mgmt_api_password <apigee_mgmt_api_password>

گذرواژه مرتبط با حساب ایمیل Edge management API که با -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

به‌جای بارگذاری بر روی Apigee، برونداد را در ترمینال (stdout) بنویسید.

-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» برای جمع‌آوری داده‌های ترافیک استفاده کنید، و سپس از دستورات 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 مدیریت زیر استفاده کنید. ‫timeRange حاوی نویسه‌های کدبندی‌شده با نشانی وب است.

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 زیر استفاده کنید: command:

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 است که برای جمع‌آوری آمار بالا استفاده کردید.