আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
ভিডিও
500 ইন্টার্নাল সার্ভার সমস্যার সমাধান সম্পর্কে আরও জানতে, নিম্নলিখিত ভিডিও দেখুন।
| ভিডিও | বিবরণ |
|---|---|
| ভূমিকা | 500 ইন্টার্নাল সার্ভার সমস্যার একটি ভূমিকা এবং সম্ভাব্য কারণ প্রদান করে। এছাড়াও, এটি রিয়েল-টাইম ৫০০ ইন্টার্নাল সার্ভার সমস্যার পাশাপাশি সমস্যা সমাধান ও সমাধানের ধাপগুলিও দেখায়। |
| পরিষেবা কলআউট ম্যানেজ করা এবং ভেরিয়েবল সংক্রান্ত সমস্যার সমাধান করা | পরিষেবা কলআউট ও এক্সট্র্যাক্ট ভেরিয়েবল নীতির কারণে হওয়া দুটি 500 ইন্টার্নাল সার্ভার সমস্যা দেখায় এবং কীভাবে এই সমস্যার সমাধান করতে হয় তা দেখায়। |
| জাভাস্ক্রিপ্ট নীতি সংক্রান্ত সমস্যার সমাধান করা | JavaScript নীতির কারণে হওয়া 500 ইন্টার্নাল সার্ভার সমস্যা এবং এই সমস্যার সমাধান ও সমস্যা সমাধানের ধাপগুলি দেখায়। |
| ব্যাকএন্ড সার্ভার থেকে হওয়া সমস্যা ম্যানেজ করা | ব্যাকএন্ড সার্ভারে সমস্যার কারণে হওয়া 500 ইন্টার্নাল সার্ভার সমস্যার উদাহরণ দেখায় এবং সমস্যা সমাধানের জন্য ধাপগুলি দেখায়। |
সমস্যার উপসর্গ
API কলের উত্তর হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশন 500 HTTP স্ট্যাটাস কোড সহ এই মেসেজ পায়: "ইন্টার্নাল সার্ভার সমস্যা"। 500 ইন্টার্নাল সার্ভার সমস্যা Edge-এর মধ্যে কোনও নীতি প্রয়োগ করার সময় কোনও সমস্যার কারণে অথবা টার্গেট/ব্যাকএন্ড সার্ভারে কোনও সমস্যার কারণে হতে পারে।
HTTP স্ট্যাটাস কোড 500 হল একটি সাধারণ সমস্যার উত্তর। এর অর্থ হল, সার্ভার এমন একটি অপ্রত্যাশিত অবস্থার সম্মুখীন হয়েছে যার ফলে অনুরোধটি পূরণ করা যায়নি। অন্য কোনও সমস্যার কোড উপযুক্ত না হলে, সার্ভার সাধারণত এই সমস্যাটি ফেরত পাঠায়।
সমস্যার মেসেজ
আপনি নিম্নলিখিত সমস্যার মেসেজ পেতে পারেন:
HTTP/1.1 500 Internal Server Error
কিছু ক্ষেত্রে, আপনি আরও বিবরণ সহ অন্য একটি সমস্যার মেসেজ দেখতে পেতে পারেন। এখানে একটি নমুনা সমস্যার মেসেজ দেওয়া হল:
{
"fault":{
"detail":{
"errorcode":"steps.servicecallout.ExecutionFailed"
},
"faultstring":"Execution of ServiceCallout callWCSAuthServiceCallout failed. Reason: ResponseCode 400 is treated as error"
}
}সম্ভাব্য কারণ
বিভিন্ন কারণে 500 ইন্টার্নাল সার্ভার সমস্যা হতে পারে। Edge-এ, সমস্যা কোথায় হয়েছে তার ভিত্তিতে কারণগুলিকে দুটি প্রধান বিভাগে ভাগ করা যায়:
| কারণ | বিবরণ | এর জন্য বিস্তারিত সমস্যা সমাধানের ধাপ প্রদান করা হয়েছে |
| এজ নীতিতে এক্সিকিউশন সংক্রান্ত সমস্যা | API প্রক্সির মধ্যে নীতি কিছু কারণে কাজ নাও করতে পারে। | Edge প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারী |
| ব্যাকএন্ড সার্ভারে সমস্যা | কিছু কারণে ব্যাকএন্ড সার্ভার কাজ নাও করতে পারে। | Edge প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারী |
এজ নীতিতে এক্সিকিউশন সংক্রান্ত সমস্যা
API প্রক্সির মধ্যে থাকা নীতি কিছু কারণে কাজ নাও করতে পারে। কোনও নীতি এক্সিকিউট করার সময় 500 ইন্টার্নাল সার্ভার সমস্যা হলে, কীভাবে সেই সমস্যার সমাধান করবেন তা এই বিভাগে ব্যাখ্যা করা হয়েছে।
ডায়াগনসিস
প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারীদের জন্য ডায়াগনস্টিক ধাপ
সমস্যার জন্য আপনার কাছে ট্রেস UI সেশন থাকলে, তাহলে:
- যাচাই করে দেখুন যে নীতি প্রয়োগ করার ফলে সমস্যা হয়েছে কিনা। আরও বিবরণের জন্য সমস্যার উৎস নির্ধারণ করা দেখুন।
- নীতি প্রয়োগ করার সময় সমস্যা হয়ে থাকলে, চালিয়ে যান.. সমস্যাটি যদি ব্যাকএন্ড সার্ভারের কারণে হয়ে থাকে, তাহলে ব্যাকএন্ড সার্ভারে সমস্যা লিঙ্কে যান।
- ট্রেসে 500 ইন্টার্নাল সার্ভার সমস্যার কারণে ব্যর্থ হওয়া API অনুরোধটি বেছে নিন।
- অনুরোধটি পরীক্ষা করে দেখুন এবং সেই নির্দিষ্ট নীতিটি বেছে নিন যেটি কাজ করেনি অথবা "Error" নামের ফ্লোটি বেছে নিন যেটি ট্রেসে কাজ না করা নীতির ঠিক পরেই রয়েছে।
- Properties বিভাগের অধীনে "সমস্যা" ফিল্ড বা সমস্যার কন্টেন্ট চেক করে সমস্যা সম্পর্কে আরও বিবরণ পান।
- সমস্যা সম্পর্কে আপনার সংগ্রহ করা বিবরণ ব্যবহার করে, এর কারণ নির্ধারণ করার চেষ্টা করুন।
শুধুমাত্র ব্যক্তিগত ক্লাউড ব্যবহারকারীদের জন্য ডায়াগনস্টিক ধাপ
আপনার কাছে ট্রেস UI সেশন না থাকলে, তাহলে:
- যাচাই করে দেখুন যে নীতি প্রয়োগ করার সময় সমস্যা হয়েছে কিনা। আরও বিবরণের জন্য সমস্যার উৎস নির্ধারণ করা দেখুন।
- নীতি প্রয়োগের কারণে সমস্যা হয়ে থাকলে, চালিয়ে যান। নীতি এক্সিকিউট করার সময় সমস্যা হলে, চালিয়ে যান। ব্যাকএন্ড সার্ভারের কারণে সমস্যা হয়ে থাকলে, ব্যাকএন্ড সার্ভারে সমস্যা লিঙ্কে যান।
- API প্রক্সিতে ব্যর্থ হওয়া নীতি এবং অনন্য অনুরোধ মেসেজ আইডি নির্ধারণ করতে, সমস্যার উৎস নির্ধারণ করা অংশে ব্যাখ্যা করা NGINX অ্যাক্সেস লগ ব্যবহার করুন
- মেসেজ প্রসেসর লগ চেক করুন
(
/opt/apigee/var/log/edge-message-processor/logs/system.log) এবং এর মধ্যে অনন্য অনুরোধ মেসেজ আইডি সার্চ করুন। - আপনি অনন্য অনুরোধ মেসেজ আইডি খুঁজে পেলে, ব্যর্থতার কারণ সম্পর্কে আরও তথ্য পেতে পারেন কিনা দেখুন।
রেজোলিউশন
আপনি যদি নীতির সাথে সমস্যার কারণ নির্ধারণ করে থাকেন, তাহলে নীতি ঠিক করে এবং প্রক্সি আবার ডেপ্লয় করে সমস্যাটি সমাধান করার চেষ্টা করুন।
নিচের উদাহরণগুলি থেকে বিভিন্ন ধরনের সমস্যার কারণ ও সমাধান কীভাবে নির্ধারণ করতে হয় তা জানতে পারবেন।
500 ইন্টার্নাল সার্ভার ত্রুটি সমাধান করার ব্যাপারে আপনার আরও সাহায্যের প্রয়োজন হলে অথবা Edge-এর মধ্যে কোনও সমস্যা হয়েছে বলে সন্দেহ করলে, Apigee সহায়তা টিমের সাথে যোগাযোগ করুন।
উদাহরণ ১: ব্যাকএন্ড সার্ভারে সমস্যার কারণে পরিষেবা কলআউট নীতি লঙ্ঘন
ব্যাকএন্ড সার্ভারে কল করার সময়, পরিষেবা কলআউট নীতির মধ্যে কোনও সমস্যা হলে, যেমন 4XX বা 5XX, তাহলে এটিকে 500 ইন্টার্নাল সার্ভার সমস্যা হিসেবে গণ্য করা হবে।
- এখানে একটি উদাহরণ দেওয়া হল যেখানে সার্ভিস
কলআউট নীতির মধ্যে ব্যাকএন্ড পরিষেবা 404 সমস্যার কারণে কাজ করতে পারে না। ব্যবহারকারীকে নিম্নলিখিত সমস্যার মেসেজ পাঠানো হয়:
{ "fault": { "detail": { "errorcode":"steps.servicecallout.ExecutionFailed" },"faultstring":"Execution of ServiceCallout service_callout_v3_store_by_lat_lon failed. Reason: ResponseCode 404 is treated as error" } } } - নিচের ট্রেস UI সেশনে, Service-এ সমস্যার কারণে 500 স্ট্যাটাস কোড দেখানো হয়েছে
কলআউট নীতি:

- এই উদাহরণে, "error" প্রপার্টিতে সার্ভিস কলআউট নীতি ফেল করার কারণ হিসেবে "ResponseCode 404-কে সমস্যা হিসেবে বিবেচনা করা হয়" লেখা আছে। এই সমস্যাটি হতে পারে যদি সার্ভিস কলআউট নীতিতে ব্যাকএন্ড সার্ভার URL-এর মাধ্যমে অ্যাক্সেস করা রিসোর্স উপলভ্য না থাকে।
- ব্যাকএন্ড সার্ভারে রিসোর্স উপলভ্য আছে কিনা তা চেক করুন। এটি সাময়িকভাবে/স্থায়ীভাবে উপলভ্য নাও থাকতে পারে অথবা এটি অন্য কোনও লোকেশনে সরানো হয়ে থাকতে পারে।
উদাহরণ ১ রেজোলিউশন
- ব্যাকএন্ড সার্ভারে রিসোর্স উপলভ্য আছে কিনা তা চেক করুন। এটি সাময়িকভাবে/স্থায়ীভাবে উপলভ্য নাও থাকতে পারে অথবা এটি অন্য কোনও লোকেশনে সরানো হয়ে থাকতে পারে।
- বৈধ ও আগে থেকে থাকা রিসোর্সের দিকে পয়েন্ট করার জন্য, পরিষেবা কলআউট নীতিতে ব্যাকএন্ড সার্ভার URL সংক্রান্ত সমস্যার সমাধান করুন।
- রিসোর্সটি যদি শুধুমাত্র সাময়িকভাবে উপলভ্য না থাকে, তাহলে রিসোর্সটি উপলভ্য হওয়ার পরে API অনুরোধ করার চেষ্টা করুন।
উদাহরণ ২: ভেরিয়েবেল এক্সট্র্যাক্ট করার নীতিতে ব্যর্থতা
এখন, আসুন আরেকটি উদাহরণ দেখি, যেখানে Extract Variables নীতিতে সমস্যার কারণে 500 Internal Server Error হয়েছে এবং কীভাবে সমস্যার সমাধান করতে হয় তা দেখি।
- UI সেশনে নিম্নলিখিত ট্রেস থেকে দেখা যাচ্ছে যে Extract
Variables নীতিতে সমস্যার কারণে ৫০০ স্ট্যাটাস কোড দেখানো হয়েছে:

- যে Extract Variables নীতি কাজ করছে না সেটি বেছে নিন, স্ক্রল করে নিচে যান এবং আরও বিবরণের জন্য "সমস্যা
কন্টেন্ট" বিভাগ দেখুন:

- সমস্যার কন্টেন্ট থেকে বোঝা যায় যে Extract Variables নীতিতে"serviceCallout.oamCookieValidationResponse" ভেরিয়েবেল উপলভ্য নেই। ভেরিয়েবলের নাম থেকে বোঝা যাচ্ছে যে, এটিতে আগের সার্ভিস কলআউট নীতির উত্তর থাকতে হবে।
- ট্রেস থেকে 'পরিষেবা কলআউট' নীতি বেছে নিন এবং আপনি হয়ত দেখতে পাবেন যে "serviceCallout.oamCookieValidationResponse" ভেরিয়েবল সেট করা হয়নি। এর থেকে বোঝা যায় যে ব্যাকএন্ড পরিষেবায় কল করা যায়নি, যার ফলে খালি উত্তর ভেরিয়েবল পাওয়া গেছে।
- যদিও সার্ভিস কলআউট নীতি ব্যর্থ হয়েছে, তবে সার্ভিস কলআউট নীতি
সম্পর্কিত নীতিগুলির প্রয়োগ চালিয়ে যাওয়া হয়েছে কারণ সার্ভিস কলআউট নীতিতে "continueOnError" ফ্ল্যাগটি
true হিসেবে সেট করা আছে, যেমন নিচে দেখানো হয়েছে:
<ServiceCallout async="false" continueOnError="true" enabled="true" name="Callout.OamCookieValidation"> <DisplayName>Callout.OamCookieValidation</DisplayName> <Properties /> <Request clearPayload="true" variable="serviceCallout.oamCookieValidationRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request> <Response>serviceCallout.oamCookieValidationResponse</Response> <HTTPTargetConnection> <Properties /> <URL>http://{Url}</URL> </HTTPTargetConnection> </ServiceCallout>
- এই নির্দিষ্ট API-এর জন্য ট্রেস থেকে অনন্য মেসেজ আইডি "X-Apigee.Message-ID"
অনুরোধটি নোট করুন, যেমনটি নিচে দেখানো হয়েছে:
- অনুরোধ থেকে "Analytics ডেটা রেকর্ড করা হয়েছে" ফেজ বেছে নিন।
- নিচের দিকে স্ক্রল করে X-Apigee.Message-ID-এর ভ্যালু নোট করুন।

- Message Processor লগ দেখুন
(
/opt/apigee/var/log/edge-message-processor/system.log) এবং #৬ ধাপে নোট করা অনন্য মেসেজ আইডি খুঁজুন। নির্দিষ্ট API অনুরোধের জন্য নিম্নলিখিত সমস্যার মেসেজ দেখা গেছে:2017-05-05 07:48:18,653 org:myorg env:prod api:myapi rev:834 messageid:rrt-04984fed9e5ad3551-c-wo-32168-77563 NIOThread@5 ERROR HTTP.CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[C:]@149081 useCount=1 bytesRead=0 bytesWritten=0 age=3002ms lastIO=3002ms .onConnectTimeout connectAddress=mybackend.domain.com/XX.XX.XX.XX:443 resolvedAddress=mybackend.domain.com/XX.XX.XX.XX
উপরের সমস্যাটি থেকে বোঝা যায় যে ব্যাকএন্ড সার্ভারের সাথে কানেক্ট করার সময় কানেকশন টাইম-আউট হয়ে যাওয়ার কারণে সার্ভিস কলআউট নীতি কাজ করেনি।
- কানেকশন টাইম-আউট সমস্যার কারণ নির্ধারণ করতে, মেসেজ প্রসেসর থেকে ব্যাকএন্ড সার্ভারে
টেলনেট কমান্ড চালানো হয়েছে। telnet
কমান্ডটি নিচে দেখানো "কানেকশনের সময় শেষ হয়ে গেছে" লেখা এরর মেসেজ দিয়েছে:
telnet mybackend.domain.com 443 Trying XX.XX.XX.XX... telnet: connect to address XX.XX.XX.XX: Connection timed out
সাধারণত, নিম্নলিখিত পরিস্থিতিতে এই সমস্যা দেখা যায়:
- ব্যাকএন্ড সার্ভার Edge Message প্রসেসর থেকে ট্রাফিক গ্রহণ করার জন্য কনফিগার করা না থাকলে।
- নির্দিষ্ট পোর্টে ব্যাকএন্ড সার্ভার না শুনলে।
উপরের উদাহরণে, যদিও Extract Variables নীতি কাজ করেনি, আসল কারণ হল Edge, Service Callout নীতিতে ব্যাকএন্ড সার্ভারের সাথে কানেক্ট করতে পারেনি। এর কারণ হল, ব্যাকএন্ড সার্ভার Edge Message Processors থেকে আসা ট্রাফিককে অনুমতি দেওয়ার জন্য কনফিগার করা হয়নি।
আপনার নিজস্ব এক্সট্র্যাক্ট ভেরিয়েবল নীতি আলাদাভাবে কাজ করবে এবং অন্য কোনও কারণে সেটি কাজ নাও করতে পারে। কারণ। সমস্যা প্রপার্টিতে মেসেজ চেক করে, আপনার এক্সট্র্যাক্ট ভেরিয়েবল নীতি প্রয়োগ করতে না পারার কারণ অনুযায়ী আপনি যথাযথভাবে সমস্যার সমাধান করতে পারবেন।
উদাহরণ ২ রেজোলিউশন
- Extract Variables নীতিতে হওয়া ত্রুটি বা ব্যর্থতার কারণ যথাযথভাবে সমাধান করুন।
- উপরের উদাহরণে, Edge Message Processors থেকে আপনার ব্যাকএন্ড সার্ভারে ট্রাফিক পাঠানোর অনুমতি দেওয়ার জন্য নেটওয়ার্ক কনফিগারেশন সংশোধন করা হয়েছে। এটি করা হয়েছে নির্দিষ্ট ব্যাক-এন্ড সার্ভারে মেসেজ প্রসেসরের IP অ্যাড্রেস হোয়াইটলিস্ট করে। যেমন, Linux-এ, আপনি ব্যাকএন্ড সার্ভারে মেসেজ প্রসেসরের IP অ্যাড্রেস থেকে ট্রাফিককে অনুমতি দিতে iptables ব্যবহার করতে পারেন।
উদাহরণ ৩: JavaCallout নীতিতে সমস্যা
আসুন এখন আরও একটি উদাহরণ দেখি, যেখানে Java Callout নীতিতে সমস্যার কারণে 500 Internal Server Error হয়েছে এবং কীভাবে সমস্যার সমাধান করতে হয় তা দেখি।
- Java কলআউট নীতিতে সমস্যার কারণে নিম্নলিখিত UI ট্রেসে ৫০০ স্ট্যাটাস কোড দেখানো হয়েছে:

- নিচের ছবিতে দেখানো ত্রুটির বিবরণ পেতে, "ত্রুটি" নামের ফ্লো বেছে নিন, তারপরে ব্যর্থ Java কলআউট নীতি
বেছে নিন:

- এই উদাহরণে, প্রপার্টি বিভাগের অধীনে "error" প্রপার্টি থেকে জানা যায় যে JavaCallout নীতির মধ্যে থেকে Oracle Database-এর সাথে কানেক্ট করার সময় মেয়াদ শেষ হয়ে যাওয়া পাসওয়ার্ড ব্যবহার করার ফলে এই সমস্যা হয়েছে। আপনার নিজস্ব জাভা কলআউট আলাদাভাবে আচরণ করবে এবং সমস্যা প্রপার্টিতে আলাদা মেসেজ পপুলেট করবে।
- JavaCallout নীতি কোড চেক করুন এবং সঠিক কনফিগারেশন নিশ্চিত করুন যা ব্যবহার করতে হবে।
উদাহরণ ৩ রেজোলিউশন
রানটাইম ব্যতিক্রম এড়াতে Java কলআউট কোড বা কনফিগারেশন যথাযথভাবে ঠিক করুন। উপরে Java কলআউট ব্যর্থতার যে উদাহরণ দেওয়া হয়েছে, সেটিতে সমস্যা সমাধানের জন্য Oracle ডেটাবেসে কানেক্ট করার সময় সঠিক পাসওয়ার্ড ব্যবহার করতে হবে।
ব্যাকএন্ড সার্ভারে সমস্যা
500 ইন্টার্নাল সার্ভার সমস্যার কারণ ব্যাকএন্ড সার্ভারও হতে পারে। ব্যাকএন্ড সার্ভার থেকে সমস্যা হলে কীভাবে তা সমাধান করতে হবে তা এই বিভাগে ব্যাখ্যা করা হয়েছে।
ডায়াগনসিস
সব ব্যবহারকারীর জন্য ডায়াগনস্টিক ধাপ
অন্যান্য ব্যাকএন্ড সমস্যার কারণ অনেক বেশি মাত্রায় আলাদা হতে পারে। আপনাকে প্রতিটি পরিস্থিতি আলাদাভাবে ডায়াগনসিস করতে হবে।
- যাচাই করে দেখুন যে ব্যাকএন্ড সার্ভারের কারণে সমস্যা হয়েছে কিনা। আরও বিবরণের জন্য সমস্যার উৎস নির্ধারণ করা দেখুন।
- ব্যাকএন্ড সার্ভারের কারণে সমস্যা হয়ে থাকলে, চালিয়ে যান। নীতি প্রয়োগ করার সময় সমস্যা হলে, Edge নীতিতে প্রয়োগ সংক্রান্ত সমস্যালিঙ্কে যান।
- ব্যর্থ API-এর জন্য আপনার কাছে Trace সেশন অ্যাক্সেস আছে কিনা অথবা ব্যাকএন্ড Node.js সার্ভার কিনা তার উপর নির্ভর করে নিচের ধাপগুলি অনুসরণ করুন:
API কল ব্যর্থ হলে আপনার কাছে কোনও ট্রেস সেশন না থাকলে:
- অনুরোধটি সম্পূর্ণ না হওয়ার জন্য UI ট্রেস উপলভ্য না থাকলে, সমস্যার বিবরণ পেতে ব্যাকএন্ড সার্ভার লগ চেক করুন।
- সম্ভব হলে, ব্যাকএন্ড সার্ভারে ডিবাগ মোড চালু করুন যাতে সমস্যা ও তার কারণ সম্পর্কে আরও বিস্তারিত তথ্য পাওয়া যায়।
আপনার কাছে যদি ব্যর্থ API কলের জন্য কোনও ট্রেস সেশন থাকে:
আপনার কাছে Trace সেশন থাকলে, নিম্নলিখিত ধাপগুলি আপনাকে সমস্যা নির্ণয় করতে সাহায্য করবে।
- ট্রেস টুলে, 500 ইন্টার্নাল সার্ভার সমস্যা সহ ব্যর্থ হওয়া API অনুরোধটি বেছে নিন।
- নিচে দেখানো ছবি অনুযায়ী, ব্যর্থ হওয়া
API অনুরোধ থেকে "টার্গেট সার্ভার থেকে পাওয়া উত্তর" ফেজ বেছে নিন:

- সমস্যার বিবরণ পেতে "উত্তর কন্টেন্ট" বিভাগ চেক করুন।

- এই উদাহরণে, SOAP এনভেলপ হিসেবে উত্তর কন্টেন্ট, ফল্ট স্ট্রিং হিসেবে "অননুমোদিত নয়" মেসেজ। দেখায়। এই সমস্যার সবচেয়ে সম্ভাব্য কারণ হল ব্যবহারকারী ব্যাকএন্ড সার্ভারে সঠিক ক্রেডেনশিয়াল (ইউজারনেম/পাসওয়ার্ড, অ্যাক্সেস টোকেন ইত্যাদি) প্রদান করেননি। ব্যাকএন্ড সার্ভারে সঠিক ক্রেডেনশিয়াল পাস করে এই সমস্যার সমাধান করা যেতে পারে।
ব্যাক-এন্ড Node.js সার্ভার হলে:
- ব্যাকএন্ড Node.js ব্যাকএন্ড সার্ভার হলে, Edge UI-তে নির্দিষ্ট API প্রক্সির জন্য Node.js লগ চেক করুন (পাবলিক ও প্রাইভেট ক্লাউড ব্যবহারকারী, দু'জনেই
Node.js লগ চেক করতে পারবেন)। আপনি Edge Private Cloud ব্যবহারকারী হলে, আপনি
সমস্যার ব্যাপারে আরও বিবরণ পেতে
আপনার মেসেজ প্রসেসর লগও চেক করতে পারেন
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)।
Edge UI-তে NodeJS লগ বিকল্প - API প্রক্সির ওভারভিউ ট্যাব

