আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
কী
এটি আপনাকে একটি মেসেজের ডেটার পরিসংখ্যান সংগ্রহ করতে সক্ষম করে, যেমন প্রোডাক্ট আইডি, মূল্য, REST অ্যাকশন, ক্লায়েন্ট ও টার্গেট ইউআরএল এবং মেসেজের দৈর্ঘ্য। এই ডেটা Apigee দ্বারা পূর্বনির্ধারিত ফ্লো ভেরিয়েবল অথবা আপনার সংজ্ঞায়িত কাস্টম ভেরিয়েবল থেকে আসতে পারে।
পরিসংখ্যানের ডেটা অ্যানালিটিক্স সার্ভারে পাঠানো হয়, যা পরিসংখ্যান বিশ্লেষণ করে রিপোর্ট তৈরি করে। আপনি এজ ম্যানেজমেন্ট UI অথবা এজ API ব্যবহার করে রিপোর্টগুলো দেখতে পারেন।
নমুনা
মৌলিক উদাহরণ
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product.id" type="string">999999</Statistic> <Statistic name="price" ref="product.price" type="string">0</Statistic> </Statistics> </StatisticsCollector>
এই উদাহরণে, আপনি product.id এবং product.price নামক দুটি কাস্টম ভেরিয়েবল সম্পর্কে পরিসংখ্যানগত তথ্য সংগ্রহ করেন। প্রতিটি অনুরোধে, Statistics Collector পলিসি এই দুটি ভেরিয়েবলের মান অ্যানালিটিক্স সার্ভারে লিখে দেয়।
এই উদাহরণটি প্রতিটি ভেরিয়েবলের জন্য একটি ঐচ্ছিক ডিফল্ট মানও সেট করে, যেখানে product.id- এর ডিফল্ট মান হলো 999999 এবং product.price- এর ডিফল্ট মান হলো 0। যদি কোনো ভেরিয়েবল অনির্ধারিত থাকে এবং আপনি কোনো ডিফল্ট মান নির্দিষ্ট না করেন, তাহলে সেই ভেরিয়েবলের জন্য কোনো ডেটা রেকর্ড করা হয় না। যদি আপনি একটি ডিফল্ট মান নির্দিষ্ট করেন, তাহলে ভেরিয়েবলটি অনির্ধারিত থাকলেও সেই ডিফল্ট মানটি রেকর্ড করা হয়।
পরিসংখ্যানগত ডেটা সংগ্রহ করার পর, আপনি Edge ম্যানেজমেন্ট UI বা API ব্যবহার করে পরিসংখ্যানগুলো পুনরুদ্ধার করতে পারেন। পরিসংখ্যান পুনরুদ্ধার করার সময়, আপনি যথাক্রমে productID এবং price ভেরিয়েবলগুলোর জন্য সংগৃহীত ডেটা উল্লেখ করবেন।
পরিসংখ্যান অ্যাক্সেস করা
এই উদাহরণে, আপনি productID নামক কালেকশনের পরিসংখ্যানগত ডেটা দেখার জন্য Edge ম্যানেজমেন্ট API ব্যবহার করছেন। এই অনুরোধটি প্রতিদিন প্রতিটি প্রোডাক্ট আইডির জন্য জমা দেওয়া মেসেজ সংখ্যার যোগফলের উপর ভিত্তি করে প্রোডাক্ট আইডিগুলোর জন্য একটি কাস্টম রিপোর্ট তৈরি করে। {org_name} ভেরিয়েবলের জায়গায় আপনার প্রতিষ্ঠানের নাম এবং email:password জায়গায় Apigee Edge-এ আপনার অ্যাকাউন্টের ইমেল ও পাসওয়ার্ড বসান।
আপনার ডেটা সংগ্রহের সময়কাল অন্তর্ভুক্ত করতে timeRange প্যারামিটারটি সেট করুন। বর্তমান তারিখ থেকে ছয় মাসের বেশি পুরোনো ডেটা ডিফল্টরূপে অ্যাক্সেসযোগ্য নয়। আপনি যদি ছয় মাসের বেশি পুরোনো ডেটা অ্যাক্সেস করতে চান, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/environments/test/stats/productID?"select=sum(message_count)&timeRange=1/19/2015%2000:00~6/21/2015%2000:00&timeUnit=day"
-u email:password
রেসপন্সে, নেম ফিল্ডে প্রোডাক্ট আইডি থাকে এবং ভ্যালুতে প্রতিদিনের রিকোয়েস্টের সংখ্যা দেখানো হয়:
{
"environments" : [ {
"dimensions" : [ {
"metrics" : [ {
"name" : "sum(message_count)",
"values" : [ {
"timestamp" : 1353369600000,
"value" : "4.0"
} ]
} ],
"name" : "52"
}, {
"metrics" : [ {
"name" : "sum(message_count)",
"values" : [ {
"timestamp" : 1353369600000,
"value" : "19.0"
} ]
} ],
"name" : "14"
}, ...
} ],
"metaData" : {
"samplingRate" : "100"
}
}সংগ্রহের জন্য ডেটা নিষ্কাশন
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="GetWeatherData"> <VariablePrefix>weather</VariablePrefix> <XMLPayload> <Namespaces> <Namespace prefix="yweather">http://xml.weather.yahoo.com/ns/rss/1.0</Namespace> </Namespaces> <Variable name="location" type="string"> <XPath>/rss/channel/yweather:location/@city</XPath> </Variable> <Variable name="condition" type="string"> <XPath>/rss/channel/item/yweather:condition/@text</XPath> </Variable> </XMLPayload> </ExtractVariables>
স্ট্যাটিস্টিকস কালেক্টর পলিসি অনুযায়ী সংগৃহীত ডেটা ভেরিয়েবলে সংরক্ষণ করতে হবে। এই ভেরিয়েবলগুলো Apigee দ্বারা পূর্বনির্ধারিত হতে পারে, অথবা আপনার দ্বারা সংজ্ঞায়িত কাস্টম ভেরিয়েবলও হতে পারে।
এই উদাহরণে, আপনি আবহাওয়ার তথ্য ধারণকারী একটি XML পেলোড থেকে ডেটা বের করার জন্য এক্সট্র্যাক্ট ভ্যারিয়েবলস পলিসি ব্যবহার করেন। এই পলিসিটি:
- শহরের নাম বের করে weather.location নামের একটি ভেরিয়েবলে লিখে রাখে।
- বর্তমান অবস্থা সংগ্রহ করে weather.condition নামের একটি ভেরিয়েবলে লিখে রাখে।
এরপর আপনি স্ট্যাটিস্টিকস কালেক্টর পলিসি ব্যবহার করে ভেরিয়েবলগুলো সম্পর্কে তথ্য সংগ্রহ করতে পারেন, যা নিচে দেখানো হলো:
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic> <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic> </Statistics> </StatisticsCollector>
Statistics Collector পলিসির জন্য একটি XML পেলোড থেকে কীভাবে ডেটা এক্সট্র্যাক্ট করতে হয়, তা দেখানো একটি সম্পূর্ণ টিউটোরিয়ালের জন্য, Analyze API message content using custom analytics দেখুন।
পরিসংখ্যান সংগ্রাহক নীতি সম্পর্কে
কার্যকর করা হলে, স্ট্যাটিস্টিকস কালেক্টর পলিসি এক বা একাধিক ভেরিয়েবলের বর্তমান মান রেকর্ড করে। এই ভেরিয়েবলগুলো Apigee দ্বারা পূর্বনির্ধারিত ফ্লো ভেরিয়েবল অথবা আপনার সংজ্ঞায়িত কাস্টম ভেরিয়েবল হতে পারে। এই ডেটা এজ অ্যানালিটিক্স সার্ভারে লেখা হয়।
পলিসি দ্বারা সংগৃহীত পরিসংখ্যানগত ডেটা অ্যাক্সেস করতে, আপনি এজ এপিআই (Edge API) অথবা এজ ম্যানেজমেন্ট ইউআই (Edge management UI) ব্যবহার করেন। উদাহরণস্বরূপ, আপনি এজ ম্যানেজমেন্ট ইউআই ব্যবহার করে একটি কাস্টম রিপোর্ট তৈরি করতে পারেন, যা সংগৃহীত ডেটা বিভিন্ন ফরম্যাটে প্রদর্শন করে।
Statistics Collector পলিসি ব্যবহারের একটি সম্পূর্ণ টিউটোরিয়ালের জন্য, Analyze API message content using custom analytics দেখুন।
নীতিমালা কোথায় স্থাপন করতে হবে
আপনি একটি এপিআই প্রক্সির অনুরোধ বা প্রতিক্রিয়া প্রবাহে একটি পরিসংখ্যান সংগ্রাহক নীতি (Statistics Collector policy) রাখতে পারেন। তবে, যদি আপনি একটি প্রক্সিতে একাধিক পরিসংখ্যান সংগ্রাহক নীতি রাখেন, তাহলে সর্বশেষ যেটি কার্যকর হবে সেটিই অ্যানালিটিক্স সার্ভারে লেখা ডেটা নির্ধারণ করবে এবং পূর্ববর্তী যেকোনো পরিসংখ্যান সংগ্রাহক নীতি দ্বারা লেখা ডেটা হারিয়ে যাবে।
একটি এপিআই প্রক্সিতে একাধিক স্ট্যাটিস্টিকস কালেক্টর পলিসি থাকার একটি পরিস্থিতি হলো, যখন একটি পলিসি রিকোয়েস্ট বা রেসপন্স ফ্লো-তে এবং অন্যটি ফল্ট হ্যান্ডলারে থাকে। যদি এপিআই প্রক্সিতে কোনো ফল্ট ঘটে, তাহলে ফল্ট হ্যান্ডলারের স্ট্যাটিস্টিকস কালেক্টরটি সংগৃহীত ডেটা নির্ধারণ করে। আপনি সেই স্ট্যাটিস্টিকস কালেক্টরটি ফল্ট সম্পর্কিত তথ্য রেকর্ড করতে, অথবা আপনার প্রয়োজনীয় মনে করা অন্য যেকোনো তথ্য রেকর্ড করতে ব্যবহার করতে পারেন। রিকোয়েস্ট/রেসপন্সের স্ট্যাটিস্টিকস কালেক্টরটি ইতিমধ্যে এক্সিকিউট হয়েছে কি না, তা নির্বিশেষে ফল্ট হ্যান্ডলারের স্ট্যাটিস্টিকস কালেক্টরটিই সংগৃহীত ডেটা নির্ধারণ করে।
আরও তথ্যের জন্য, ত্রুটি পরিচালনা দেখুন।
উপাদান রেফারেন্স
এলিমেন্ট রেফারেন্সটি স্ট্যাটিস্টিকস কালেক্টর পলিসির উপাদান এবং অ্যাট্রিবিউটগুলো বর্ণনা করে।
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1"> <DisplayName>Statistics Collector 1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics> </StatisticsCollector>
<পরিসংখ্যান সংগ্রাহক> বৈশিষ্ট্য
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Stats-1">
নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:
| বৈশিষ্ট্য | বর্ণনা | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
name | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
| ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
|---|---|
| উপস্থিতি | ঐচ্ছিক |
| টাইপ | স্ট্রিং |
<পরিসংখ্যান>/<পরিসংখ্যান> উপাদান
<Statistics> <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic> </Statistics>
| বৈশিষ্ট্য | বর্ণনা | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| নাম | নির্দিষ্ট ভেরিয়েবলের জন্য সংগৃহীত ডেটা উল্লেখ করতে ব্যবহৃত নাম। অ্যানালিটিক্স ডেটা দেখার সময়, যদি কোনো অনুরোধ বা প্রতিক্রিয়ায় নামকরণের সীমাবদ্ধতা কাস্টম অ্যানালিটিক্স ভেরিয়েবলের ক্ষেত্রে নিম্নলিখিত নামকরণের সীমাবদ্ধতাগুলো প্রযোজ্য:
| প্রযোজ্য নয় | প্রয়োজনীয় |
| রেফারেন্স | যে ফ্লো ভেরিয়েবলটির জন্য আপনি পরিসংখ্যান সংগ্রহ করছেন। এই ভেরিয়েবলটি Apigee দ্বারা পূর্বনির্ধারিত একটি ফ্লো ভেরিয়েবল অথবা আপনার API প্রক্সিতে আপনার দ্বারা সংজ্ঞায়িত একটি কাস্টম ভেরিয়েবল হতে পারে। ref অ্যাট্রিবিউটটি প্রায়শই Extract Variables পলিসি দ্বারা সংজ্ঞায়িত একটি কাস্টম ভেরিয়েবলকে রেফারেন্স করে। আরও তথ্যের জন্য Extract Variables পলিসি দেখুন। | প্রযোজ্য নয় | প্রয়োজনীয় |
| প্রকার | ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবলের ডেটা টাইপ নির্ধারণ করে। বৈধ মানগুলো হলো: string/integer/float/long/double/boolean। স্ট্রিং টাইপের ডেটার জন্য, একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন হিসেবে রেফারেন্স করুন। নিউমেরিক্যাল ডেটা টাইপের (পূর্ণসংখ্যা/ফ্লোট/লং/ডাবল) জন্য, একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন অথবা মেট্রিক হিসেবে রেফারেন্স করুন। আরও তথ্যের জন্য ‘কাস্টম রিপোর্ট পরিচালনা’ দেখুন। `type`- এর মান শুধুমাত্র তখনই বাদ দেওয়া যেতে পারে, যদি `ref` কোনো পূর্বনির্ধারিত Apigee ফ্লো ভেরিয়েবলকে নির্দেশ করে অথবা `Extract Variables` পলিসির XML পেলোডে টাইপটি ঘোষিত থাকে। | স্ট্রিং | ঐচ্ছিক |
ত্রুটির রেফারেন্স
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
| Error name | Cause | Fix |
|---|---|---|
UnsupportedDatatype |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is unsupported, then the deployment of the API proxy
fails. The supported data types are string, integer,
float, long, double, and boolean. |
build |
InvalidName |
If the name used to reference the data collected for the specified variable defined
within the <Statistic> element of the Statistics Collector policy conflicts with a
system-defined variable, then the deployment of the API proxy fails. Some of the known
system-defined variables are organization and environment. |
build |
DatatypeMissing |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is missing, then the deployment of the API proxy fails. |
build |
Fault variables
None.
স্কিমা
প্রতিটি পলিসি টাইপ একটি XML স্কিমা ( .xsd ) দ্বারা সংজ্ঞায়িত করা হয়। তথ্যের জন্য, পলিসি স্কিমাগুলো গিটহাবে পাওয়া যাবে।
সম্পর্কিত বিষয়
আরও তথ্যের জন্য দেখুন: