StatisticsCollector নীতি

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

কী

মেসেজের ডেটা সম্পর্কিত পরিসংখ্যান সংগ্রহ করতে সাহায্য করে, যেমন প্রোডাক্ট আইডি, দাম, REST অ্যাকশন, ক্লায়েন্ট ও টার্গেট URL এবং মেসেজের দৈর্ঘ্য। Apigee-এর আগে থেকে সংজ্ঞায়িত ফ্লো ভেরিয়েবল বা আপনার সংজ্ঞায়িত কাস্টম ভেরিয়েবল থেকে ডেটা আসতে পারে।

পরিসংখ্যান সংক্রান্ত ডেটা অ্যানালিটিক্স সার্ভারে পাঠানো হয়, যা পরিসংখ্যান বিশ্লেষণ করে এবং রিপোর্ট তৈরি করে। আপনি Edge ম্যানেজমেন্ট UI বা Edge 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-এর ডিফল্ট ভ্যালু হল ৯৯৯৯৯৯ এবং ডিফল্ট product.price হল ০। কোনও ভেরিয়েবেল অনির্দিষ্ট হলে এবং আপনি কোনও ডিফল্ট ভ্যালু নির্দিষ্ট না করলে, ভেরিয়েবেলের জন্য কোনও ডেটা রেকর্ড করা হয় না। আপনি কোনও ডিফল্ট ভ্যালু নির্দিষ্ট করলে, ভেরিয়েবলটি অনির্দিষ্ট হলে ডিফল্ট ভ্যালু রেকর্ড করা হয়।

পরিসংখ্যান সংক্রান্ত ডেটা সংগ্রহ করার পরে, আপনি Edge ম্যানেজমেন্ট UI বা API ব্যবহার করে পরিসংখ্যান পুনরুদ্ধার করতে পারবেন। পরিসংখ্যান পাওয়ার সময়, আপনি এইসব ভেরিয়েবলের জন্য সংগ্রহ করা ডেটা productID ও price হিসেবে রেফার করেন।

পরিসংখ্যান অ্যাক্সেস করা

এই উদাহরণে, আপনি Edge ম্যানেজমেন্ট API ব্যবহার করে productID নামের সংগ্রহের পরিসংখ্যানগত ডেটা দেখেন। এই অনুরোধটি প্রতিটি দিনের জন্য প্রতিটি প্রোডাক্ট আইডির জন্য জমা দেওয়া মেসেজের সংখ্যার যোগফলের উপর ভিত্তি করে প্রোডাক্ট আইডির জন্য একটি কাস্টম রিপোর্ট তৈরি করে। ভেরিয়েবল {org_name}-এর জায়গায় আপনার সংস্থার নাম লিখুন এবং Apigee Edge-এ আপনার অ্যাকাউন্টের ইমেল ও পাসওয়ার্ডের জায়গায় email:password লিখুন।

আপনার ডেটা সংগ্রহ করা হয়েছিল সেই সময়সীমা অন্তর্ভুক্ত করতে timeRange প্যারামিটার সেট করুন। বর্তমান তারিখ থেকে ছয় মাসের বেশি পুরনো ডেটা ডিফল্ট হিসেবে অ্যাক্সেস করা যায় না। আপনি ছয় মাসের বেশি পুরনো ডেটা অ্যাক্সেস করতে চাইলে, Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।

$ 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-এর মাধ্যমে আগে থেকেই নির্ধারণ করা থাকতে পারে অথবা আপনার নির্ধারণ করা কাস্টম ভেরিয়েবল হতে পারে।

এই উদাহরণে, আপনি Extract Variables নীতি ব্যবহার করে XML পেলোড থেকে ডেটা এক্সট্র্যাক্ট করেন যেটিতে আবহাওয়ার তথ্য থাকে। এই নীতি:

  • শহরের নাম এক্সট্র্যাক্ট করে weather.location নামের ভেরিয়েবলে লেখে
  • বর্তমান পরিস্থিতি এক্সট্র্যাক্ট করে weather.condition নামের ভেরিয়েবলে লেখে

তারপরে, আপনি নিচে দেখানো ভেরিয়েবল সম্পর্কে তথ্য সংগ্রহ করতে Statistics Collector নীতি ব্যবহার করতে পারবেন:

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="weatherLocation" ref="weather.location" type="string"></Statistic>
    <Statistic name="weatherCondition" ref="weather.condition" type="string"></Statistic>
  </Statistics>
</StatisticsCollector>

পরিসংখ্যান সংগ্রহকারী নীতির জন্য XML পেলোড থেকে কীভাবে ডেটা এক্সট্র্যাক্ট করতে হয় তা দেখানোর জন্য সম্পূর্ণ টিউটোরিয়াল পেতে, কাস্টম অ্যানালিটিক্স ব্যবহার করে API মেসেজ কন্টেন্ট বিশ্লেষণ করুন দেখুন।


স্ট্যাটিসটিক্স সংগ্রহকারী নীতি সম্পর্কে

চালানো হলে, Statistics Collector নীতি এক বা একাধিক ভেরিয়েবলের বর্তমান ভ্যালু রেকর্ড করে। এইসব ভেরিয়েবল হল Apigee-এর আগে থেকে ডিফাইন করা ফ্লো ভেরিয়েবল বা আপনার ডিফাইন করা কাস্টম ভেরিয়েবল। এই ডেটা Edge অ্যানালিটিক্স সার্ভারে লেখা হয়।

নীতি দ্বারা সংগ্রহ করা পরিসংখ্যানগত ডেটা অ্যাক্সেস করতে, আপনি Edge API বা Edge ম্যানেজমেন্ট UI ব্যবহার করেন। যেমন, আপনি Edge ম্যানেজমেন্ট UI ব্যবহার করে এমন কাস্টম রিপোর্ট তৈরি করতে পারবেন যা বিভিন্ন ফর্ম্যাটে সংগ্রহ করা ডেটা দেখায়।

Statistics Collector নীতি ব্যবহার করে সম্পূর্ণ টিউটোরিয়ালের জন্য, কাস্টম অ্যানালিটিক্স ব্যবহার করে API মেসেজ কন্টেন্ট বিশ্লেষণ করুন দেখুন।

নীতি কোথায় রাখবেন

আপনি API প্রক্সির অনুরোধ বা উত্তর ফ্লোতে একটি Statistics Collector নীতি রাখতে পারেন। তবে, আপনি যদি কোনও প্রক্সিতে একাধিক Statistics Collector নীতি রাখেন, তাহলে শেষ যেটি এক্সিকিউট করা হবে সেটি নির্ধারণ করবে যে অ্যানালিটিক্স সার্ভারে কোন ডেটা লেখা হবে এবং কোনও পূর্ববর্তী Statistics Collector নীতি দ্বারা লেখা ডেটা হারিয়ে যাবে।

API প্রক্সিতে একাধিক Statistics Collector নীতি থাকার একটি পরিস্থিতি হল অনুরোধ বা উত্তর ফ্লোতে একটি এবং ফল্ট হ্যান্ডলারে আরেকটি নীতি থাকা। API প্রক্সিতে কোনও সমস্যা হলে, সমস্যা হ্যান্ডলারের মধ্যে থাকা Statistics Collector, সংগ্রহ করা ডেটা নির্ধারণ করে। আপনি সেই Statistics Collector ব্যবহার করে ত্রুটি সম্পর্কে তথ্য রেকর্ড করতে পারেন অথবা আপনার প্রয়োজনীয় মনে হওয়া অন্য কোনও তথ্য রেকর্ড করতে পারেন। fault হ্যান্ডলারের মধ্যে থাকা Statistics Collector, অনুরোধ/উত্তরে থাকা Statistics Collector আগে থেকেই এক্সিকিউট করা হয়েছে কিনা তা নির্বিশেষে সংগ্রহ করা ডেটা নির্ধারণ করে।

আরও জানতে, সমস্যা সমাধান করা দেখুন।

এলিমেন্ট রেফারেন্স

এলিমেন্ট রেফারেন্সে Statistics Collector নীতির এলিমেন্ট ও অ্যাট্রিবিউট বর্ণনা করা আছে।

<?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> অ্যাট্রিবিউট

<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> এলিমেন্ট

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

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

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

নামকরণ সংক্রান্ত বিধিনিষেধ

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

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

আপনি যে ফ্লো ভেরিয়েবলের জন্য পরিসংখ্যান সংগ্রহ করছেন। এই ভেরিয়েবলটি Apigee-এর আগে থেকে সংজ্ঞায়িত ফ্লো ভেরিয়েবল বা আপনার API প্রক্সিতে সংজ্ঞায়িত কাস্টম ভেরিয়েবল হতে পারে।

ref অ্যাট্রিবিউটটি প্রায়ই Extract Variables নীতি দ্বারা সংজ্ঞায়িত কাস্টম ভেরিয়েবলকে রেফার করে। আরও জানতে Extract Variables নীতি দেখুন।

প্রযোজ্য নয় প্রয়োজনীয়
ধরন

ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ডেটার ধরন নির্দিষ্ট করে। সঠিক ভ্যালু হল: স্ট্রিং/পূর্ণসংখ্যা/ফ্লোট/লং/ডবল/বুলিয়ান।

স্ট্রিং ধরনের ডেটার জন্য, কাস্টম রিপোর্টে ডায়মেনশন হিসেবে পরিসংখ্যান সংক্রান্ত ডেটা রেফারেন্স করুন। সংখ্যাসূচক ডেটার ধরনের (পূর্ণসংখ্যা/ফ্লোট/লং/ডাবল) জন্য, কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন বা মেট্রিক হিসেবে উল্লেখ করুন। আরও জানতে কাস্টম রিপোর্ট ম্যানেজ করা দেখুন।

type-এর ভ্যালু শুধুমাত্র তখনই বাদ দেওয়া যেতে পারে যদি ref কোনও পূর্বনির্ধারিত Apigee ফ্লো ভেরিয়েবলকে রেফার করে অথবা Extract Variables নীতির XML পে-লোডে ধরন ঘোষণা করা হয়।

স্ট্রিং ঐচ্ছিক

সমস্যার রেফারেন্স

এই নীতি কোনও সমস্যার ট্রিগার করলে, এই বিভাগে সমস্যার মেসেজ ও ফ্লো ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। আপনি যদি কোনও প্রক্সির জন্য ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।

রানটাইম সমস্যা

কোনওটিই নয়।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

সমস্যার নাম কারণ এর সমাধান করুন
UnsupportedDatatype Statistics Collector নীতির <Statistic> এলিমেন্টে ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ধরন কাজ না করলে, API প্রক্সি ডেপ্লয় করা যায় না। যেসব ডেটা টাইপ কাজ করে সেগুলি হল string, integer, float, long, double এবং boolean.
InvalidName Statistics Collector নীতির <Statistic> এলিমেন্টের মধ্যে নির্দিষ্ট ভেরিয়েবলের জন্য সংগ্রহ করা ডেটা উল্লেখ করতে ব্যবহৃত নাম যদি সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে সংঘাতপূর্ণ হয়, তাহলে API প্রক্সি ডেপ্লয় করা যাবে না। পরিচিত সিস্টেম-ডিফাইন করা ভেরিয়েবলগুলির মধ্যে কিছু হল organization ও environment।
DatatypeMissing Statistics Collector নীতির <Statistic> এলিমেন্টে ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ধরন অনুপস্থিত থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।

ফল্ট ভেরিয়েবল

কোনওটিই নয়।

স্কিমা

প্রতিটি নীতির ধরন XML স্কিমা (.xsd) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub-এ উপলভ্য।

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

আরও তথ্যের জন্য এগুলি দেখুন: