পরিসংখ্যান সংগ্রাহক নীতি

আপনি 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

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে <DisplayName> উপাদানটি ব্যবহার করুন।

N/A প্রয়োজন
continueOnError

একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে false সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ।

একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে true সেট করুন৷

মিথ্যা ঐচ্ছিক
enabled

নীতি প্রয়োগ করতে true সেট করুন৷

নীতি বন্ধ করতে false সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।

সত্য ঐচ্ছিক
async

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

মিথ্যা অবচয়

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।

<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হবে।

উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<পরিসংখ্যান>/<পরিসংখ্যান> উপাদান

<Statistics>
    <Statistic name="statName" ref="varName" type="refDataType">defaultStatValue</Statistic>
</Statistics>
বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
নাম

নির্দিষ্ট ভেরিয়েবলের জন্য সংগৃহীত ডেটা উল্লেখ করতে ব্যবহৃত নাম। অ্যানালিটিক্স ডেটা দেখার সময়, ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবল সম্পর্কে সংগৃহীত ডেটা উল্লেখ করতে এই নামটি ব্যবহার করুন।

যদি কোনো অনুরোধ বা প্রতিক্রিয়ায় ref দ্বারা নির্দিষ্ট ভেরিয়েবলটি অনির্ধারিত থাকে, তাহলে defaultStatValue ভেরিয়েবলটির জন্য সংগৃহীত মান নির্দিষ্ট করে। আপনি যদি ডিফল্ট মানটি বাদ দেন, তাহলে ভেরিয়েবলটি অনির্ধারিত থাকলে তার জন্য কোনো ডেটা সংগ্রহ করা হয় না।

নামকরণের সীমাবদ্ধতা

কাস্টম অ্যানালিটিক্স ভেরিয়েবলের ক্ষেত্রে নিম্নলিখিত নামকরণের সীমাবদ্ধতাগুলো প্রযোজ্য:

  • নামে নিম্নলিখিত অক্ষরগুলো থাকতে পারে: az, 0-9, _ (আন্ডারস্কোর)।
  • নামে স্পেস থাকতে পারবে না।
  • নাম dsi , response_time , timekey বা timestamp হতে পারবে না।
  • মামলাটি উপেক্ষা করা হয়েছে।
  • আপনি 'অ্যানালিটিক্স মেট্রিক্স, ডাইমেনশন এবং ফিল্টার রেফারেন্স'- এ তালিকাভুক্ত কোনো পূর্বনির্ধারিত অ্যানালিটিক্স মেট্রিক, ডাইমেনশন বা ফিল্টারের নাম ব্যবহার করতে পারবেন না।
  • উপরোক্ত বিষয়গুলো ছাড়াও, নিম্নলিখিত পৃষ্ঠায় তালিকাভুক্ত কীওয়ার্ডগুলো অনুমোদিত নয়:
    https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html
প্রযোজ্য নয় প্রয়োজনীয়
রেফারেন্স

যে ফ্লো ভেরিয়েবলটির জন্য আপনি পরিসংখ্যান সংগ্রহ করছেন। এই ভেরিয়েবলটি 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.
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.
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.

Fault variables

None.

স্কিমা

প্রতিটি পলিসি টাইপ একটি XML স্কিমা ( .xsd ) দ্বারা সংজ্ঞায়িত করা হয়। তথ্যের জন্য, পলিসি স্কিমাগুলো গিটহাবে পাওয়া যাবে।

সম্পর্কিত বিষয়

আরও তথ্যের জন্য দেখুন: