API ব্যবহার করে মেট্রিক্স ডেটা দেখা

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

API মনিটরিং মেট্রিক্স পেতে নিচে বর্ণিত API ব্যবহার করুন। API মনিটরিং লগ থেকে পাওয়া র ডেটা থেকে API মনিটরিংয়ের মাধ্যমে এগ্রিগেট করা ডেটা ভ্যালুকে মেট্রিক্স বলা হয়।

API ব্যবহার করে কীভাবে মেট্রিক ম্যানেজ করতে হয় তা নিম্নলিখিত বিভাগ থেকে জানতে পারবেন।

মেট্রিক্স API সম্পর্কে আরও জানতে Metrics API দেখুন।

এইসব উদাহরণে ব্যবহৃত cURL বিকল্প সম্পর্কে তথ্য পেতে, cURL ব্যবহার করুন দেখুন।

মেট্রিক্স API

মেট্রিক্স API-তে GET অনুরোধ করার জন্য আপনি যে বেস URL ব্যবহার করেন সেটি হল:

https://apimonitoring.enterprise.apigee.com/metrics/resource

যেখানে resource একটি নির্দিষ্ট মেট্রিকের সাথে সম্পর্কিত। নিচে দেওয়া সারণীতে মেট্রিক্স রিসোর্স তালিকাভুক্ত করা আছে:

রিসোর্স বিবরণ
/traffic ট্রাফিক মেট্রিক পান। প্রক্সি নাম, ইন্টারভ্যাল, টাইম উইন্ডো, টার্গেট, স্ট্যাটাস কোড এবং আরও অনেক কিছুর মতো ফিল্টার নির্দিষ্ট করুন।
/latency অনুরোধের জন্য লেটেন্সি মেট্রিক পাওয়া

Edge-এ এবং ব্যাকএন্ড টার্গেটে। প্রক্সি নাম, ইন্টারভ্যাল, টার্গেট, স্ট্যাটাস কোড এবং আরও অনেক কিছুর মতো ফিল্টার নির্দিষ্ট করুন।

/targets নির্দিষ্ট সংস্থা ও পরিবেশের জন্য সব টার্গেট ডোমেন পান।
/alerthistory নির্দিষ্ট সংস্থা ও সময়সীমার জন্য অ্যালার্ট ইতিহাসের মেট্রিক পান।
/alertinstance/instanceid নির্দিষ্ট সতর্কতা ইনস্ট্যান্স আইডির জন্য সতর্কতা ইতিহাসের মেট্রিক পান।
/alertsummary কোনও সংস্থা ও সময়সীমার জন্য মোট কতগুলি সতর্কতা আছে তা জানুন।
/faultcodenames সব ফল্টকোডের নাম পান।
/faultcodes ফল্ট কোড পান।
/faultcodecategories ফল্ট কোডের বিভাগ পান।
/faultcodesubcategories ফল্ট কোডের উপবিভাগ পান।
/faultcodedetails বিবরণ সহ সব ফল্ট কোড পান।

সমস্যা সংক্রান্ত তথ্য পাওয়া

/fault* রিসোর্সগুলি Edge-এ সম্ভাব্য সমস্যা সম্পর্কে মেটাডেটা প্রদান করে। যেমন, সম্ভাব্য সব ত্রুটি বিভাগের তালিকা দেখতে:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

$ACCESS_TOKEN-কে আপনার OAuth 2.0 অ্যাক্সেস টোকেন হিসেবে সেট করুন, যেমনটি OAuth 2.0 অ্যাক্সেস টোকেন পান নিবন্ধে বর্ণনা করা হয়েছে।

উত্তরটি এইভাবে দেখানো হয়:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

তারপরে, আপনি API Protocol বিভাগের জন্য ফল্ট কোডের তালিকা নির্ধারণ করতে পারবেন:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

অতিরিক্ত বিকল্পের জন্য, Metrics API দেখুন।

ট্রাফিক ও লেটেন্সি সংক্রান্ত মেট্রিক ক্যাপচার করা

মেট্রিক্স API-তে ফিল্টার আছে যা আপনি API-তে প্রয়োগ করে কাস্টম টাইম রেঞ্জ, প্রক্সি, অঞ্চল, এনভায়রনমেন্ট ও অন্যান্য ফিল্টার নির্দিষ্ট করতে পারেন। এগুলি গণনা করা মেট্রিক্সের জন্য প্রযোজ্য। যেমন, সব এনভায়র্নমেন্টের জন্য আগের এক ঘণ্টার প্রতি ১০ মিনিট অন্তর ট্রানজ্যাকশন পার সেকেন্ড (tps) মেট্রিক দেখতে:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

