503 পরিষেবা অনুপলব্ধ - NoActiveTargets

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

ভিডিও

503 ত্রুটি সম্পর্কে আরও তথ্যের জন্য নিম্নলিখিত ভিডিওগুলি দেখুন:

ভিডিও বর্ণনা
503 Service Unavailable - NoActiveTargets এর সমস্যা সমাধান করুন। নিম্নলিখিত বিষয়গুলো সম্পর্কে জানুন:
  • টার্গেট সার্ভার এবং হেলথ মনিটরের গুরুত্ব
  • রিয়েল-টাইম 503 Service Unavailable - NoActiveTargets ত্রুটির ট্রাবলশুটিং এবং সমাধান

লক্ষণ

ক্লায়েন্ট অ্যাপ্লিকেশনটি এপিআই প্রক্সি অনুরোধগুলির জন্য HTTP প্রতিক্রিয়া স্ট্যাটাস কোড 503 , 'Service Unavailable' বার্তা এবং 'NoActiveTargets' ত্রুটি কোড গ্রহণ করে।

ত্রুটির বার্তা

আপনি নিম্নলিখিত ত্রুটিপূর্ণ প্রতিক্রিয়া দেখতে পাবেন:

HTTP/1.1 503 Service Unavailable
  

আপনি HTTP রেসপন্সে নিম্নলিখিত এরর মেসেজটি দেখতে পাবেন:

{
   "fault": {
      "faultstring": "The Service is temporarily unavailable",
      "detail": {
           "errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
       }
    }
}
  

সম্ভাব্য কারণসমূহ

আপনার এপিআই প্রক্সির টার্গেট এন্ডপয়েন্ট কনফিগারেশনে এক বা একাধিক টার্গেট সার্ভার ব্যবহার করলে, সাধারণত NoActiveTargets এরর কোড সহ 503 Service Unavailable HTTP রেসপন্সটি দেখা যায়।

নিম্নলিখিত সারণিতে 503 Service Unavailable with error code NoActiveTargets রেসপন্সটির সম্ভাব্য কারণগুলো তালিকাভুক্ত করা হলো:

কারণ বর্ণনা কে সমস্যা সমাধানের ধাপগুলো সম্পাদন করতে পারে
টার্গেট সার্ভার নিষ্ক্রিয় করা হয়েছে টার্গেট এন্ডপয়েন্ট কনফিগারেশনে নির্দিষ্ট করা টার্গেট সার্ভারটি নিষ্ক্রিয় করা আছে। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা
ভুল ডিএনএস রেজোলিউশনের কারণে সংযোগ ত্রুটি টার্গেট সার্ভারের ডিএনএস রেজোলিউশনের ফলে ভুল আইপি অ্যাড্রেস পাওয়া যায়, যার কারণে সংযোগে ত্রুটি দেখা দেয়। এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা
সংযোগ ত্রুটি নেটওয়ার্ক বা সংযোগ সমস্যার কারণে ক্লায়েন্ট সার্ভারের সাথে সংযোগ স্থাপন করতে পারছে না। এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা
ভুল টার্গেট হোস্ট অ্যালিয়াস নির্দিষ্ট করা টার্গেট সার্ভার হোস্টটি ভুল অথবা এতে অবাঞ্ছিত অক্ষর (যেমন স্পেস) রয়েছে। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা
SSL হ্যান্ডশেক ব্যর্থতা ক্লায়েন্ট ও সার্ভারের মধ্যে TLS/SSL হ্যান্ডশেক ব্যর্থ হয়েছে। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা
স্বাস্থ্য পরীক্ষার ব্যর্থতা টার্গেট সার্ভারের স্বাস্থ্য পরীক্ষা করার জন্য কনফিগার করা হেলথ চেকগুলো কোনো কারণে ব্যর্থ হতে পারে। এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা

কারণ: টার্গেট সার্ভারটি নিষ্ক্রিয় আছে

টার্গেট এন্ডপয়েন্ট কনফিগারেশনে উল্লেখিত সমস্ত টার্গেট সার্ভার নিষ্ক্রিয় থাকলে, আপনি NoActiveTargets এরর কোড সহ 503 Service Unavailable রেসপন্স পাবেন।

