সময়সীমার ত্রুটি

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

উপসর্গ

এজ UI বা ম্যানেজমেন্ট API এর মাধ্যমে API প্রক্সি রিভিশনের স্থাপনা একটি টাইমআউট ত্রুটির সাথে ব্যর্থ হয়।

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

Click to change deployment status. 
The revision is deployed and traffic can flow, but flow may be impaired. 
Error: Call timed out; either server is down or server is not reachable

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

এই সমস্যার জন্য সাধারণ কারণগুলি হল:

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

নেটওয়ার্ক সংযোগ সমস্যা

দ্রষ্টব্য: শুধুমাত্র এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে পারেন৷ আপনি যদি এজ পাবলিক ক্লাউডে থাকেন, Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন।

রোগ নির্ণয়

  1. নিম্নলিখিত ব্যবস্থাপনা API কল ব্যবহার করে ত্রুটি দেখায় নির্দিষ্ট API-এর জন্য স্থাপনার স্থিতি পান:
    curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>

    নমুনা আউটপুট ত্রুটি দেখাচ্ছে:

    { 
                    "error": "Call timed out; either server is down or server is not reachable", 
                    "status": "error", 
                    "type": [ 
                    "message-processor" 
                    ], 
                    "uUID": "ebbc1078-cbde-4a00-a7db-66a3c1b2b748" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "message-processor" 
                    ], 
                    "uUID": "204e2b7e-52f7-46d9-b458-20f9bfb51e6d" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "router" 
                    ], 
                    "uUID": "967e63c6-ee95-47c0-9608-f4a32638fb1e" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "router" 
                    ], 
                    "state" : "error"
                    } 

    উপরের নমুনা আউটপুট দেখায় যে UUID " ebbc1078-cbde-4a00-a7db-66a3c1b2b748 " থাকা বার্তা প্রসেসরগুলির একটিতে ত্রুটি ঘটেছে৷

  2. আপনার API প্রক্সির জন্য ডিপ্লয়মেন্ট স্ট্যাটাস আউটপুটের উপর ভিত্তি করে, সংশ্লিষ্ট UUID দিয়ে প্রতিটি বার্তা প্রসেসরে লগইন করুন যা ত্রুটি দেখায় এবং নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
    1. 4528 পোর্টে মেসেজ প্রসেসর শুনছে কিনা তা পরীক্ষা করুন:
      netstat -an | grep LISTEN | grep 4528

      যদি মেসেজ প্রসেসর পোর্ট 4528 এ শুনছে না, তাহলে মেসেজ প্রসেসর রিস্টার্ট করুন:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    2. উপরে ধাপ #1 এ দেখানো ব্যবস্থাপনা API কল ব্যবহার করে API প্রক্সির স্থাপনার স্থিতি পুনরায় পরীক্ষা করুন। যদি কোনও ত্রুটি না থাকে তবে এটি নির্দেশ করে যে সমস্যাটি সমাধান করা হয়েছে।
  3. সমস্যাটি অব্যাহত থাকলে, নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে পোর্ট 4528-এ ম্যানেজমেন্ট সার্ভার থেকে বার্তা প্রসেসরের সংযোগ পরীক্ষা করুন:
    1. যদি টেলনেট পাওয়া যায়, তাহলে টেলনেট ব্যবহার করুন:
      telnet <MessageProcessor_IP> 4528
    2. যদি টেলনেট উপলভ্য না থাকে, তাহলে নেটক্যাট ব্যবহার করে কানেক্টিভিটি চেক করুন:
      nc -vz <MessageProcessor_IP> 4528
    3. আপনি যদি "সংযোগ প্রত্যাখ্যান" বা "সংযোগের সময় শেষ" প্রতিক্রিয়া পান, তাহলে আপনার নেটওয়ার্ক অপারেশন টিমকে নিযুক্ত করুন।
  4. নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে পোর্ট 4526-এ বার্তা প্রসেসর থেকে ম্যানেজমেন্ট সার্ভারে সংযোগ পরীক্ষা করুন:
    1. যদি টেলনেট পাওয়া যায়, তাহলে টেলনেট ব্যবহার করুন:
      telnet <management-server-IP> 4526
    2. যদি টেলনেট উপলভ্য না থাকে, তাহলে নেটক্যাট ব্যবহার করে কানেক্টিভিটি চেক করুন:
      nc -vz <management-server-IP> 4526 
    3. আপনি যদি "সংযোগ প্রত্যাখ্যান" বা "সংযোগের সময় শেষ" প্রতিক্রিয়া পান তবে আপনার নেটওয়ার্ক অপারেশন টিমকে নিযুক্ত করুন।
  5. আপনার নেটওয়ার্ক অপারেশন টিমের সাথে কাজ করুন এবং নিম্নলিখিতগুলি করুন:
    1. ম্যানেজমেন্ট সার্ভার এবং মেসেজ প্রসেসর উভয় ক্ষেত্রেই RPC প্রোটোকল অনুমোদিত কিনা তা নিশ্চিত করুন।
    2. ম্যানেজমেন্ট সার্ভারে পোর্ট 4526 এবং পোর্ট 4528-এ ম্যানেজমেন্ট সার্ভার থেকে মেসেজ প্রসেসরে সংযোগের অনুমতি দেওয়ার জন্য ম্যানেজমেন্ট সার্ভার এবং মেসেজ প্রসেসরের মধ্যে যেকোন ফায়ারওয়াল সীমাবদ্ধতা বা নিরাপত্তা নিয়ম সেটআপ সরিয়ে দিন।
  6. স্থাপনার স্থিতি পুনরায় পরীক্ষা করুন (উপরে ধাপ #1 পড়ুন)। আপনি যদি কোনো ত্রুটি দেখতে না পান, তাহলে এটি নির্দেশ করে যে ত্রুটিটি সমাধান করা হয়েছে।
  7. সমস্যাটি অব্যাহত থাকলে, বার্তা প্রসেসরে নেটওয়ার্ক সমস্যা আছে কিনা তা পরীক্ষা করুন। যদি কোনও নেটওয়ার্ক সমস্যা থাকে, নির্দিষ্ট বার্তা প্রসেসরটি পুনরায় চালু করা যা টাইমআউট ত্রুটি দেখায় (ডিপ্লয়মেন্ট স্ট্যাটাস আউটপুট অনুযায়ী) সমস্যাটি সমাধান করতে পারে:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  8. যদি সমস্যাটি এখনও থেকে যায়, তাহলে ম্যানেজমেন্ট সার্ভার লগগুলি এখানে চেক করুন: ( /opt/apigee/var/log/edge-management-server/logs/system.log )।

    ম্যানেজমেন্ট সার্ভার লগ থেকে নমুনা কল টাইম আউট ত্রুটি

    2016-05-17 09:29:56,448 org:myorg env:prod qtp281969267-360792 ERROR DISTRIBUTION - RemoteServicesConfigEventHandler.configureServers() : exception for server with uuid e1381db7-d83b-4752-ae04-2de33f07e555 : cause = RPC Error 504: Call timed out communication error = true 
            com.apigee.rpc.RPCException: Call timed out 
            at com.apigee.rpc.impl.AbstractCallerImpl.handleTimeout(AbstractCallerImpl.java:64) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.handleTimeout(RPCMachineImpl.java:483) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.access$000(RPCMachineImpl.java:402) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall$1.run(RPCMachineImpl.java:437) ~[rpc-1.0.0.jar:na] 
            at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:532) ~[netty-all-4.0.0.CR1.jar:na] 
            at io.netty.util.HashedWheelTimer$Worker.notifyExpiredTimeouts(HashedWheelTimer.java:430) ~[netty-all-4.0.0.CR1.jar:na] 
            at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:371) ~[netty-all-4.0.0.CR1.jar:na] 
            at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_79] 
            

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

