503 পরিষেবা অনুপলব্ধ - ব্যাকএন্ড সার্ভার

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

ভিডিও

503 পরিষেবা অনুপলব্ধ ত্রুটিগুলি সমাধান করার বিষয়ে আরও জানতে নিম্নলিখিত ভিডিওটি দেখুন৷

ভিডিও বর্ণনা
ব্যাকএন্ড সার্ভার থেকে 503 পরিষেবা অনুপলব্ধ ত্রুটি৷ নিম্নলিখিত সম্পর্কে জানুন:
  • Apigee Edge-এ 503 পরিষেবা অনুপলব্ধ ত্রুটির ভূমিকা
  • ব্যাকএন্ড সার্ভার থেকে অনুপলব্ধ একটি রিয়েল-টাইম 503 পরিষেবার সমস্যা সমাধান এবং সমাধান করা

উপসর্গ

ক্লায়েন্ট অ্যাপ্লিকেশনটি একটি API প্রক্সি কলের পরে পরিষেবা অনুপলব্ধ বার্তা সহ একটি HTTP প্রতিক্রিয়া স্থিতি 503 পায়৷

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

আপনি নিম্নলিখিত ত্রুটি বার্তাগুলির মধ্যে একটি দেখতে পারেন:

HTTP/1.1 503 Service Unavailable
HTTP/1.1 503 Service Unavailable: Back-end server is at capacity

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

The server is temporarily unable to service your request due to
maintenance downtime or capacity problems. Please try again later.

দ্রষ্টব্য: উপরের প্রতিক্রিয়া কোড এবং ত্রুটি বার্তা শুধুমাত্র উদাহরণ. কিছু ক্ষেত্রে, আপনি কোনো ত্রুটি বার্তা ছাড়াই শুধুমাত্র ত্রুটি প্রতিক্রিয়া কোড পেতে পারেন। ত্রুটি প্রতিক্রিয়া কোডের বিন্যাস এবং বিষয়বস্তু এবং ত্রুটি বার্তা ব্যাকএন্ড সার্ভার বাস্তবায়নের উপর নির্ভর করে পরিবর্তিত হতে পারে।

কারণ

এইচটিটিপি স্ট্যাটাস কোড 503 এর মানে হল যে সার্ভার বর্তমানে আগত অনুরোধগুলি পরিচালনা করতে অক্ষম। সাধারণত, এই ত্রুটিটি ঘটে কারণ সার্ভারটি খুব ব্যস্ত থাকে বা সাময়িকভাবে রক্ষণাবেক্ষণের জন্য বন্ধ থাকে৷

503 পরিষেবা অনুপলব্ধ প্রতিক্রিয়ার সম্ভাব্য কারণগুলি হল:

কারণ বর্ণনা যারা সমস্যা সমাধানের পদক্ষেপগুলি সম্পাদন করতে পারে৷
ওভারলোড সার্ভার ব্যাকএন্ড সার্ভারটি ওভারলোড বা এর ক্ষমতার বাইরে এবং কোনো নতুন আগত ক্লায়েন্ট অনুরোধগুলি পরিচালনা করতে পারে না। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা
রক্ষণাবেক্ষণ অধীনে সার্ভার ব্যাকএন্ড সার্ভার সাময়িকভাবে রক্ষণাবেক্ষণের অধীনে থাকতে পারে। এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা

কারণ: রক্ষণাবেক্ষণের অধীনে ওভারলোড সার্ভার/সার্ভার

Apigee Edge-এ, 503 পরিষেবা অনুপলব্ধ ত্রুটিটি নিম্নলিখিত যেকোনো পরিস্থিতিতে একটি ব্যাকএন্ড সার্ভার থেকে ফেরত দেওয়া যেতে পারে:

  • একটি ব্যাকএন্ড সার্ভার ওভারলোড/ব্যস্ত এবং কোনো নতুন অনুরোধ পরিচালনা করতে পারে না।
  • রক্ষণাবেক্ষণের কারণে ব্যাকএন্ড সার্ভারটি সাময়িক সময়ের জন্য ডাউন।

রোগ নির্ণয়

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

  • ট্রেস টুল
  • NGINX অ্যাক্সেস লগ
  • ব্যাকএন্ড সার্ভারে সরাসরি কল

প্রতিটি পদ্ধতি সম্পর্কে জানতে নীচের ট্যাবগুলিতে ক্লিক করুন।