সমাধান
- সমস্যার কারণ শনাক্ত করার পরে, আপনার ব্যাকএন্ড সার্ভারে সমস্যাটি সমাধান করুন।
- এটি Node.js ব্যাকএন্ড সার্ভার হলে:
- আপনার কাস্টম কোড থেকে কোনও সমস্যা হয়েছে কিনা তা চেক করুন এবং সম্ভব হলে সমস্যাটি সমাধান করুন।
- আপনার কাস্টম কোড থেকে সমস্যাটি না হয়ে থাকলে অথবা আপনার সাহায্যের প্রয়োজন হলে, Apigee সহায়তা টিমের সাথে যোগাযোগ করুন।
500 ইন্টার্নাল সার্ভার ত্রুটি সমাধান করার ব্যাপারে আপনার আরও সাহায্যের প্রয়োজন হলে অথবা Edge-এর মধ্যে কোনও সমস্যা হয়েছে বলে সন্দেহ করলে, Apigee সহায়তা টিমের সাথে যোগাযোগ করুন।
সমস্যার উৎস নির্ধারণ করা
API প্রক্সি বা ব্যাকএন্ড সার্ভারের মধ্যে কোনও নীতি প্রয়োগ করার সময় 500 ইন্টার্নাল সার্ভার সমস্যা হয়েছে কিনা তা নির্ধারণ করতে নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করুন।
UI-তে Trace ব্যবহার করা
মনে রাখবেন: এই বিভাগে উল্লেখ করা ধাপগুলি পাবলিক ও প্রাইভেট ক্লাউড ব্যবহারকারী, দু'জনেই সম্পূর্ণ করতে পারবেন।
- সমস্যাটি এখনও থাকলে, প্রভাবিত API-এর জন্য UI-তে ট্রেস চালু করুন।
- ট্রেস ক্যাপচার করা হয়ে গেলে, এমন API অনুরোধ বেছে নিন যেখানে রেসপন্স কোড হিসেবে ৫০০ দেখানো হচ্ছে।
- API অনুরোধ ব্যর্থ হওয়ার সবকটি ফেজ ঘুরে দেখুন এবং কোন ফেজে
500 ইন্টার্নাল সার্ভার এরর দেখা যাচ্ছে তা চেক করুন:
- নীতি প্রয়োগ করার সময় কোনও সমস্যা হলে, Edge নীতিতে প্রয়োগ সংক্রান্ত সমস্যা লিঙ্কে যান।
- ব্যাকএন্ড সার্ভার 500 ইন্টার্নাল সার্ভার কোড দিয়ে উত্তর দিলে, ব্যাকএন্ড সার্ভারে সমস্যা লিঙ্কে যান।
API মনিটরিং ব্যবহার করা
মনে রাখবেন: এই বিভাগের ধাপগুলি শুধুমাত্র পাবলিক ক্লাউড ব্যবহারকারীরাই সম্পূর্ণ করতে পারবেন।
API মনিটরিং আপনাকে দ্রুত সমস্যার ক্ষেত্রগুলি আলাদা করতে সাহায্য করে যাতে আপনি সমস্যা, পারফর্ম্যান্স ও লেটেন্সি সংক্রান্ত সমস্যা এবং সেগুলির সোর্স ডায়াগনসিস করতে পারেন, যেমন ডেভেলপার অ্যাপ, API প্রক্সি, ব্যাকএন্ড টার্গেট বা API প্ল্যাটফর্ম।
API মনিটরিং ব্যবহার করে আপনার API-তে 5xx সমস্যা কীভাবে সমাধান করবেন তা ডেমোনস্ট্রেট করে এমন একটি নমুনা পরিস্থিতি দেখুন।
যেমন, আপনি এমন একটি সতর্কতা সেট-আপ করতে পারেন যাতে ৫০০ স্ট্যাটাস কোড বা steps.servicecallout.ExecutionFailed সংক্রান্ত সমস্যার সংখ্যা একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করলে আপনাকে বিজ্ঞপ্তি পাঠানো হয়।
NGINX অ্যাক্সেস লগ ব্যবহার করা
মনে রাখবেন: এই বিভাগে উল্লিখিত ধাপগুলি শুধুমাত্র Edge Private Cloud ব্যবহারকারীদের জন্য।
এছাড়াও, API প্রক্সি বা ব্যাকএন্ড সার্ভারের মধ্যে কোনও নীতি কার্যকর করার সময় 500 স্ট্যাটাস কোডটি থ্রো করা হয়েছিল কিনা তা নির্ধারণ করতে আপনি NGINX অ্যাক্সেস লগ দেখতে পারেন। অতীতে সমস্যা হয়ে থাকলে অথবা সমস্যাটি মাঝে মাঝে হলে এবং আপনি UI-তে ট্রেস ক্যাপচার করতে না পারলে এটি বিশেষভাবে উপযোগী। NGINX অ্যাক্সেস লগ থেকে এই তথ্য নির্ধারণ করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- NGINX অ্যাক্সেস লগ (
/opt/apigee/var/log/edge-router/nginx/ <org>~ <env>.<port#>_access_log) চেক করুন। - নির্দিষ্ট API প্রক্সির জন্য নির্দিষ্ট সময়সীমার মধ্যে কোনও 500 Error আছে কিনা তা সার্চ করুন।
- 500 Error থাকলে, সেটি নীতি সংক্রান্ত সমস্যা নাকি টার্গেট সার্ভার সংক্রান্ত সমস্যা তা চেক করুন,
নিচে দেখানো হয়েছে:
নীতি সংক্রান্ত সমস্যা দেখানো এন্ট্রি

টার্গেট সার্ভার সংক্রান্ত সমস্যা দেখানো স্যাম্পেল এন্ট্রি

- এটি নীতি সংক্রান্ত সমস্যা নাকি টার্গেট সার্ভার সংক্রান্ত সমস্যা তা শনাক্ত করার পরে:
- এটি নীতি সংক্রান্ত সমস্যা হলে, Edge নীতিতে এক্সিকিউশন সংক্রান্ত সমস্যা বিভাগে যান।
- এটি টার্গেট সার্ভার সংক্রান্ত সমস্যা হলে ব্যাকএন্ড সার্ভারে সমস্যা লিঙ্কে যান।