রোগ নির্ণয়

  1. নিম্নলিখিত উপায়গুলির মধ্যে একটি ব্যবহার করে ব্যর্থ হওয়া এপিআই প্রক্সির নির্দিষ্ট টার্গেট এন্ডপয়েন্ট কনফিগারেশনে ব্যবহৃত টার্গেট সার্ভারের নাম নির্ধারণ করুন:
    1. যদি একটিমাত্র টার্গেট এন্ডপয়েন্ট থাকে, তাহলে সেই নির্দিষ্ট টার্গেট এন্ডপয়েন্টটি চেক করুন।
    2. যদি একাধিক টার্গেট এন্ডপয়েন্ট থাকে এবং কোনটিতে টার্গেট সার্ভার নিষ্ক্রিয় করা আছে সে বিষয়ে আপনি নিশ্চিত না হন, তাহলে নিচের ধাপগুলো অনুসরণ করুন:
      1. ট্রেস সেশনটি চালু করুন, এপিআই কলটি করুন এবং সমস্যাটি পুনরায় তৈরি করুন - ৫০৩ সার্ভিস আনঅ্যাভেইলেবল।
      2. ট্রেস থেকে, 'Target Request Flow Started'- এ যান এবং নিচে দেখানো অনুযায়ী টার্গেট এন্ডপয়েন্টের নামটি নির্ধারণ করুন:
      3. Determining target endpoint name from trace

  2. একবার আপনি টার্গেট এন্ডপয়েন্টটি শনাক্ত করে ফেললে, নিচের উদাহরণে দেখানো অনুযায়ী টার্গেট এন্ডপয়েন্ট কনফিগারেশন থেকে ব্যবহৃত টার্গেট সার্ভারের নামটি সংগ্রহ করুন:
    <TargetEndpoint name="default">>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="demo-target" />
        </LoadBalancer>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
          

    উপরের উদাহরণটিতে, demo-target নামের একটিমাত্র টার্গেট সার্ভার রয়েছে।

  3. Edge UI অথবা Edge API কল ব্যবহার করে টার্গেট এন্ডপয়েন্টে ব্যবহৃত প্রতিটি টার্গেট সার্ভারের সংজ্ঞা জানুন।

    এজ ইউআই

    Edge UI ব্যবহার করে সংজ্ঞাটি পেতে:

    1. অ্যাডমিন > এনভায়রনমেন্ট > টার্গেট সার্ভার- এ যান।
    2. সেই নির্দিষ্ট পরিবেশটি নির্বাচন করুন যেখানে আপনি ব্যর্থতাটি দেখতে পাচ্ছেন।
    3. টার্গেট সার্ভারের সংজ্ঞা পেতে নির্দিষ্ট টার্গেট সার্ভারের নামটি দিয়ে অনুসন্ধান করুন।

      উদাহরণস্বরূপ, টার্গেট সার্ভারের নাম demo-target টাইপ করুন এবং আপনি নীচে দেখানো হিসাবে এর সংজ্ঞা দেখতে পাবেন:

      Target server name and enabled/disabled status

      এখানে লক্ষ্য করুন যে টার্গেট সার্ভার demo-target-এর একটি হোস্ট অ্যালিয়াস, পোর্ট # আছে এবং SSL সক্রিয় করা আছে। তবে, টার্গেট সার্ভারটি নিজেই নিষ্ক্রিয়, যা ENABLED এলিমেন্টটি ধূসর হয়ে থাকার মাধ্যমে নির্দেশিত হচ্ছে।

    এজ এপিআই

    Edge API ব্যবহার করে সংজ্ঞাটি পেতে:

    টার্গেট সার্ভারের সংজ্ঞা পেতে Get TargetServer API ব্যবহার করুন।

    টার্গেট সার্ভার সংজ্ঞা আউটপুট

    <TargetServer name="demo-target">
      <Host>demo-target.apigee.net</Host>
      <Port>443</Port>
      <IsEnabled>false</IsEnabled>
      <SSLInfo>
          <Enabled>true</Enabled>
      </SSLInfo>
    </TargetServer>
              

    Apigee API আউটপুট থেকে দেখা যায় যে, `demo-target` টার্গেট সার্ভারটি নিষ্ক্রিয় রয়েছে, কারণ `IsEnabled` এলিমেন্টটির মান `false` সেট করা আছে।

    যেহেতু টার্গেট সার্ভারটি নিষ্ক্রিয়, তাই মেসেজ প্রসেসর ক্লায়েন্টকে প্রতিক্রিয়া হিসাবে অবিলম্বে NoActiveTargets ত্রুটি কোড সহ 503 Service Unavailable পাঠাবে।