ট্রেস টুল

  1. ট্রেস সেশন সক্ষম করুন, এবং সমস্যাটি পুনরুত্পাদন করতে API কল করুন - 503 পরিষেবা অনুপলব্ধ৷
  2. ব্যর্থ অনুরোধগুলির একটি নির্বাচন করুন এবং ট্রেস পরীক্ষা করুন।
  3. ট্রেসের বিভিন্ন পর্যায়ে নেভিগেট করুন এবং কোথায় ব্যর্থতা ঘটেছে তা সনাক্ত করুন।
  4. আপনি যদি লক্ষ্য করেন যে 503 ত্রুটি লক্ষ্য সার্ভার থেকে একটি প্রতিক্রিয়া হিসাবে ফিরে এসেছে, 503 ত্রুটির কারণ হল লক্ষ্য সার্ভার।

    এখানে একটি নমুনা ট্রেস স্ক্রিনশট দেখানো হয়েছে যা লক্ষ্য সার্ভার থেকে প্রাপ্ত 503 পরিষেবা অনুপলব্ধ প্রতিক্রিয়া দেখায়:

  5. টার্গেট সার্ভার ফেজ থেকে প্রাপ্ত প্রতিক্রিয়াতে ক্লিক করুন এবং প্রতিক্রিয়া শিরোনাম এবং প্রতিক্রিয়া বিষয়বস্তু বিভাগে যান তাদের কাছে কোন দরকারী তথ্য আছে কিনা তা দেখতে:
    • প্রতিক্রিয়া শিরোনামগুলিতে সার্ভার শিরোনাম থাকতে পারে, যা নির্দেশ করে যে ত্রুটি প্রতিক্রিয়াটি কোথা থেকে পাঠানো হয়েছিল।
    • কেন টার্গেট সার্ভার 503 রেসপন্স কোড পাঠিয়েছে সে সম্পর্কে রেসপন্স কন্টেন্টে অতিরিক্ত তথ্য থাকতে পারে।
  6. নিচে দেওয়া ধাপগুলি ব্যবহার করে ট্রেসে AX (Analytics Data Recorded) পর্যায়ে X-Apigee-fault-source এবং X-Apigee-fault-code- এর মান পরীক্ষা করে লক্ষ্য সার্ভার থেকে 503 ত্রুটি আসছে তা নিশ্চিত করুন:
    1. নিচের স্ক্রিনশটে দেখানো হিসাবে AX (Analytics Data Recorded) ধাপে ক্লিক করুন:
    2. প্রতিক্রিয়া শিরোনাম বিভাগে পর্যায় বিবরণ নিচে স্ক্রোল করুন এবং X-Apigee-fault-code এবং X-Apigee-fault-source এর মান নির্ধারণ করুন যেমন নীচে দেখানো হয়েছে:
    3. যদি X-Apigee-fault-source এবং X-Apigee-ফল্ট-কোডের মান নীচের টেবিলে দেখানো মানগুলির সাথে মেলে, আপনি নিশ্চিত করতে পারেন যে 503 ত্রুটি লক্ষ্য সার্ভার থেকে আসছে:
      প্রতিক্রিয়া শিরোনাম মান
      এক্স-অ্যাপিজি-ফল্ট-উৎস লক্ষ্য
      এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.ErrorResponseCode
  7. আপনি প্রক্সি চেইনিং ব্যবহার করছেন কিনা পরীক্ষা করুন যেমন টার্গেট সার্ভার/টার্গেট এন্ডপয়েন্ট Apigee-তে অন্য প্রক্সি আহ্বান করছে কিনা। এটি নির্ধারণ করতে:
    1. টার্গেট সার্ভার ফেজে পাঠানো অনুরোধে ফিরে যান এবং কার্ল শো বোতামে ক্লিক করুন এবং লক্ষ্য সার্ভার হোস্ট উপনাম নির্ধারণ করুন।
    2. যদি লক্ষ্য সার্ভার হোস্ট উপনাম একটি ভার্চুয়াল হোস্ট উপনাম নির্দেশ করে, তাহলে এটি প্রক্সি চেইনিং। এই ক্ষেত্রে, 503 পরিষেবা অনুপলব্ধ ত্রুটিটি আসলে কী ঘটছে তা নির্ধারণ না করা পর্যন্ত আপনাকে চেইনড প্রক্সির জন্য উপরের সমস্ত পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে। এই ক্ষেত্রে 503 পরিষেবা অনুপলব্ধ অন্যান্য পর্যায়ে অন্যান্য শৃঙ্খলিত প্রক্সিগুলিতেও ঘটতে পারে যা এই প্লেবুক ব্যবহার করে নির্ণয় করা যেতে পারে।
    3. যদি লক্ষ্য সার্ভার হোস্ট ওরফে আপনার ব্যাকএন্ড সার্ভারের দিকে নির্দেশ করে, তাহলে রেজোলিউশনে যান।

NGINX অ্যাক্সেস লগ

ব্যাকএন্ড সার্ভার দ্বারা 503 স্ট্যাটাস কোড পাঠানো হয়েছে কিনা তা নির্ধারণ করতে আপনি NGINX lccess লগগুলিও উল্লেখ করতে পারেন। এটি বিশেষভাবে উপযোগী যদি সমস্যাটি অতীতে ঘটে থাকে বা সমস্যাটি মাঝে মাঝে হয় এবং আপনি UI-তে ট্রেস ক্যাপচার করতে অক্ষম হন। NGINX অ্যাক্সেস লগ থেকে এই তথ্য নির্ধারণ করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন৷
    /opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
  2. একটি নির্দিষ্ট সময়কালের (যদি সমস্যাটি অতীতে ঘটে থাকে) বা 503-এর সাথে এখনও ব্যর্থ কোনো অনুরোধের জন্য নির্দিষ্ট API প্রক্সির জন্য যেকোন 503 ত্রুটি অনুসন্ধান করুন।
  3. যদি কোন 503 ত্রুটি থাকে, তাহলে পরীক্ষা করুন যে ত্রুটিটি ব্যাকএন্ড সার্ভার থেকে আসছে কিনা। যদি X-Apigee-fault-source এবং X-Apigee-ফল্ট-কোডের মান নীচের টেবিলে দেখানো মানগুলির সাথে মেলে, তাহলে 503 ত্রুটিটি ব্যাকএন্ড সার্ভার থেকে আসছে:
    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-উৎস লক্ষ্য
    এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.ErrorResponseCode

    এখানে একটি নমুনা এন্ট্রি টার্গেট সার্ভার দ্বারা সৃষ্ট 503 ত্রুটি দেখাচ্ছে:

  4. নির্দিষ্ট এপিআই প্রক্সি পর্যালোচনা করুন এবং নিশ্চিত করুন যে আপনি প্রক্সি চেইনিং ব্যবহার করছেন অর্থাৎ, যদি টার্গেট সার্ভার/টার্গেট এন্ডপয়েন্ট Apigee-তে অন্য প্রক্সি চালু না করে। আপনি যদি প্রক্সি চেইনিং ব্যবহার করেন, তাহলে 503 পরিষেবা অনুপলব্ধ ত্রুটিটি আসলে কী ঘটছে তা নির্ধারণ না করা পর্যন্ত আপনাকে চেইনড প্রক্সির জন্য উপরের সমস্ত পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে৷ এই ক্ষেত্রে, 503 পরিষেবা অনুপলব্ধ অন্যান্য পর্যায়ে অন্যান্য চেইনযুক্ত প্রক্সিগুলিতেও ঘটতে পারে, যা আপনি এই প্লেবুক ব্যবহার করে নির্ণয় করতে পারেন।
  5. আপনি যদি নিশ্চিত করেন যে আপনি প্রক্সি চেইনিং ব্যবহার করছেন না, এবং 503 ত্রুটি আপনার ব্যাকএন্ড সার্ভার থেকে আসছে, তাহলে রেজোলিউশনে যান।

ব্যাকএন্ড সার্ভারে কল করুন