রেজোলিউশন

দ্রষ্টব্য: শুধুমাত্র এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে পারেন৷ আপনি যদি এজ পাবলিক ক্লাউডে থাকেন, Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন।

  1. RPC সময়সীমা বাড়ানোর জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
    1. ফাইলটি তৈরি করুন /opt/apigee/customer/application/management-server.properties ম্যানেজমেন্ট সার্ভার মেশিন, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।
    2. এই ফাইলে নিম্নলিখিত লাইন যোগ করুন:
      conf_cluster_rpc.connect.timeout=<time in seconds>

      ডিফল্ট RPC টাইমআউট মান হল 10 এবং এটিকে 40 সেকেন্ডে বাড়ানোর সুপারিশ করা হয়। এটি নিম্নরূপ সেট করুন:

      conf_cluster_rpc.connect.timeout=40
    3. নিশ্চিত করুন যে এই ফাইলটি apigee-এর মালিকানাধীন:
      chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    4. ম্যানেজমেন্ট সার্ভার পুনরায় চালু করুন:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    5. আপনার যদি একাধিক ম্যানেজমেন্ট সার্ভার থাকে তবে সমস্ত ম্যানেজমেন্ট সার্ভারে উপরের ধাপগুলি পুনরাবৃত্তি করুন।
    6. এজ UI এ বা এজ ম্যানেজমেন্ট API কল ব্যবহার করে API প্রক্সি স্থাপন করুন। যদি API প্রক্সি কোনো সমস্যা ছাড়াই স্থাপন করা হয়, তাহলে এটি নির্দেশ করে যে সমস্যাটি সমাধান করা হয়েছে।
  2. যদি সমস্যাটি থেকে যায়, তাহলে ম্যানেজমেন্ট সার্ভার এবং মেসেজ প্রসেসর থেকে tcpdump কমান্ড সংগ্রহ করুন। প্রতিটি সার্ভারে tcpdump কমান্ড সক্রিয় করুন এবং তারপর UI থেকে বা ব্যবস্থাপনা API ব্যবহার করে API প্রক্সি স্থাপন শুরু করুন:
    1. ম্যানেজমেন্ট সার্ভার থেকে নীচের tcpdump কমান্ডটি চালান:
      tcpdump -i any -s 0 host <message-processor-IP address> -w <File name>
    2. বার্তা প্রসেসর থেকে নীচের tcpdump কমান্ডটি চালান:
      tcpdump -i any -s 0 host <management-server-IP address> -w <File name>
    3. tcpdumps বিশ্লেষণে সহায়তা পেতে এবং সমস্যাটির আরও সমস্যা সমাধানের জন্য Apigee Edge সহায়তার সাথে যোগাযোগ করুন।

