আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
Apigee-তে, ডিফল্ট হিসেবে রাউটারগুলি শুধুমাত্র সমস্যার লগ ফাইলে সমস্যার মেসেজ লগ করার জন্য কনফিগার করা হয়। তবে, এমন অনেক পরিস্থিতি হতে পারে যেখানে কোনও নির্দিষ্ট সমস্যা কেন হয়েছে তা নির্ধারণ করতে আপনাকে আরও তথ্য সংগ্রহ করতে হতে পারে। এটি করার একটি উপায় হল, রাউটারকে ডিবাগ মোডে অপারেট করার জন্য কনফিগার করা যাতে আপনি ডিবাগ লগ পেতে পারেন, যা আপনাকে সমস্যা সম্পর্কে আরও তথ্য পেতে এবং এটি দ্রুত সমাধান করতে সাহায্য করতে পারে।
এই ডকুমেন্টে ব্যাখ্যা করা হয়েছে যে কীভাবে Apigee Edge-এর রাউটারে নির্দিষ্ট ভার্চুয়াল হোস্টের অনুরোধের জন্য ডিবাগ লগ চালু করতে হয়। কোনও সমস্যা হলে, যেমন, ভুল অনুরোধ, 400 ত্রুটিপূর্ণ অনুরোধ - SSL সার্টিফিকেট সংক্রান্ত সমস্যা, সেইসব সমস্যা সম্পর্কে আরও তথ্য ক্যাপচার করতে Northbound (ক্লায়েন্ট অ্যাপ্লিকেশন ও রাউটারের মধ্যে) ডিবাগ লগিং চালু করা যেতে পারে।
শুরু করার আগে
- আপনি যদি NGINX সমস্যার লগ ও লগিং লেভেল সম্পর্কে পরিচিত না হন, তাহলে NGINX সমস্যার লগ ডকুমেন্টেশন দেখুন।
- যেসব API অনুরোধের জন্য আপনাকে ডিবাগ তথ্য সংগ্রহ করতে হবে, সেগুলির সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্টের নাম সংগ্রহ করুন।
রাউটারে NGINX ডিবাগ লগ চালু করা
এই বিভাগে Edge রাউটারে কীভাবে ডিবাগ লগ চালু করতে হয় তা ব্যাখ্যা করা হয়েছে।
প্রাসঙ্গিক ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল শনাক্ত করা
রাউটারে কীভাবে প্রাসঙ্গিক ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল খুঁজে পাবেন তা নিম্নলিখিত ধাপগুলি থেকে জানতে পারবেন:
- আপনি যদি নির্দিষ্ট API
অনুরোধের জন্য সংস্থার নাম, এনভায়রনমেন্টের নাম এবং ভার্চুয়াল হোস্ট জানেন, যেটি আপনি ডিবাগ করতে চান, তাহলে
নিম্নলিখিত উপায়ে ভার্চুয়াল হোস্ট কনফ ফাইল নির্ধারণ করুন:
/opt/nginx/conf.d/ডিরেক্টরিতে নেভিগেট করুন।- নিম্নলিখিত কমান্ড ব্যবহার করে
conf.dডিরেক্টরিতে ফাইল ORG_NAME_ENV_NAME_VIRTUALHOST.confখুঁজুন:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
-
আপনি প্রতিষ্ঠানের নাম না জানলে, API অনুরোধে ব্যবহৃত হোস্টের ছদ্মনাম ব্যবহার করে ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল শনাক্ত করতে পারবেন, যেমন:
/opt/nginx/conf.d/ডিরেক্টরিতে নেভিগেট করুন এবংhostaliasসার্চ করুন, যার মাধ্যমে নিম্নলিখিত কমান্ড ব্যবহার করে অনুরোধ করা হয়েছে:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
স্যাম্পেল আউটপুট:
ধরা যাক, হোস্টের ছদ্মনাম হল
opdk.cert-test.com। আপনিls -ltrhকমান্ড রান করলে, নিচে দেখানো আউটপুট দেখতে পাবেন:
রাউটারে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য ডিবাগ লগিং চালু করা
নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য Apigee রাউটারে কীভাবে ডিবাগ লগ চালু করতে হয় তা নিম্নলিখিত ধাপগুলি থেকে জানুন।
- এডিটরে রাউটার মেশিনে নিম্নলিখিত ফাইলটি খুলুন:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. যেমন:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
- নিচের লাইনটি পরিবর্তন করুন:
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
এই পর্যন্ত
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
- আপনার করা পরিবর্তন সেভ করুন।
- NGINX রিলোড কমান্ড রান করুন। যেমন:
sudo /opt/nginx/scripts/apigee-nginx reload
- নিচে উল্লেখ করা ফাইলটি এখন ডিবাগ লগ ক্যাপচার করবে:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- আপনি যদি একাধিক রাউটারে ডিবাগ লগ ক্যাপচার করতে চান, তাহলে প্রতিটি রাউটারে এইসব ধাপ রিপিট করুন।
NGINX সমস্যার লগ ফাইলে যাচাই করা ডিবাগ তথ্য লগ করা হয়
-
ক্লায়েন্টরা ভার্চুয়াল হোস্ট কনফিগারেশনের সাথে যুক্ত হোস্ট অ্যালিয়াস ও পোর্টে API অনুরোধ করলে, নিম্নলিখিত ফাইলে ডিবাগ লগ ক্যাপচার করা হবে:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log -
নিচের উদাহরণে দেখানো API অনুরোধের জন্য আপনি ডিবাগ সংক্রান্ত তথ্য দেখতে পাচ্ছেন কিনা তা যাচাই করুন:
ডিবাগ তথ্য সম্পর্কিত নমুনা:
2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
ক্লায়েন্ট যখন একটি
POSTঅনুরোধের সাথে একটি বড় পেলোড পাঠায়, তখন উপরে দেখানো তথ্য ক্যাপচার করা হবে। ডিবাগ লগিং চালু করা থাকলে তবেই এই লগ দেখানো হবে। - আপনি যদি অতিরিক্ত ডিবাগ তথ্য দেখতে না পান, তাহলে আপনি রাউটারে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য ডিবাগ লগিং চালু করা লিঙ্কে উল্লেখ করা সমস্ত ধাপ সঠিকভাবে অনুসরণ করেছেন কিনা তা যাচাই করুন। আপনি কোনও ধাপ মিস করে থাকলে, সব ধাপ আবার সঠিকভাবে রিপিট করুন।
- আপনি এখনও ডিবাগ সংক্রান্ত তথ্য না পেলে, Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।
রাউটারে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য ডিবাগ লগ বন্ধ করা
এই বিভাগে, কীভাবে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য রাউটারে ডিবাগ লগ বন্ধ করতে হয় তা ব্যাখ্যা করা হয়েছে।
- রাউটার মেশিনে এডিটরে নিম্নলিখিত ফাইলটি খুলুন:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.confযেমন:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
-
নিচের লাইনটি পরিবর্তন করুন:
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
এই পর্যন্ত
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
- আপনার করা পরিবর্তন সেভ করুন।
- NGINX রিলোড কমান্ড রান করুন। যেমন:
/opt/nginx/scripts/apigee-nginx reload
- নিচে উল্লেখ করা ফাইলটি এখন শুধুমাত্র সমস্যা লগ ক্যাপচার করবে:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- আপনি যদি একাধিক রাউটারে ডিবাগ লগ বন্ধ করতে চান, তাহলে প্রতিটি রাউটারে এইসব ধাপগুলি পুনরাবৃত্তি করুন।
NGINX সমস্যার লগ ফাইলে শুধুমাত্র সমস্যার তথ্য যাচাই করা হয়
- নির্দিষ্ট ভার্চুয়াল হোস্ট কনফিগারেশনের সাথে যুক্ত হোস্টের ছদ্মনাম ও পোর্টে কিছু API অনুরোধ করুন অথবা ক্লায়েন্টদের অনুরোধ করার জন্য অপেক্ষা করুন।
- এই ফাইলটি চেক করুন:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log - যাচাই করে দেখুন যে আপনি শুধুমাত্র সমস্যার তথ্য দেখতে পাচ্ছেন এবং অনুরোধের জন্য ডিবাগ তথ্য আর লগ করা হচ্ছে না।
- আপনি যদি এখনও অতিরিক্ত ডিবাগ তথ্য লগ করা হচ্ছে বলে দেখতে পান, তাহলে আপনি যে রাউটারে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য ডিবাগ লগ বন্ধ করা সঠিকভাবে অনুসরণ করেছেন তা যাচাই করুন। আপনি কোনও ধাপ মিস করে থাকলে, সব ধাপ আবার সঠিকভাবে রিপিট করুন।
- আপনি এখনও ডিবাগ সংক্রান্ত তথ্য না পেলে, Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।