আপনি ব্যাকএন্ড সার্ভারে একটি সরাসরি কল করতে পারেন এবং যাচাই করতে পারেন যে আপনি একই 503 পরিষেবা অনুপলব্ধ প্রতিক্রিয়া পাচ্ছেন যখন Apigee Edge-এর মাধ্যমে অনুরোধ করা হয়েছিল।

  1. নিশ্চিত করুন যে আপনার কাছে সমস্ত প্রয়োজনীয় শিরোনাম, ক্যোয়ারী প্যারামিটার এবং অনুরোধের অংশ হিসাবে ব্যাকএন্ড সার্ভারে পাস করা দরকার এমন কোনও প্রমাণপত্র রয়েছে।
  2. যদি ব্যাকএন্ড পরিষেবা সর্বজনীনভাবে অ্যাক্সেসযোগ্য হয়, আপনি কার্ল কমান্ড, পোস্টম্যান বা অন্য কোনও REST ক্লায়েন্ট ব্যবহার করতে পারেন এবং সরাসরি ব্যাকএন্ড সার্ভার API-কে আহ্বান করতে পারেন।
  3. ব্যাকএন্ড সার্ভার শুধুমাত্র মেসেজ প্রসেসর থেকে অ্যাক্সেসযোগ্য হলে, আপনি কার্ল কমান্ড, পোস্টম্যান বা অন্য কোন REST ক্লায়েন্ট ব্যবহার করতে পারেন এবং সরাসরি বার্তা প্রসেসর থেকে ব্যাকএন্ড সার্ভার এপিআই চালু করতে পারেন।
  4. নিশ্চিত করুন যে ব্যাকএন্ড পরিষেবাটি প্রকৃতপক্ষে 503 পরিষেবা অনুপলব্ধ ত্রুটি ফিরিয়ে দিচ্ছে।

রেজোলিউশন

আপনি যদি নিশ্চিত হন যে 503 ত্রুটিটি ব্যাকএন্ড সার্ভার থেকে আসছে, আপনি সমস্যাটি সমাধান করতে নিম্নলিখিতগুলি করতে পারেন:

  • ব্যাকএন্ড সার্ভার রক্ষণাবেক্ষণের জন্য ডাউন থাকার কারণে যদি সমস্যাটি হয়, তাহলে রক্ষণাবেক্ষণের সময় পরে আপনি ব্যাকএন্ড সার্ভার অনলাইনে আনতে পারেন।
  • ব্যাকএন্ড সার্ভার ওভারলোড হওয়ার কারণে যদি সমস্যাটি হয়, তাহলে ব্যাকএন্ড সার্ভারে আপনার অ্যাক্সেস থাকলে সমস্যাটি সমাধান করুন। অন্যথায় সমস্যা সমাধানের জন্য আপনাকে আপনার ব্যাকএন্ড সার্ভার দলের সাথে কাজ করতে হতে পারে।

API মনিটরিং ব্যবহার করে সমস্যা নির্ণয় করুন

API মনিটরিং আপনাকে ত্রুটি, কর্মক্ষমতা, এবং লেটেন্সি সমস্যা এবং তাদের উৎস যেমন ডেভেলপার অ্যাপস, API প্রক্সি, ব্যাকএন্ড টার্গেট বা API প্ল্যাটফর্ম নির্ণয় করতে সমস্যা এলাকাগুলিকে দ্রুত বিচ্ছিন্ন করতে সক্ষম করে।

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

ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে

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

আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:

  • প্রতিষ্ঠানের নাম
  • পরিবেশের নাম
  • API প্রক্সি নাম
  • 503 ত্রুটি পুনরুত্পাদন করতে কার্ল কমান্ডটি সম্পূর্ণ করুন
  • 503 পরিষেবা অনুপলব্ধ ত্রুটি সহ অনুরোধ ধারণকারী ট্রেস ফাইল
  • যদি 503 ত্রুটি বর্তমানে ঘটছে না, অতীতে যখন 503 ত্রুটি ঘটেছে টাইমজোন তথ্য সহ সময়কাল প্রদান করুন।

আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন তবে নিম্নলিখিত তথ্য প্রদান করুন:

  • ব্যর্থ অনুরোধের জন্য পরিলক্ষিত সম্পূর্ণ ত্রুটি বার্তা।
  • প্রতিষ্ঠান, পরিবেশের নাম এবং API প্রক্সি নাম যার জন্য আপনি 503টি ত্রুটি পর্যবেক্ষণ করছেন।
  • API প্রক্সি বান্ডেল।
  • 503 পরিষেবা অনুপলব্ধ ত্রুটি সহ অনুরোধ ধারণকারী ট্রেস ফাইল.
  • NGINX অ্যাক্সেস লগ।
    /opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
  • বার্তা প্রসেসর লগ.
    /opt/apigee/var/log/edge-message-processor/logs/system.log
  • টাইমজোন তথ্য সহ সময়কাল যখন 503 ত্রুটি ঘটেছে।