বড় API প্রক্সি বান্ডেল

রোগ নির্ণয়

  1. API প্রক্সি বান্ডেলের আকার পরীক্ষা করুন যার জন্য স্থাপনার ত্রুটি পরিলক্ষিত হচ্ছে।
  2. যদি আকারটি যুক্তিসঙ্গতভাবে বড় হয় (10MB বা তার বেশি), তাহলে খুব সম্ভবত বার্তা প্রসেসরের API প্রক্সি সক্রিয় করতে আরও সময় লাগতে পারে।
  3. যদি API প্রক্সি বান্ডেলের আকার 15 MB-এর বেশি হয়, তাহলে 15MB-এর থেকে বড় API প্রক্সি বান্ডেল- এ যান৷

রেজোলিউশন

দ্রষ্টব্য: শুধুমাত্র এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে পারেন৷ আপনি যদি এজ পাবলিক ক্লাউডে থাকেন, Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন।

ম্যানেজমেন্ট সার্ভারে RPC টাইমআউট বাড়ান যাতে বার্তা প্রসেসরের কাছে বড় এপিআই প্রক্সি বান্ডেলগুলি সক্রিয় করার জন্য যথেষ্ট সময় থাকে। RPC সময়সীমার মান বাড়াতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. ম্যানেজমেন্ট সার্ভার মেশিনে /opt/apigee/customer/application/management-server.properties ফাইলটি তৈরি করুন, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।
  2. এই ফাইলে নিম্নলিখিত লাইন যোগ করুন:
    conf_cluster_rpc.connect.timeout=<time in seconds>

    ডিফল্ট RPC টাইমআউট মান হল 10 এবং এটিকে 40 সেকেন্ডে বাড়ানোর সুপারিশ করা হয়। এটি নিম্নরূপ সেট করুন:

    conf_cluster_rpc.connect.timeout=40
  3. নিশ্চিত করুন যে এই ফাইলটি apigee-এর মালিকানাধীন:
    chown apigee:apigee /opt/apigee/customer/application/management-server.properties
  4. ম্যানেজমেন্ট সার্ভার পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. আপনার যদি একাধিক ম্যানেজমেন্ট সার্ভার থাকে তবে সমস্ত ম্যানেজমেন্ট সার্ভারে উপরের ধাপগুলি পুনরাবৃত্তি করুন।

সমস্যাটি অব্যাহত থাকলে, আরও সহায়তার জন্য Apigee Edge সহায়তার সাথে যোগাযোগ করুন।