সমাধান

আপনার এপিআই প্রক্সির টার্গেট এন্ডপয়েন্ট কনফিগারেশনে ব্যবহৃত নির্দিষ্ট টার্গেট সার্ভারগুলো যেন সর্বদা সক্রিয় থাকে, তা নিশ্চিত করুন।

এজ ইউআই

  1. অ্যাডমিন > এনভায়রনমেন্ট > টার্গেট সার্ভার- এ যান।
  2. সেই নির্দিষ্ট পরিবেশটি নির্বাচন করুন যেখানে আপনি ব্যর্থতাটি দেখতে পাচ্ছেন।
  3. এর সংজ্ঞা পেতে নির্দিষ্ট টার্গেট সার্ভারের নামটি অনুসন্ধান করুন।
  4. নির্দিষ্ট টার্গেট সার্ভারটি নির্বাচন করুন এবং তারপর এডিট-এ ক্লিক করুন।
  5. সক্ষম চেকবক্সটি নির্বাচন করুন।
  6. আপডেট-এ ক্লিক করুন।

এজ এপিআই

টার্গেট সার্ভার ডেফিনিশন আপডেট করতে 'Update a Target Server API' ব্যবহার করুন এবং নিশ্চিত করুন যে API-এর রিকোয়েস্ট পেলোডে ' IsEnabled'- এর মান ' true' সেট করা আছে, যেমনটি নিচে দেখানো হয়েছে:

<TargetServer name="demo-target">
  <Host>demo-target.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
      <Enabled>true</Enabled>
  </SSLInfo>
</TargetServer>
        

যদি সমস্যাটি এখনও থেকে যায়, তাহলে 'অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন' অংশে যান।

এপিআই মনিটরিং ব্যবহার করে সমস্যা নির্ণয় করুন

এপিআই মনিটরিং আপনাকে ত্রুটি, পারফরম্যান্স, এবং লেটেন্সি সমস্যা ও সেগুলোর উৎস—যেমন ডেভেলপার অ্যাপ, এপিআই প্রক্সি, ব্যাকএন্ড টার্গেট বা এপিআই প্ল্যাটফর্ম—দ্রুত শনাক্ত করে সমস্যাযুক্ত এলাকাগুলো চিহ্নিত করতে সক্ষম করে।

এপিআই মনিটরিং ব্যবহার করে আপনার এপিআই-এর 5xx সমস্যাগুলো কীভাবে সমাধান করবেন, তা দেখানোর জন্য একটি নমুনা পরিস্থিতি ধাপে ধাপে অনুসরণ করুন । উদাহরণস্বরূপ, আপনি হয়তো একটি অ্যালার্ট সেট আপ করতে চাইতে পারেন, যাতে messaging.adaptors.http.flow.NoActiveTargets ফল্টের সংখ্যা একটি নির্দিষ্ট সীমা অতিক্রম করলে আপনাকে জানানো হয়।

রোগ নির্ণয়ের তথ্য অবশ্যই সংগ্রহ করতে হবে

উপরের নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে অনুগ্রহ করে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন। Apigee Support-এর সাথে যোগাযোগ করুন এবং সেগুলি তাদের সাথে শেয়ার করুন:

  1. আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
    1. সংস্থার নাম
    2. পরিবেশের নাম
    3. এপিআই প্রক্সি নাম
    4. ত্রুটিটি পুনরুৎপাদন করতে সম্পূর্ণ কার্ল (curl) কমান্ডটি ব্যবহার করুন।
    5. ট্রেস ফাইলে 503 সার্ভিস আনঅ্যাভেইলেবল এবং নোঅ্যাক্টিভটার্গেটস এরর কোডসহ অনুরোধগুলো রয়েছে।
  2. আপনি যদি প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
    1. সম্পূর্ণ ত্রুটি বার্তা পরিলক্ষিত হয়েছে
    2. পরিবেশের নাম
    3. এপিআই প্রক্সি বান্ডেল
    4. ট্রেস ফাইলে 503 সার্ভিস আনঅ্যাভেইলেবল এবং নোঅ্যাক্টিভটার্গেটস এরর কোডসহ অনুরোধগুলো রয়েছে।
    5. NGINX অ্যাক্সেস লগ

      ( /opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log )

    6. বার্তা প্রসেসর লগ

      ( /opt/apigee/var/log/edge-message-processor/logs/system.log )