আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
এই বিষয় হল অ্যানালিটিক্স মেট্রিক, ডাইমেনশন ও ফিল্টারের রেফারেন্স। এগুলি ব্যবহার করা সম্পর্কে আরও জানতে API Analytics ওভারভিউ দেখুন।
এই বিষয়ে মেট্রিক ও ডাইমেনশনের নামগুলি UI-তে যেভাবে দেখানো হয় এবং API কলে যেভাবে ব্যবহার করতে হয় তা দেখানো হয়েছে।
- আপনি কাস্টম রিপোর্ট তৈরি করার সময় UI নাম দেখতে পাবেন।
- মেট্রিক পাওয়া, রিপোর্ট ডেফিনিশন তৈরি করা অথবা রিপোর্ট ডেফিনিশন আপডেট করার সময় API-নির্দিষ্ট নাম ব্যবহার করুন।
মেট্রিক্স
কাস্টম রিপোর্ট ও ম্যানেজমেন্ট API কলে আপনি নিম্নলিখিত API মেট্রিক রিট্রিভ করতে পারবেন।
| কাস্টম রিপোর্টের নাম | ম্যানেজমেন্ট API-তে ব্যবহার করার জন্য নাম | ফাংশন | বিবরণ |
|---|---|---|---|
| প্রতি সেকেন্ডে গড় ট্রানজ্যাকশন | tps | কোনওটিই নয় |
প্রতি সেকেন্ডে ট্রানজ্যাকশনের গড় সংখ্যা, অর্থাৎ API প্রক্সি অনুরোধ। মনে রাখবেন, নির্দিষ্ট সময়সীমার মধ্যে তুলনামূলকভাবে কম সংখ্যক ট্রানজ্যাকশন হলে, প্রতি সেকেন্ডে ট্রানজ্যাকশনের গড় সংখ্যা UI কাস্টম রিপোর্টে শূন্য হিসেবে দেখানো হতে পারে, যদি সংখ্যাটি দুই দশমিক স্থানের চেয়ে ছোট হয়। API সিনট্যাক্স: |
| ক্যাশে হিট | cache_hit | যোগফল |
টার্গেট পরিষেবা থেকে পাওয়া উত্তরের পরিবর্তে উত্তর ক্যাশে ব্যবহার করে সফল API অনুরোধের সংখ্যা। API সিনট্যাক্স: |
| L1 ক্যাশে এলিমেন্টের সংখ্যা | ax_cache_l1_count | গড়, সর্বনিম্ন, সর্বাধিক |
একটি নির্দিষ্ট সময়সীমার মধ্যে প্রতিটি ট্রানজ্যাকশনের জন্য L1 (ইন-মেমরি) ক্যাশেতে থাকা এলিমেন্টের সংখ্যা ফেরত দেয়।
যেমন, আপনি যদি এক দিনের জন্য API সিনট্যাক্স: |
| নীতি সংক্রান্ত সমস্যা | policy_error | যোগফল |
নির্দিষ্ট সময়সীমার মধ্যে নীতি সংক্রান্ত সমস্যার মোট সংখ্যা। নীতি সংক্রান্ত সমস্যা সাধারণত ডিজাইন সংক্রান্ত কারণে হয়। যেমন, যাচাই API কী নীতি অনুরোধে ভুল API কী পাস করা হলে একটি সমস্যা দেখায় এবং স্পাইক অ্যারেস্ট নীতি API কলের সংখ্যা নীতিতে নির্ধারিত সীমা অতিক্রম করলে একটি সমস্যা দেখায়। তাই আপনার API-তে সম্ভাব্য সমস্যাযুক্ত জায়গা খুঁজে পাওয়ার জন্য এই মেট্রিকটি সহায়ক। যেমন, developer_app ডাইমেনশন অনুযায়ী গ্রুপ করা policy_error মেট্রিক আপনাকে এটি আবিষ্কার করতে সাহায্য করতে পারে যে কোনও নির্দিষ্ট অ্যাপের জন্য API কী বা OAuth টোকেনের মেয়াদ শেষ হয়ে গেছে; অথবা আপনি এটিও খুঁজে পেতে পারেন যে নির্দিষ্ট কোনও API প্রক্সি অনেক বেশি Spike Arrest সংক্রান্ত সমস্যা দেখাচ্ছে, এর ফলে আপনি এটি আবিষ্কার করতে পারেন যে প্রক্সির স্পাইক অ্যারেস্ট সীমা ছুটির দিনে ট্রাফিকের বৃদ্ধিকে বিবেচনা করে না। নীতি সংক্রান্ত সমস্যার কারণে API প্রক্সি কাজ না করলে তবেই অ্যানালিটিক্সে সমস্যা লগ করা হয়।
যেমন, কোনও নীতির নীতি অনুযায়ী নীতি সংক্রান্ত সমস্যা গ্রুপ করার জন্য সমস্যায় থাকা নীতির নাম (ax_execution_fault_policy_name) ডাইমেনশন কাজে লাগে। টার্গেট কাজ না করলে (যেমন, 404 বা 503) তা নীতি লঙ্ঘন হিসেবে গণ্য করা হয় না। এগুলি API প্রক্সি ব্যর্থতা (is_error) হিসেবে গণ্য করা হয়। API সিনট্যাক্স: |
| প্রক্সি সংক্রান্ত সমস্যা | is_error | যোগফল |
নির্দিষ্ট সময়সীমার মধ্যে API প্রক্সি যতবার কাজ করেনি তার মোট সংখ্যা। প্রক্সি নীতি ব্যর্থ হলে বা রানটাইম ব্যর্থতা হলে, যেমন টার্গেট পরিষেবা থেকে 404 বা 503 হলে ব্যর্থতা হতে পারে। প্রক্সি (apiproxy) ডাইমেনশন, প্রক্সি অনুযায়ী API প্রক্সি ব্যর্থতা গ্রুপ করার জন্য সহায়ক। API সিনট্যাক্স: |
| অনুরোধ প্রসেস করার লেটেন্সি | request_processing_latency | গড়, সর্বনিম্ন, সর্বাধিক |
Edge-এর ইনকামিং অনুরোধ প্রসেস করতে যে সময় লাগে (গড়, ন্যূনতম বা সর্বাধিক), তা মিলি সেকেন্ডে, দেখানো হয়। অনুরোধটি Edge-এ পৌঁছানোর সাথে সাথে সময় শুরু হয় এবং Edge অনুরোধটি টার্গেট পরিষেবায় ফরওয়ার্ড করার সাথে সাথে সময় শেষ হয়ে যায়। API প্রক্সি, ডেভেলপার অ্যাপ, অঞ্চল ইত্যাদি বিভিন্ন ডাইমেনশন ব্যবহার করে, আপনি অনুরোধ প্রসেস করার লেটেন্সি পরীক্ষা করতে পারবেন। API সিনট্যাক্স: |
| অনুরোধের সাইজ | request_size | যোগফল, গড়, সর্বনিম্ন, সর্বাধিক |
Edge-এর পাওয়া অনুরোধ পেলোডের সাইজ, বাইট-এ। API সিনট্যাক্স: |
| উত্তর ক্যাশে এক্সিকিউট করা হয়েছে | ax_cache_executed | যোগফল |
নির্দিষ্ট সময়সীমার মধ্যে যতবার রেসপন্স ক্যাশে নীতি প্রয়োগ করা হয়েছে তার মোট সংখ্যা । যেহেতু API প্রক্সিতে দু'টি জায়গায় রেসপন্স ক্যাশে নীতি অ্যাটাচ করা থাকে (একটি অনুরোধে এবং একটি উত্তরে), তাই এটি সাধারণত API কলে দু'বার এক্সিকিউট হয়। ক্যাশে 'get' ও ক্যাশে 'put' প্রত্যেকটি একটি করে এক্সিকিউশন হিসেবে গণ্য হয়। তবে, যদি নীতির
ট্রেস টুল-এ,
আপনি কোনও এক্সিকিউট করা API কলে 'প্রতিক্রিয়া ক্যাশে' আইকনে ক্লিক করতে এবং
API সিনট্যাক্স: |
| উত্তর প্রসেস করার লেটেন্সি | response_processing_latency | গড়, সর্বনিম্ন, সর্বাধিক |
API উত্তর প্রসেস করতে Edge-এর যে সময় (গড়, ন্যূনতম বা সর্বাধিক) লাগে, তা মিলি সেকেন্ডে, দেখানো হয়। API প্রক্সি টার্গেট সার্ভিস থেকে উত্তর পাওয়ার সাথে সাথেই সময় গণনা শুরু হয় এবং Apigee আসল কলারকে উত্তর ফরওয়ার্ড করার সাথে সাথেই সময় গণনা শেষ হয়। বিভিন্ন ডাইমেনশন ব্যবহার করে, আপনি API প্রক্সি, অঞ্চল এবং আরও অনেক কিছু দ্বারা প্রতিক্রিয়া প্রসেস করার লেটেন্সি পরীক্ষা করতে পারবেন। API সিনট্যাক্স: |
| উত্তর দেওয়ার সাইজ | response_size | যোগফল, গড়, সর্বনিম্ন, সর্বাধিক |
ক্লায়েন্টকে ফেরত পাঠানো উত্তরের পেলোডের সাইজ, বাইট-এ। API সিনট্যাক্স: |
| টার্গেট সংক্রান্ত সমস্যা | target_error | যোগফল |
টার্গেট পরিষেবা থেকে পাওয়া 5xx উত্তরের মোট সংখ্যা। এগুলি হল টার্গেট পরিষেবা সংক্রান্ত সমস্যা যা Apigee-এর কারণে হয়নি। API সিনট্যাক্স: |
| উত্তর দেওয়ার টার্গেট সময় | target_response_time | যোগফল, গড়, সর্বনিম্ন, সর্বাধিক |
কলের উত্তর দেওয়ার জন্য টার্গেট সার্ভারের নেওয়া সময়ের পরিমাণ (যোগফল, গড়, ন্যূনতম বা সর্বাধিক), মিলি সেকেন্ডে। এই মেট্রিক থেকে টার্গেট সার্ভার কেমন পারফর্ম করছে তা জানতে পারবেন। Edge যখন টার্গেট পরিষেবায় অনুরোধ ফরোয়ার্ড করে তখন সময় শুরু হয় এবং Edge যখন উত্তর পায় তখন সময় শেষ হয়। মনে রাখবেন, কোনও API কল যদি ক্যাশে থেকে উত্তর রিটার্ন করে (যেমন, Response Cache নীতি ব্যবহার করে), তাহলে কলটি কখনই টার্গেট পরিষেবায় পৌঁছাবে না এবং কোনও টার্গেট রেসপন্স টাইম মেট্রিক লগ করা হবে না। API সিনট্যাক্স: |
| উত্তর দেওয়ার মোট সময় | total_response_time | যোগফল, গড়, সর্বনিম্ন, সর্বাধিক |
Edge কোনও ক্লায়েন্টের থেকে অনুরোধ পাওয়ার পর থেকে Edge ক্লায়েন্টকে উত্তর পাঠানোর মধ্যেকার সময় (যোগফল, গড়, সর্বনিম্ন বা সর্বোচ্চ), যা মিলি সেকেন্ডে দেখানো হয়। এই সময়ের মধ্যে নেটওয়ার্ক ওভারহেড (যেমন, লোড ব্যালেন্সার ও রাউটারকে কাজ করার জন্য যে সময় লাগে), অনুরোধ প্রসেস করার লেটেন্সি, উত্তর প্রসেস করার লেটেন্সি এবং টার্গেট উত্তর দেওয়ার সময় (যদি উত্তরটি ক্যাশে থেকে না দিয়ে টার্গেট পরিষেবা থেকে দেওয়া হয়) অন্তর্ভুক্ত। API প্রক্সি, ডেভেলপার অ্যাপ, অঞ্চল ইত্যাদি বিভিন্ন ডাইমেনশন ব্যবহার করে আপনি প্রসেসিং ল্যাটেন্সি পরীক্ষা করতে পারবেন। API সিনট্যাক্স: |
| ট্রাফিক | message_count | যোগফল |
নির্দিষ্ট সময়সীমার মধ্যে Edge-এর মাধ্যমে প্রসেস করা API কলের মোট সংখ্যা। আপনার কাছে সবচেয়ে অর্থপূর্ণ উপায়ে ট্রাফিক সংখ্যা গ্রুপ করার জন্য ডাইমেনশন ব্যবহার করুন। API সিনট্যাক্স: |
আকার
ডাইমেনশন আপনাকে অর্থপূর্ণ গ্রুপে মেট্রিক দেখতে দেয়। যেমন, প্রতিটি ডেভেলপার অ্যাপ বা API প্রক্সির জন্য মোট ট্রাফিক সংখ্যা দেখলে তা অনেক বেশি কার্যকর হয়।
Apigee-তে আগে থেকেই উপলভ্য ডায়মেনশনগুলি নিচে উল্লেখ করা হল। এছাড়াও, আপনি নিজের ডাইমেনশন তৈরি করতে পারবেন, যেমন কাস্টম অ্যানালিটিক্স ব্যবহার করে API মেসেজ কন্টেন্ট বিশ্লেষণ করা নিবন্ধে বর্ণনা করা হয়েছে।
| কাস্টম রিপোর্টের নাম | ম্যানেজমেন্ট API-তে ব্যবহার করার জন্য নাম | বিবরণ |
|---|---|---|
| Apigee এন্টিটি | ||
| অ্যাক্সেস টোকেন | access_token | অ্যাপের ব্যবহারকারীর OAuth অ্যাক্সেস টোকেন। |
| API প্রোডাক্ট | api_product |
কল করা হচ্ছে এমন API প্রক্সি সহ API প্রোডাক্টের নাম। এই ডাইমেনশন পেতে, কল করা ডেভেলপার অ্যাপকে অবশ্যই এক বা একাধিক API প্রোডাক্টের সাথে যুক্ত থাকতে হবে যাতে API প্রক্সি থাকে এবং কল করা প্রক্সিগুলিকে অবশ্যই API কলের সাথে পাঠানো API কী বা OAuth টোকেন চেক করতে হবে। কী বা টোকেনটি API প্রোডাক্টের সাথে যুক্ত। আরও তথ্যের জন্য, প্রথমেই সবচেয়ে গুরুত্বপূর্ণ: কীভাবে সম্পূর্ণ অ্যানালিটিক্স ডেটা তৈরি করতে হয় দেখুন। উপরের শর্ত পূরণ না হলে, আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। এছাড়াও অ্যানালিটিক্স এন্টিটি ভ্যালু "(সেট করা নেই)" বলতে কী বোঝায়? দেখুন। |
| ক্যাশে কী | ax_cache_key |
অ্যাক্সেস করা রেসপন্স ক্যাশে ভ্যালু সহ কী। কীভাবে উত্তরের ক্যাশের জন্য কী তৈরি করা হয় সেই সম্পর্কে আরও জানতে, উত্তরের ক্যাশ সংক্রান্ত নীতি দেখুন। ট্রেস টুল-এ,
আপনি যদি এমন কোনও রেসপন্স ক্যাশে নীতি বেছে নেন যা ক্যাশে থেকে পড়ে বা ক্যাশেতে লেখে, তাহলে আপনি
|
| ক্যাশের নাম | ax_cache_name |
Response Cache নীতিতে ব্যবহৃত কী/ভ্যালু সহ ক্যাশের নাম, orgName__envName__ প্রিফিক্স সহ। যেমন, org "foo" হলে, এনভায়রনমেন্ট "test" হলে এবং ক্যাশের নাম "myCache" হলে, ax_cache_name হল foo__test__myCache. ট্রেস টুল-এ,
আপনি কোনও রেসপন্স ক্যাশে নীতি বেছে নিলে, এই ভ্যালু
|
| ক্যাশে সোর্স | ax_cache_source |
যে ক্যাশে লেভেল থেকে রেসপন্স ক্যাশে রিট্রিভ করা হয়েছে ("L1" ইন-মেমরি বা "L2" ডেটাবেস)। এছাড়াও, এই ডাইমেনশন "CACHE_MISS" দেখায় যখন উত্তরটি ক্যাশের পরিবর্তে টার্গেট থেকে ডেলিভার করা হয় (এবং টার্গেট উত্তরের মাধ্যমে উত্তর ক্যাশ রিফ্রেশ করা হয়); অথবা যখন অনুরোধে ক্যাশ কী অবৈধ হয়। ক্যাশে কীয়ের সাইজ ২ কেবির মধ্যে হতে হবে। ট্রেস টুল-এ,
আপনি 'রেসপন্স ক্যাশে' নীতি বেছে নিলে, এই ভ্যালু
ক্যাশে লেভেল সম্পর্কে আরও জানতে, ক্যাশে ইন্টার্নাল দেখুন। |
| ক্লায়েন্ট ID | client_id |
API কল করা ডেভেলপার অ্যাপের কনজিউমার কী (API কী), তা API কী হিসেবে অনুরোধে পাস করা হোক অথবা OAuth টোকেনে অন্তর্ভুক্ত করা হোক। এই ডাইমেনশন পেতে, কল গ্রহণকারী প্রক্সিগুলিকে অবশ্যই একটি বৈধ API কী বা OAuth টোকেনের জন্য চেক করার জন্য কনফিগার করতে হবে। ডেভেলপার অ্যাপ API কী পায়, যা Edge-এ অ্যাপ রেজিস্টার করা হলে OAuth টোকেন তৈরি করতে ব্যবহার করা যায়। আরও তথ্যের জন্য, প্রথমেই সবচেয়ে গুরুত্বপূর্ণ: কীভাবে সম্পূর্ণ অ্যানালিটিক্স ডেটা তৈরি করতে হয় দেখুন। উপরের শর্ত পূরণ না হলে, আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। এছাড়াও, অ্যানালিটিক্স এন্টিটি ভ্যালু "(সেট করা নেই)" বলতে কী বোঝায়? দেখুন। |
| ডেভেলপার অ্যাপ | developer_app |
Edge-এ রেজিস্টার করা ডেভেলপার অ্যাপ API কল করছে। এই ডাইমেনশন পেতে, অ্যাপকে অবশ্যই এক বা একাধিক API প্রোডাক্টের সাথে যুক্ত থাকতে হবে যেখানে কল করা API প্রক্সি থাকে এবং প্রক্সিগুলিকে অবশ্যই API কলের সাথে পাঠানো API কী বা OAuth টোকেন চেক করতে হবে। কী বা টোকেন ডেভেলপার অ্যাপকে শনাক্ত করে। আরও তথ্যের জন্য, প্রথমেই: কীভাবে সম্পূর্ণ অ্যানালিটিক্স ডেটা তৈরি করতে হয় দেখুন। উপরের শর্ত পূরণ না হলে, আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। এছাড়াও, অ্যানালিটিক্স এন্টিটি ভ্যালু "(সেট করা নেই)" বলতে কী বোঝায়? দেখুন। |
| ডেভেলপারের ইমেল | developer_email |
Edge-এ রেজিস্টার করা সেইসব ডেভেলপারদের ইমেল আইডি যাদের অ্যাপ API কল করেছে। এই ডাইমেনশন পেতে, ডেভেলপারদের অবশ্যই এক বা একাধিক API প্রোডাক্টের সাথে যুক্ত অ্যাপ থাকতে হবে, যেগুলিতে কল করা API প্রক্সি থাকে এবং প্রক্সিগুলিকে অবশ্যই API কলের সাথে পাঠানো API কী বা OAuth টোকেন চেক করতে হবে। কী বা টোকেন ডেভেলপার অ্যাপকে শনাক্ত করে। আরও তথ্যের জন্য, প্রথমেই: কীভাবে সম্পূর্ণ অ্যানালিটিক্স ডেটা তৈরি করতে হয় দেখুন। উপরের শর্ত পূরণ না হলে, আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। এছাড়াও, অ্যানালিটিক্স এন্টিটি ভ্যালু "(সেট করা নেই)" বলতে কী বোঝায়? দেখুন। |
| ডেভেলপার আইডি | ডেভেলপার |
Edge-এর মাধ্যমে তৈরি করা অনন্য ডেভেলপার আইডি, যা org_name@@@unique_id ফর্ম্যাটে থাকে। এই ডাইমেনশন পেতে, ডেভেলপারের কাছে অবশ্যই এক বা একাধিক API প্রোডাক্টের সাথে যুক্ত অ্যাপ থাকতে হবে, যেগুলিতে কল করা API প্রক্সি থাকে এবং প্রক্সিগুলিকে অবশ্যই API কলের সাথে পাঠানো API কী বা OAuth টোকেন চেক করতে হবে। কী বা টোকেন ডেভেলপারকে শনাক্ত করে। আরও তথ্যের জন্য, প্রথমেই: কীভাবে সম্পূর্ণ অ্যানালিটিক্স ডেটা তৈরি করতে হয় দেখুন। উপরের শর্ত পূরণ না হলে, আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। এছাড়াও, অ্যানালিটিক্স এন্টিটি ভ্যালু "(সেট করা নেই)" বলতে কী বোঝায়? দেখুন। |
| পরিবেশ | পরিবেশ | API প্রক্সি যে Edge এনভায়রনমেন্টে ডেপ্লয় করা হয়। যেমন, "test" বা "prod"। |
| সমস্যা হলে ফল্ট কোড | ax_edge_execution_fault_code |
সমস্যার ফল্ট কোড। যেমন:
|
| সমস্যা হওয়া ফ্লো-এর নাম | ax_execution_fault _flow_name |
API প্রক্সিতে যে নামযুক্ত ফ্লো সমস্যার সৃষ্টি করেছে। যেমন, "PreFlow," "PostFlow," অথবা আপনার তৈরি করা কন্ডিশনাল ফ্লোয়ের নাম। মনে রাখবেন, ম্যানেজমেন্ট API-তে ব্যবহার করার জন্য সম্পূর্ণ নাম হল ax_execution_fault_flow_name, কোনও লাইন ব্রেক ছাড়াই। যেখানে কোনও সমস্যা হয়নি, সেখানে আপনি "(সেট করা নেই)" ভ্যালু দেখতে পাবেন। |
| Flow রিসোর্স | flow_resource | শুধুমাত্র Apigee ব্যবহারের জন্য। আপনি আগ্রহী হলে এই কমিউনিটি পোস্ট দেখুন। |
| সমস্যা হলে ফ্লো স্টেট | ax_execution_fault _flow_state |
API প্রক্সি ফ্লোয়ের নাম যা ত্রুটি দেখিয়েছে, যেমন "PROXY_REQ_FLOW" অথবা "TARGET_RESP_FLOW." মনে রাখবেন, ম্যানেজমেন্ট API-তে ব্যবহার করার জন্য সম্পূর্ণ নাম হল ax_execution_fault_flow_state, কোনও লাইন ব্রেক ছাড়াই। |
| গেটওয়ে ফ্লো আইডি | gateway_flow_id | API কল Edge-এর মাধ্যমে যাওয়ার সময়, প্রতিটি কল নিজস্ব গেটওয়ে ফ্লো আইডি পায়। যেমন: rrt329ea-12575-114653952-1. Gateway Flow ID, হাই-TPS পরিস্থিতিতে মেট্রিক আলাদা করার জন্য উপযোগী, যেখানে সংস্থা, এনভায়রনমেন্ট ও টাইমস্ট্যাম্পের মতো অন্যান্য ডাইমেনশন কল জুড়ে একই থাকে। |
| সংগঠন | সংস্থা | API প্রক্সি যে Edge সংগঠনে ডেপ্লয় করা হয়েছে। |
| সমস্যাযুক্ত নীতির নাম | ax_execution_fault _policy_name |
যে নীতি সমস্যার সৃষ্টি করেছে এবং API কল ব্যর্থ হওয়ার কারণ হয়েছে, সেটির নাম। মনে রাখবেন, ম্যানেজমেন্ট API-তে ব্যবহার করার জন্য সম্পূর্ণ নাম হল ax_execution_fault_policy_name, কোনও লাইন ব্রেক ছাড়াই। কোনও নীতিতে সমস্যা হলেও, নীতি সংক্রান্ত মূল অ্যাট্রিবিউট |
| প্রক্সি | apiproxy | API প্রক্সির মেশিন নাম (ডিসপ্লে নাম নয়)। |
| প্রক্সি বেস পাথ | proxy_basepath |
API প্রক্সি ProxyEndpoint-এ কনফিগার করা BasePath। বেস পাথে API প্রক্সি URL-এর ডোমেন ও পোর্ট অংশ অন্তর্ভুক্ত থাকে না। যেমন, কোনও API প্রক্সি বেস URL হল https://apigeedocs-test.apigee.net/releasenotes/, তাহলে বেস পাথ হল /releasenotes. এছাড়াও, ভ্যালু |
| প্রক্সি পাথ সাফিক্স | proxy_pathsuffix |
API প্রক্সি বেস পাথে রিসোর্স পাথ যোগ করা হয়। যেমন, কোনও API প্রক্সি সার্ভারের
বেস URL হল কোনও পাথসাফিক্স ব্যবহার করা না হলে, ভ্যালু ফাঁকা থাকে। এছাড়াও, ভ্যালু |
| প্রক্সি রিভিশন | apiproxy_revision | API কল ম্যানেজ করা API প্রক্সির রিভিশন নম্বর। এর অর্থ এই নয় যে এটি API প্রক্সির লেটেস্ট রিভিশন। কোনও API প্রক্সির ১০টি রিভিশন থাকলে, ৮ম রিভিশন বর্তমানে ডেপ্লয় করা থাকতে পারে। এছাড়াও, কোনও API-তে একাধিক রিভিশন ডিপ্লয় করা হতে পারে, তবে রিভিশনগুলির বেস পাথ আলাদা হতে হবে, যেমন UI-তে প্রক্সি ডিপ্লয় করা নিবন্ধে বর্ণনা করা হয়েছে। |
| সমাধান করা ক্লায়েন্ট IP | ax_resolved_client_ip |
যে ক্লায়েন্ট IP অ্যাড্রেস থেকে অনুরোধ করা হয়েছে সেটি থাকে। মনে রাখবেন, ক্লায়েন্টের আসল IP অ্যাড্রেস ক্যাপচার করার জন্য Akamai-এর মতো রাউটিং প্রোডাক্ট ব্যবহার করার সময়,
ক্লায়েন্ট IP, HTTP হেডারে
|
| রেসপন্স স্ট্যাটাস কোড | response_status_code | Apigee থেকে ক্লায়েন্টকে ফরওয়ার্ড করা HTTP রেসপন্স স্ট্যাটাস কোড, যেমন 200, 404, 503 ইত্যাদি। Edge-এ, টার্গেট থেকে পাওয়া রেসপন্স স্ট্যাটাস কোডকে অ্যাসাইন মেসেজ ও রেজ ফল্ট-এর মতো নীতি দিয়ে ওভাররাইট করা যায়। সেই কারণেই এই ডাইমেনশন টার্গেট রেসপন্স কোড (target_response_code)-এর থেকে আলাদা হতে পারে। |
| ভার্চুয়াল হোস্ট | virtual_host | যে ভার্চুয়াল হোস্টে API কল করা হয়েছে
তার নাম। যেমন, কোনও সংস্থার ডিফল্ট হিসেবে দুটি
ভার্চুয়াল হোস্ট থাকে: default (http) ও secure (https)। |
| ইনবাউন্ড/ক্লায়েন্ট | ||
| ক্লায়েন্ট IP অ্যাড্রেস | client_ip | রাউটারে হিট করা সিস্টেমের IP অ্যাড্রেস, যেমন আসল ক্লায়েন্ট
(proxy_client_ip) বা লোড ব্যালেন্সার।
X-Forwarded-For হেডার একাধিক IP থাকলে, এটি হল তালিকায় থাকা শেষ IP। |
| ডিভাইসের বিভাগ | ax_ua_device_category | যে ধরনের ডিভাইস থেকে API কল করা হয়েছে, যেমন "ট্যাবলেট" বা "স্মার্টফোন"। |
| OS ফ্যামিলি | ax_ua_os_family | কল করা ডিভাইসের অপারেটিং সিস্টেমের ফ্যামিলি, যেমন "Android" বা "iOS"। |
| OS ভার্সন | ax_ua_os_version |
যে ডিভাইস থেকে কল করা হচ্ছে সেটির অপারেটিং সিস্টেমের ভার্সন। অপারেটিং সিস্টেমের ভার্সন দেখতে, OS Family (ax_ua_os_family)-এর সাথে এটিকে দ্বিতীয় "ডাউন-ড্রিল" ডাইমেনশন হিসেবে ব্যবহার করা সহায়ক। |
| প্রক্সি ক্লায়েন্ট IP | proxy_client_ip |
কলিং ক্লায়েন্টের IP অ্যাড্রেস, যা |
| রেফার করা ক্লায়েন্টের IP | ax_true_client_ip | ক্লায়েন্টের আসল IP অ্যাড্রেস ক্যাপচার করার জন্য Akamai-এর মতো রাউটিং প্রোডাক্ট ব্যবহার করার সময়,
HTTP হেডার
|
| অনুরোধের পাথ | request_path |
টার্গেট পরিষেবার রিসোর্স পাথ (ডোমেন অন্তর্ভুক্ত নয়), কোয়েরি প্যারামিটার বাদ দিয়ে। যেমন, Apigee স্যাম্পেল টার্গেটে |
| অনুরোধ করা URI | request_uri |
কোয়েরি প্যারামিটার সহ টার্গেট পরিষেবার রিসোর্স পাথ (ডোমেন অন্তর্ভুক্ত নয়)। যেমন, Apigee স্যাম্পেল টার্গেটে |
| অনুরোধের ক্রিয়াপদ | request_verb | API অনুরোধে HTTP অনুরোধের ক্রিয়া, যেমন GET, POST, PUT, DELETE. |
| ইউজার এজেন্ট | useragent |
API কল করার জন্য ব্যবহৃত ইউজার এজেন্ট বা সফ্টওয়্যার এজেন্টের নাম। উদাহরণ:
|
| ইউজার এজেন্ট ফ্যামিলি | ax_ua_agent_family | ইউজারএজেন্টের ফ্যামিলি, যেমন "Chrome Mobile" বা "cURL"। |
| ইউজার এজেন্টের ধরন | ax_ua_agent_type | "ব্রাউজার", "মোবাইল ব্রাউজার", "লাইব্রেরি" ইত্যাদি ইউজারএজেন্টের ধরন। |
| ইউজার এজেন্ট ভার্সন | ax_ua_agent_version |
ইউজারএজেন্টের ভার্সন। এজেন্ট ফ্যামিলির ভার্সন পেতে, এটি ইউজার এজেন্ট ফ্যামিলি (ax_ua_agent_family)-এর সাথে দ্বিতীয় "ড্রি-ডাউন" ডাইমেনশন হিসেবে ব্যবহার করা হয়। |
| আউটবাউন্ড/টার্গেট | ||
| টার্গেট বেস পাথ | target_basepath |
টার্গেট পরিষেবার রিসোর্স পাথ (ডোমেন অন্তর্ভুক্ত নয়), কোয়েরি
প্যারামিটার বাদ দিয়ে, যা প্রক্সির যেমন, ধরা যাক কোনও API প্রক্সি নিম্নলিখিত টার্গেটকে কল করে: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> এই উদাহরণে, target_basepath হল লক্ষ্য যদি এটি হয়: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> </HTTPTargetConnection> target_basepath শূন্য হবে। ট্রেস টুলে, ফ্লো ডায়াগ্রামের শেষে AX আইকন বেছে নিলে, |
| টার্গেট হোস্ট | target_host | টার্গেট পরিষেবার হোস্ট। যেমন, কোনও API প্রক্সি যদি
http://mocktarget.apigee.net/help কল করে, তাহলে target_host হল
mocktarget.apigee.net. |
| টার্গেট IP অ্যাড্রেস | target_ip | API প্রক্সি সার্ভারে উত্তর পাঠানো টার্গেট পরিষেবার IP অ্যাড্রেস। |
| টার্গেট রেসপন্স কোড | target_response_code |
API প্রক্সি সার্ভিসে টার্গেট পরিষেবা দ্বারা রিটার্ন করা HTTP রেসপন্স স্ট্যাটাস কোড, যেমন 200, 404, 503 ইত্যাদি। "null" ভ্যালু মানে হল, অনুরোধটি টার্গেট পরিষেবায় কখনও পৌঁছায়নি। এটি তখন ঘটে যখন উত্তরটি রেসপন্স ক্যাশে নীতি দ্বারা পরিবেশিত হয় বা যখন অনুরোধ প্রসেস করতে ব্যর্থ হয়। এটি প্রতিক্রিয়ার স্ট্যাটাস কোড (response_status_code) ডাইমেনশন থেকে আলাদা। |
| টার্গেট URL | target_url |
API প্রক্সির TargetEndpoint-এ সংজ্ঞায়িত টার্গেট পরিষেবার সম্পূর্ণ URL। <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> এই উদাহরণে, target_url হল
মনে রাখবেন, API প্রক্সি প্রসেসিং চলাকালীন URL-কে
প্রক্সি চেনিং এবং স্ক্রিপ্ট টার্গেট (Node.js) ব্যবহার করার সময়, কলিং প্রক্সিতে target_url শূন্য থাকে। |
| X Forwarded For | x_forwarded_for_ip |
|
| সময় | ||
| সপ্তাহের দিন | ax_day_of_week | API কল করা হয়েছে এমন দিনের নামের তিন অক্ষরের সংক্ষিপ্ত রূপ। যেমন, সোম, মঙ্গল, বুধ। |
| মাসের | ax_month_of_year | API কল করা হয়েছে এমন মাসের সংখ্যাসূচক মান। যেমন, মার্চের জন্য "০৩"। |
| দিনের নির্দিষ্ট সময় | ax_hour_of_day |
২৪-ঘণ্টার ক্লক অনুযায়ী, API কল করা হয়েছে এমন ২-সংখ্যার ঘণ্টা। যেমন, রাত ১০টা থেকে ১১টার মধ্যে করা API কলের ক্ষেত্রে, ax_hour_of_day-এর মান হবে ২২। সময়ের ভ্যালু UTC-তে আছে। |
| সময় অঞ্চল | ax_geo_timezone | API কল করা হয়েছে এমন টাইম জোনের সাধারণ নাম, যেমন America/New_York এবং Europe/Dublin. |
| মাসের সপ্তাহ | ax_week_of_month | মাসের সংখ্যাসূচক সপ্তাহ। যেমন, কোনও মাসের ৩য় সপ্তাহে করা API কলের জন্য, ax_week_of_month হল ৩। |
| লোকেশন | ||
| শহর | ax_geo_city | যে শহর থেকে API কল করা হয়েছে। |
| মহাদেশ | ax_geo_continent | যে মহাদেশ থেকে API কল করা হয়েছে তার দুই-অক্ষরের কোড। যেমন, উত্তর আমেরিকার জন্য প্রযোজ্য নয়। |
| দেশ | ax_geo_country | যে দেশ থেকে এপিআই কল করা হয়েছে তার দুই-অক্ষরের কোড। যেমন, US মার্কিন যুক্তরাষ্ট্রের জন্য। |
| ভৌগোলিক অঞ্চল | ax_geo_region | ভৌগোলিক অঞ্চলের জন্য হাইফেন দেওয়া কোড, যেমন, রাজ্য-দেশ। যেমন, Washington-United States-এর জন্য WA-US. |
| অঞ্চল | ax_dn_region | API প্রক্সি যেখানে ডেপ্লয় করা হয় সেই Apigee ডেটা সেন্টারের নাম, যেমন us-east-1. |
| মনিটাইজেশন | ||
| মিন্ট ট্রানজ্যাকশন উপেক্ষা করা মেসেজ | x_apigee_mint_tx_ignoreMessage | মনিটাইজেশন সম্পর্কিত মেসেজ উপেক্ষা করা হবে কিনা তা নির্দিষ্ট করে এমন ফ্ল্যাগ। সব মনিটাইজেশন সংস্থার জন্য false হিসেবে সেট করা আছে। |
| মিন্ট ট্রানজ্যাকশন স্ট্যাটাস | x_apigee_mint_tx_status | মনিটাইজেশনের অনুরোধের স্ট্যাটাস, যেমন সম্পূর্ণ হয়েছে, সম্পূর্ণ হয়নি, ভুল বা কোনও স্ট্যাটাস নেই। |
ফিল্টার
নির্দিষ্ট বৈশিষ্ট্যযুক্ত মেট্রিকের ফলাফল ফিল্টার করার জন্য ফিল্টার ব্যবহার করা হয়। নিচে কিছু স্যাম্পেল ফিল্টার দেওয়া হল। ফিল্টার নির্ধারণ করার সময় API-স্টাইলের মেট্রিক ও ডাইমেনশনের নাম ব্যবহার করুন।
books বা music নামের API প্রক্সির জন্য রিটার্ন মেট্রিক:
filter=(apiproxy in 'books','music')
"m" দিয়ে শুরু হওয়া নাম সহ API প্রক্সির জন্য মেট্রিক রিটার্ন করে:
filter=(apiproxy like 'm%')
"m" দিয়ে শুরু হয় না এমন নাম সহ API প্রক্সিগুলির মেট্রিক্স রিটার্ন করে:
filter=(apiproxy not like 'm%')
৪০০ থেকে ৫৯৯-এর মধ্যে রেসপন্স স্ট্যাটাস কোড সহ API কলের মেট্রিক রিটার্ন করে:
filter=(response_status_code ge 400 and response_status_code le 599)
200 রেসপন্স স্ট্যাটাস কোড ও 404 টার্গেট রেসপন্স কোড সহ API কলের মেট্রিক রিটার্ন করে:
filter=(response_status_code eq 200 and target_response_code eq 404)
৫০০ রেসপন্স স্ট্যাটাস কোড সহ API কলের মেট্রিক রিটার্ন করে:
filter=(response_status_code eq 500)
সমস্যা হয়নি এমন API কলের মেট্রিক দেখায়:
filter=(is_error eq 0)
রিপোর্ট ফিল্টার তৈরি করতে আপনি নিম্নলিখিত অপারেটর ব্যবহার করতে পারেন।
| অপারেটর | বিবরণ |
|---|---|
in |
তালিকায় যোগ করুন |
notin |
তালিকা থেকে বাদ দিন |
eq |
সমান, == |
ne |
সমান নয়, != |
gt |
>-এর চেয়ে বড় |
lt |
<-এর থেকে কম |
ge |
>=-এর সমান বা তার চেয়ে বড় |
le |
<=-এর সমান বা তার চেয়ে কম |
like |
প্রদান করা প্যাটার্নের সাথে স্ট্রিং প্যাটার্ন ম্যাচ করলে 'সত্য' রিটার্ন করে। |
not like |
প্রদান করা প্যাটার্নের সাথে স্ট্রিং প্যাটার্ন ম্যাচ করলে, মিথ্যা রিটার্ন করে। |
similar to |
এর প্যাটার্ন প্রদত্ত স্ট্রিংয়ের সাথে ম্যাচ করছে কিনা তার উপর নির্ভর করে সত্য বা মিথ্যা রিটার্ন করে। এটি like-এর
মতোই, তবে এটি রেগুলার এক্সপ্রেশনের SQL স্ট্যান্ডার্ডের
সংজ্ঞা ব্যবহার করে প্যাটার্ন ব্যাখ্যা করে। |
not similar to |
এর প্যাটার্ন প্রদত্ত স্ট্রিংয়ের সাথে ম্যাচ করছে কিনা তার উপর নির্ভর করে মিথ্যা বা সত্য রিটার্ন করে। এটি not like-এর
মতোই, তবে এটি SQL
স্ট্যান্ডার্ডের রেগুলার এক্সপ্রেশনের সংজ্ঞা ব্যবহার করে প্যাটার্ন ব্যাখ্যা করে। |
and |
একাধিক ফিল্টার এক্সপ্রেশন যোগ করার জন্য 'এবং' লজিক ব্যবহার করতে দেয়। ফিল্টারে এমন ডেটা অন্তর্ভুক্ত থাকে যা সব শর্ত পূরণ করে। |
or |
সম্ভাব্য বিভিন্ন ফিল্টার এক্সপ্রেশন মূল্যায়ন করার জন্য আপনাকে 'অথবা' লজিক ব্যবহার করতে দেয়। ফিল্টারে এমন ডেটা অন্তর্ভুক্ত থাকে যা অন্তত একটি শর্ত পূরণ করে। |