Apigee-তে API ট্রাফিক ডেটা আপলোড করা - বিটা রিলিজ

Edge for Private Cloud v. 4.16.09

Private Cloud-এর জন্য Edge-এর সব গ্রাহককে API প্রক্সি ট্রাফিক সম্পর্কে Apigee-তে পরিসংখ্যান জমা দিতে হবে। Apigee গ্রাহকদের দিনে একবার সেই তথ্য আপলোড করার সাজেশন দেয়, সম্ভবত ক্রন জব তৈরি করে।

আপনার প্রোডাকশন API ডেপ্লয়মেন্টের জন্য ডেটা জমা দিতে হবে, তবে ডেভেলপমেন্ট বা টেস্টিং ডেপ্লয়মেন্টে থাকা API-এর জন্য নয়। বেশিরভাগ Edge ইনস্টলেশনে, আপনি প্রোডাকশন API-এর জন্য নির্দিষ্ট সংস্থা বা এনভায়রনমেন্ট নির্ধারণ করবেন। আপনার জমা দেওয়া ডেটা শুধুমাত্র সেইসব প্রোডাকশন সংস্থা ও এনভায়রনমেন্টের জন্য।

এই ডেটা আপলোড করার ব্যাপারে সাহায্য করতে, Apigee apigee-analytics-collector কমান্ড-লাইন ইউটিলিটির বিটা রিলিজ প্রদান করে। এই ইউটিলিটি Apigee-তে API কল ভলিউম রিপোর্ট ফেরত পাঠায়। Private Cloud ইনস্টলেশনের জন্য প্রতিটি Edge, ট্রাফিক ডেটা ফিরিয়ে আনতে এবং Apigee-তে রিপোর্ট করতে এই ইউটিলিটি ব্যবহার করতে পারে।

Apigee-তে ট্রাফিক ডেটা আপলোড করার প্রসেস সম্পর্কে আরও তথ্যের জন্য, প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন।

টুলটি কীভাবে কাজ করে তা দেখতে একটি ছোট ভিডিও দেখুন।

apigee-analytics-collector ইনস্টল করা হচ্ছে

apigee-analytics-collector ইউটিলিটি হল একটি Node.js মডিউল যা আপনি npm ব্যবহার করে ইনস্টল করেন।

ইনস্টলেশন সংক্রান্ত প্রয়োজনীয়তা

apigee-analytics-collector ইউটিলিটির জন্য এগুলি প্রয়োজন:

  • npm 2.x বা তার পরের ভার্সন
  • Node.js 4.x.

কোথায় ইনস্টল করতে হবে

আপনি যে নোডে apigee-analytics-collector ইউটিলিটি ইনস্টল করেন সেটি যেকোনও নোড হতে পারে যা এজ ম্যানেজমেন্ট সার্ভারে এজ ম্যানেজমেন্ট API অ্যাক্সেস করতে পারে। আপনি এটি সরাসরি ম্যানেজমেন্ট সার্ভারে, Edge ইনস্টলেশনের অন্য নোডে বা আলাদা নোডে ইনস্টল করতে পারেন, যতক্ষণ না সেই নোড ম্যানেজমেন্ট সার্ভারে API অনুরোধ করতে পারে।

ইন্টারনেট অ্যাক্সেস প্রয়োজন

এক্সটার্নাল ইন্টারনেট অ্যাক্সেস আছে এমন মেশিনে apigee-analytics-collector ইউটিলিটি ইনস্টল করুন। তারপর apigee-analytics-collector ইউটিলিটি সরাসরি Apigee-তে ডেটা আপলোড করতে পারবে।

Edge ম্যানেজমেন্ট সার্ভারে Edge ম্যানেজমেন্ট API-তে অ্যাক্সেস এবং এক্সটার্নাল ইন্টারনেট অ্যাক্সেস, দুটিই আছে এমন কোনও নোড না থাকলে, আপনি ট্রাফিক ডেটা লোকালি সেভ করার জন্য Edge ম্যানেজমেন্ট 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-এর বেস URL। এই URL সাধারণত এই ফর্ম্যাটে থাকে:
    http://ms_IP:8080/v1

    যেখানে ms_IP হল IP অ্যাড্রেস বা আপনার ম্যানেজমেন্ট সার্ভার এবং 8080 হল Edge API-এর ব্যবহার করা পোর্ট। আপনি যদি Edge API-এর জন্য DNS এন্ট্রি তৈরি করে থাকেন, তাহলে URL-এর ফর্ম্যাট হবে:
    http://ms_DNS/v1

    আপনি যদি Edge ম্যানেজমেন্ট API-তে TLS চালু করেন, তাহলে ফর্ম্যাট হবে:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Edge /stats API-তে অ্যাক্সেস আছে এমন অ্যাকাউন্টের ইমেল আইডি। সাধারণত, এটি Edge সিস্টেম অ্যাডমিনিস্ট্রেটরের ইমেল বা আপনার প্রোডাকশন সংস্থার জন্য সংস্থার অ্যাডমিনিস্ট্রেটরের ইমেল হবে।
  • apigee_mgmt_api_password: apigee_mgmt_api_email-এর মাধ্যমে নির্দিষ্ট করা অ্যাকাউন্টের জন্য Edge পাসওয়ার্ড।
  • 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 <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) বিকল্প ব্যবহার করুন:

> 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-তে ডেটা আপলোড করা বাদ দেয়। তারপর আপনি Apigee-তে ডেটা পাঠাতে -S বিকল্প ছাড়াই কমান্ডটি আবার চালাতে পারবেন।

-S বিকল্প ব্যবহার করার একটি কারণ হল যাতে আপনি স্থানীয়ভাবে বিভিন্ন ধরনের ডেটা দেখাতে পারেন। Apigee-এর জন্য আপনাকে শুধুমাত্র API ট্রাফিক ডেটা আপলোড করতে হবে, তবে -D বিকল্পটি আপনাকে API প্রোডাক্ট, ডেভেলপার, অ্যাপ বা API প্রক্সি সম্পর্কে ডেটা দেখাতে দেয়। নিচের উদাহরণে ডেভেলপার ডেটা স্থানীয়ভাবে দেখানোর জন্য -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 বিকল্প এবং apigee-analytics-collector-এর মাধ্যমে তৈরি করা কার্ল কমান্ড দেখতে -R বিকল্প অন্তর্ভুক্ত করুন:

 > 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 ম্যানেজমেন্ট API-এর URL।

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

Edge /stats API-তে অ্যাক্সেস আছে এমন অ্যাকাউন্টের ইমেল আইডি। সাধারণত এটি হবে Edge সিস্টেম অ্যাডমিনিস্ট্রেটরের ইমেল অথবা আপনার প্রোডাকশন সংস্থার জন্য সংস্থা অ্যাডমিনিস্ট্রেটরের ইমেল।

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

-u দ্বারা নির্দিষ্ট করা 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>

ট্রাফিক পরিসংখ্যান কোয়েরি করার জন্য সময়সীমা শুরু, এই ফর্ম্যাটে: "০৩/০১/২০১৬ ০০:০০"।

আপনি -d উল্লেখ করলে, সময়সীমা সেট করার জন্য -s এবং -z উল্লেখ করবেন না।

-z, --time_range_end <time_range_end>

ট্রাফিক পরিসংখ্যান কোয়েরি করার জন্য সময়সীমার শেষ, এই ফর্ম্যাটে: "০৪/০১/২০১৬ ২৪:০০"।

আপনি -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 ম্যানেজমেন্ট API ব্যবহার করুন এবং তারপরে ইন্টারনেট অ্যাক্সেস সহ মেশিন থেকে Apigee-তে এটি আপলোড করতে cURL কমান্ড ব্যবহার করুন। আপনার 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/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

এই কমান্ড Edge Get API মেসেজ কাউন্ট API ব্যবহার করে। এই কমান্ডে:

  • apigee_mgmt_api_email:apigee_mgmt_api_password Edge /stats API-তে অ্যাক্সেস আছে এমন অ্যাকাউন্টের ইমেল আইডি উল্লেখ করে।
  • <ms_IP> হল এজ ম্যানেজমেন্ট সার্ভারের IP অ্যাড্রেস বা DNS নাম।
  • {org_name} এবং {env_name} সংস্থা এবং পরিবেশ নির্দিষ্ট করে।
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM পরিসংখ্যান সংগ্রহের সময়সীমা নির্দিষ্ট করে। লক্ষ্য করুন যে cURL কমান্ডটি সময়সীমার মধ্যে স্পেসের জন্য হেক্স কোড %20 ব্যবহার করে।

যেমন, ২৪ ঘণ্টার পরিসংখ্যান সংগ্রহ করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

আপনি ফর্মে একটি উত্তর দেখতে পাবেন:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values" : [ "42.0" ]
    } ],
    "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 specify Apigee-তে ডেটা আপলোড করার জন্য আপনার ক্রেডেনশিয়াল যা আপনি Apigee সহায়তা থেকে পেয়েছেন।
  • {org_name} সংস্থার নাম উল্লেখ করে।
  • {"environments"...}-এ cURL কমান্ডের ফলাফল থাকে যা আপনি উপরে পরিসংখ্যান সংগ্রহ করতে ব্যবহার করেছেন।