খারাপ কনফিগার ফাইল

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

লক্ষণ

Edge রাউটারটি NGINX ব্যবহার করে তৈরি করা হয়। Edge আপগ্রেড করার সময়, অথবা রাউটারের কনফিগারেশন পরিবর্তন করার সময়, আপনি NGINX কনফিগারেশন ত্রুটি দেখতে পারেন। যখন এই ত্রুটিগুলো ঘটে, Edge সমস্যাটির জন্য দায়ী সমস্ত NGINX কনফিগারেশন ফাইলকে /opt/nginx/conf.d তে চিহ্নিত করে দেয়।

-rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad 
-rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf 
-rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf 
-rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad

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

আপনি কোনো ত্রুটির বার্তা দেখতে পাবেন না। তবে, ত্রুটিপূর্ণ কনফিগারেশন ফাইলের কারণে আপনি আপনার এপিআই প্রক্সিগুলো কার্যকর করতে সক্ষম নাও হতে পারেন।

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

সাধারণত NGINX কনফিগারেশন ফাইলগুলোকে ত্রুটিপূর্ণ হিসেবে চিহ্নিত করা হয়, কারণ হয় /opt/apigee/customer/application/router.properties ফাইলে NGINX প্রপার্টিগুলোতে ভুল মান সেট করা থাকে অথবা কোনো ভার্চুয়াল হোস্টে ভুল পরিবর্তন করা হয়।

রোগ নির্ণয়

  1. /opt/nginx/conf.d ডিরেক্টরিতে থাকা ফাইলগুলোর নাম থেকে .bad সাফিক্সটি সরিয়ে দিন, যাতে সেগুলোর শেষে .conf থাকে।
  1. ব্যর্থতার কারণ নির্ধারণ করতে NGINX configtest টুলটি চালান:
    /opt/nginx/scripts/apigee-nginx configtest

সমাধান

  1. যদি কনফিগারেশন টেস্টের মাধ্যমে ত্রুটিপূর্ণ কনফিগারেশন ফাইলগুলোর কারণ শনাক্ত হয়, তাহলে /opt/apigee/customer/application/router.properties ফাইল বা ভার্চুয়াল হোস্টের নির্দিষ্ট প্রপার্টিতে যথাযথ পরিবর্তন করে সমস্যাটি সমাধান করুন।
  1. /opt/nginx/conf.d ডিরেক্টরিটি মুছে ফেলুন:
    rm -rf /opt/nginx/conf.d
  1. রাউটারটি পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  1. /opt/nginx/conf.d ডিরেক্টরিতে আপনি আর কোনো ত্রুটিপূর্ণ কনফিগারেশন ফাইল দেখতে পাবেন না।

যদি সমস্যাটি অব্যাহত থাকে, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

NGINX কনফিগারেশন টেস্ট থেকে প্রাপ্ত তথ্যের উপর ভিত্তি করে সমস্যাটি কীভাবে সমাধান করা যায়, তার একটি উদাহরণ এখানে দেওয়া হলো।

উদাহরণ ১: NGINX প্রপার্টির জন্য ভুল মান সেট করা হয়েছে

  1. ধরা যাক, আপনি /opt/apigee/customer/application/router.properties ফাইলে “ proxy_busy_buffers_size ” প্রপার্টিটি 128K-তে আপডেট করেছেন, যেমনটি নিচে দেখানো হয়েছে:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k 

এর ফলে /opt/apigee/nginx/conf.d ডিরেক্টরিতে থাকা কনফিগারেশন ফাইলগুলো ত্রুটিপূর্ণ হিসেবে চিহ্নিত হয়েছে।

  1. ব্যর্থতার কারণ নির্ধারণ করতে NGINX configtest কমান্ডটি চালান:
    /opt/nginx/scripts/apigee-nginx configtest
    nginx: [emerg] "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47
    nginx: configuration file /opt/nginx/conf/nginx.conf test failed

কনফিগটেস্টের ফলাফল থেকে বোঝা যায় যে `proxy_busy_buffers_size` প্রপার্টির মান `proxy_buffer_size`-এর সমান বা তার চেয়ে বড় হওয়া উচিত, কিন্তু মনে হচ্ছে এটি একটি ভুল মান দিয়ে সেট করা হয়েছে।

  1. 0-default.conf ফাইলে proxy_buffer_size এবং proxy_busy_buffers_size প্রপার্টিগুলোর জন্য সেট করা মানগুলো যাচাই করুন:
    proxy_buffer_size 512k;
    proxy_busy_buffers_size 128k;
  1. /opt/apigee/customer/application/router.properties ফাইলে proxy_busy_buffers_size-এর মান 512K-তে আপডেট করুন:
    conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
  1. /opt/nginx/conf.d ফোল্ডারটি মুছে ফেলুন:
    rm -rf /opt/nginx/conf.d
  1. রাউটারটি পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

সমস্যাটি সমাধান করা হয়েছে এবং ত্রুটিপূর্ণ কনফিগারেশন ফাইলগুলো মুছে ফেলা হয়েছে।

উদাহরণ ২: প্রক্রিয়াটি NGINX আপগ্রেড করতে ব্যর্থ হয় (শুধুমাত্র প্রাইভেট ক্লাউড 18.01 এর ক্ষেত্রে)

ধরা যাক, আপনি configtest চালালেন এবং নিম্নলিখিত প্রতিক্রিয়াগুলো পেলেন:

/apigee-nginx configtest

 nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
 nginx: [emerg] zero size shared memory zone "perclient"
 nginx: configuration file /opt/nginx/conf/nginx.conf test failed

এই ব্যর্থতা নির্দেশ করে যে প্রক্রিয়াটি NGINX-কে 1.10.x থেকে 1.12.x-এ আপগ্রেড করতে ব্যর্থ হয়েছে। Edge Private Cloud-কে সংস্করণ 18.01-এ আপগ্রেড করার সাথে সম্পর্কিত একটি পরিচিত বাগ রয়েছে।

এই সমস্যাটি সঠিকভাবে নির্ণয় করতে (শুধুমাত্র যদি আপনি প্রাইভেট ক্লাউড 18.01 ব্যবহার করেন), নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:

rpm -aq | grep apigee-nginx

এই কমান্ডটি ইনস্টল করা rpm-এর সংস্করণ 1.12.x হিসেবে দেখাবে। যদি তা না হয়, তাহলে এই ধাপগুলো অনুসরণ করুন:

  1. এজ-রাউটার কম্পোনেন্টটি বন্ধ করুন।
  2. এজ-রাউটার কম্পোনেন্টটির ব্যাকআপ নিন।
  3. apigee-nginx 1.2.x-এ আপগ্রেড করতে এই কমান্ডটি চালান:
  4. sudo yum update apigee-nginx
  5. /opt/apigee/nginx/conf.d. অধীনে থাকা সমস্ত *.bad ফাইল মুছে ফেলুন।
  6. এজ-রাউটার কম্পোনেন্টটি পুনরায় চালু করুন।