$ACCESS_TOKEN-কে আপনার OAuth 2.0 অ্যাক্সেস টোকেন হিসেবে সেট করুন, যেমনটি OAuth 2.0 অ্যাক্সেস টোকেন পান নিবন্ধে বর্ণনা করা হয়েছে।

এই কলটি এই ফর্ম্যাটে ফলাফল রিটার্ন করে:

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              …
            ]
          },
       …
       }
    }]
}

columns প্রপার্টি কীভাবে values-এর ফর্ম্যাট নির্দিষ্ট করে তা লক্ষ্য করুন। values প্রপার্টিতে আগের ১০ মিনিটের ব্যবধানের জন্য প্রতি ১০ মিনিট অন্তর গণনা করা tps থাকে।

interval কোয়েরি প্যারামিটার সেই ফ্রিকোয়েন্সি নির্ধারণ করে যেটিতে মেট্রিককে ফলাফলে সেভ করা হয় এবং ফলাফলে ভ্যালুর জন্য স্যাম্পেল উইন্ডো নির্ধারণ করে। উপরের উদাহরণে, মেট্রিকটি আগের ১০ মিনিট ধরে গণনা করা হয়েছে এবং প্রতি ১০ মিনিট অন্তর ফলাফল লেখা হয়েছে।

ISO ফর্ম্যাট করা সময়ের রেঞ্জ নির্দিষ্ট করতে from এবং to কোয়েরি প্যারামিটার ব্যবহার করুন। from ও to-এর উল্লেখ করা সর্বাধিক সময়সীমা হল ২৪ ঘণ্টা।

তারিখের ফর্ম্যাট এই দু'টির মধ্যে একটি হতে পারে:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

যেমন:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

অথবা আপেক্ষিক সময়ের রেঞ্জ নির্দিষ্ট করতে from এবং to কোয়েরি প্যারামিটার ব্যবহার করুন, যেমন শেষ এক ঘণ্টার জন্য:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

আরেকটি বিকল্প হল, একটি প্রক্সির জন্য প্রতি সেকেন্ডে ট্রানজ্যাকশন (tps) দেখাতে proxy কোয়েরি প্যারামিটার ব্যবহার করা:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

লেটেন্সি মেট্রিকের জন্য, ট্রাফিক মেট্রিকের মতো একই ধরনের অনেক মাপকাঠি নির্দিষ্ট করুন। তবে, /latency রিসোর্সের জন্য:

  • আপনাকে percentile কোয়েরি প্যারামিটারকে 50, 90, 95 বা 99 হিসেবে উল্লেখ করতে হবে। যেমন, আপনি 90 নির্দিষ্ট করলে, API ৯০তম পার্সেন্টাইলে মোট রেসপন্স ল্যাটেন্সি ভ্যালু রিটার্ন করে।
  • windowsize এক মিনিট হিসেবে ফিক্স করা আছে।

যেমন, ১ মিনিটের উইন্ডোতে ৯০তম পার্সেন্টাইলে মোট লেটেন্সির মেট্রিক দেখতে:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

অতিরিক্ত বিকল্পের জন্য, Metrics API দেখুন।

অ্যালার্টের জন্য মেট্রিক ক্যাপচার করা

Metrics API সব সতর্কতা, নির্দিষ্ট সতর্কতা বা সতর্কতার সারসংক্ষেপের জন্য মেট্রিক রিটার্ন করে। যেমন, কোনও সংস্থার জন্য গত এক ঘণ্টার অ্যালার্ট ইতিহাস পেতে:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

$ACCESS_TOKEN-কে আপনার OAuth 2.0 অ্যাক্সেস টোকেন হিসেবে সেট করুন, যেমনটি OAuth 2.0 অ্যাক্সেস টোকেন পান নিবন্ধে বর্ণনা করা হয়েছে।

এই API কলটি নিম্নলিখিত ফর্ম্যাটে একটি উত্তর রিটার্ন করে:

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 …
]

তারপর, কোনও নির্দিষ্ট সতর্কতা সম্পর্কে তথ্য পেতে, রিটার্ন করা অ্যারেতে id ব্যবহার করতে পারেন:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

অতিরিক্ত বিকল্পের জন্য, Metrics API দেখুন।