Edge for Private Cloud-এর সব গ্রাহককে API প্রক্সি ট্রাফিক সংক্রান্ত পরিসংখ্যান Apigee-তে জমা দিতে হবে। Apigee সাজেস্ট করে যে গ্রাহকরা যেন দিনে একবার সেই তথ্য আপলোড করেন, সম্ভবত ক্রন জব তৈরি করার মাধ্যমে।
আপনাকে প্রোডাকশন API ডিপ্লয়মেন্টের ডেটা জমা দিতে হবে, তবে ডেভেলপমেন্ট বা টেস্টিং ডিপ্লয়মেন্টের API-এর জন্য নয়। বেশিরভাগ Edge ইনস্টলেশনে, আপনার প্রোডাকশন API-এর জন্য নির্দিষ্ট সংস্থা বা এনভায়রনমেন্ট নির্ধারণ করবেন। আপনার জমা দেওয়া ডেটা শুধুমাত্র সেইসব প্রোডাকশন সংস্থা ও এনভায়রনমেন্টের জন্য।
এই ডেটা আপলোড করার ব্যাপারে সহায়তা করতে, Apigee
apigee-analytics-collectorকমান্ড-লাইন
ইউটিলিটির বিটা রিলিজ প্রদান করে। এই ইউটিলিটি API কলের ভলিউম রিপোর্ট Apigee-তে ফেরত পাঠায়। প্রতিটি Edge for the
প্রাইভেট ক্লাউড ইনস্টলেশন, Apigee-তে
ট্রাফিক ডেটা রিট্রিভ ও রিপোর্ট করার জন্য এই ইউটিলিটি ব্যবহার করতে পারে।
প্রয়োজনীয়: ডেটা আপলোড করার আগে Apigee সহায়তা টিমের সাথে যোগাযোগ করুন
Apigee-তে ডেটা আপলোড করার আগে, অনবোর্ডিং প্রসেস সম্পূর্ণ করতে আপনাকে অবশ্যই Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করতে হবে।
apigee-analytics-collector ইনস্টল করা
apigee-analytics-collector
ইউটিলিটি হল একটি RPM যা আপনি apigee-service ইউটিলিটি ব্যবহার করে ইনস্টল করেন।
কোথায় ইনস্টল করতে হবে
আপনি যে নোডে apigee-analytics-collector ইউটিলিটি ইনস্টল করেন সেটি যেকোনও
নোড হতে পারে যা Edge ম্যানেজমেন্ট সার্ভারে Edge ম্যানেজমেন্ট API অ্যাক্সেস করতে পারে। আপনি এটি ম্যানেজমেন্ট সার্ভারে, Edge ইনস্টলেশনের অন্য নোডে বা আলাদা
নোডে সরাসরি ইনস্টল করতে পারেন, তবে সেই নোডকে ম্যানেজমেন্ট সার্ভারে API অনুরোধ করতে হবে।
ইন্টারনেট অ্যাক্সেস প্রয়োজনীয়তা
এক্সটার্নাল ইন্টারনেট অ্যাক্সেস আছে এমন
মেশিনে apigee-analytics-collector ইউটিলিটি ইনস্টল করুন। তারপরে, apigee-analytics-collector ইউটিলিটি
সরাসরি Apigee-তে ডেটা আপলোড করতে পারে।
Edge ম্যানেজমেন্ট সার্ভারে Edge ম্যানেজমেন্ট API-এর অ্যাক্সেস
এবং এক্সটার্নাল ইন্টারনেটের অ্যাক্সেস, দুটিই আছে এমন কোনও নোড না থাকলে, আপনি Edge ম্যানেজমেন্ট API ব্যবহার করে ট্রাফিক
ডেটা লোকালি সেভ করতে পারবেন। আপনাকে অবশ্যই Apigee-তে আপলোড করার জন্য ইন্টারনেট অ্যাক্সেস সহ মেশিনে ডেটা ট্রান্সফার করতে হবে।
এই পরিস্থিতিতে, আপনাকে apigee-analytics-collector
ইউটিলিটি ব্যবহার করতে হবে না। আরও জানতে
Apigee-তে ম্যানুয়ালি ডেটা আপলোড করালিঙ্ক দেখুন।
ইনস্টল করা
apigee-analytics-collector ইউটিলিটি ইনস্টল করতে নিম্নলিখিত কমান্ড ব্যবহার করুন। কারণ
আপনি একটি RPM ফাইল ইনস্টল করছেন, এই কমান্ডটি অবশ্যই রুট ব্যবহারকারী বা এমন কোনও ব্যবহারকারীকে চালাতে হবে যার কাছে
সম্পূর্ণ sudo অ্যাক্সেস আছে। সম্পূর্ণ 'সুডো' অ্যাক্সেসের ক্ষেত্রে, এর অর্থ হল ব্যবহারকারীর কাছে রুট হিসেবে একই
অপারেশন পারফর্ম করার জন্য সুডো অ্যাক্সেস আছে।
/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install
apigee-analytics-collector চলছে
apigee-analytics-collector ইউটিলিটি কীভাবে রান করাতে হয়, তা এই বিভাগে বর্ণনা করা হয়েছে।
apigee-analytics-collector চালানোর জন্য ব্যবহারকারীকে কনফিগার করা
আপনাকে অবশ্যই apigee-analytics-collector নন-রুট
ব্যবহারকারী হিসেবে চালাতে হবে। এই ব্যবহারকারীর "apigee" ব্যবহারকারীর সম্পূর্ণ সুডো অ্যাক্সেস থাকতে হবে।
"apigee" ব্যবহারকারীর সম্পূর্ণ sudo অ্যাক্সেস আছে এমন কোনও ব্যবহারকারীকে কনফিগার করতে, যোগ করার জন্য sudoers ফাইল এডিট করতে "visudo" কমান্ড ব্যবহার করুন:
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-এর বেস 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/statsAPI-তে অ্যাক্সেস আছে এমন অ্যাকাউন্টের ইমেল আইডি। প্রায়শই এটি 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-analytics-collector কমান্ড রান করানোর জন্য আপনি কীভাবে apigee-service ব্যবহার
করেন তা
লক্ষ্য করুন:
/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-তে আপলোড করা ডেটা
বাদ দেয়। তারপরে, Apigee-তে ডেটা পাঠানোর জন্য -S বিকল্পটি বাদ দিয়ে কমান্ডটি আবার রান করতে পারেন।
-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 বিকল্প এবং apigee-analytics-collector-এর তৈরি করা কার্ল কমান্ড দেখতে -R বিকল্প
যোগ করুন:
/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 ম্যানেজমেন্ট API-এর URL. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
|
-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
|
ট্রাফিক সংক্রান্ত পরিসংখ্যান কোয়েরি করার জন্য সময়সীমার শেষ, এই ফর্ম্যাটে: "01/04/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 ম্যানেজমেন্ট 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/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"
এই কমান্ড Edge Get API মেসেজ কাউন্ট API ব্যবহার করে। এই কমান্ডে:
- apigee_mgmt_api_email:apigee_mgmt_api_password Edge /stats API অ্যাক্সেস করতে পারে এমন অ্যাকাউন্টের ইমেল আইডি নির্দিষ্ট করে।
- ms_IP হল Edge ম্যানেজমেন্ট সার্ভারের IP অ্যাড্রেস বা DNS নাম।
- 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-এ 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কমান্ডের ফলাফল থাকে যা আপনি উপরে পরিসংখ্যান সংগ্রহ করতে ব্যবহার করেছেন।