HAProxy স্বাস্থ্য পরীক্ষা: HTchk ব্যবহার করে এবং পর্যবেক্ষণ?


10

আমি নিম্নলিখিত ব্যাকএন্ড কনফিগারেশন সহ HAProxy 1.4.18 ব্যবহার করছি

backend staging
  option httpchk HEAD /check.txt HTTP/1.0
  http-check disable-on-404
  default-server error-limit 1 on-error mark-down
  server staging01 x.x.x.x:80 check observe layer7
  server staging02 x.x.x.x:80 check observe layer7

সার্ভারগুলি অ্যাপাচি / যাত্রীতে একাধিক অ্যাপ্লিকেশন চালাচ্ছে।

Httpchk এবং অক্ষম অন -440 এর সংমিশ্রণটি চমত্কারভাবে শাটডাউন করে এবং খুব সহজেই এলবি থেকে একটি সার্ভার অপসারণের অনুমতি দেয় যখন এখনও সরাসরি অ্যাক্সেস করতে সক্ষম হয়েছি (যেমন পরীক্ষার জন্য)।

আমি যখন কোনও অ্যাপ্লিকেশন কাজ করছে না তখন কোনও সার্ভার অক্ষম করার জন্য পর্যবেক্ষণ সেটআপ করার চেষ্টা করছি। আমি স্টেজিং02-এ অ্যাপ্লিকেশন কনফিগারেশনটি ভেঙে ফেলেছি যাতে এটি সর্বদা 500 টাকা ফেরত দেয় It's এটি প্রথম 500 এর পরে সঠিকভাবে নীচে চিহ্নিত হয়েছে তবে তারপরে পরবর্তী httpchk এ ইউপি চিহ্নিত করেছে।

লগ ফাইলটি এখানে:

Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 2 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 1 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is UP, reason: Layer7 check passed, code: 200, info: "OK", check duration: 0ms. 2 active and 1 backup servers online. 0 sessions requeued, 0 total in queue.

এই দুটি চেক একত্রিত করার উপায় আছে?


HAProxy অবশ্যই সমস্যা বলে নিশ্চিত হতে পারে, আপনি কি আপনার ব্যাকএন্ড অ্যাপাচি সার্ভার থেকে তিনটি মিলের লগ লাইনগুলি খুঁজে পেতে এবং সেগুলিকে আপনার প্রশ্নে যুক্ত করতে পারেন?
লাদাদাদাদা

অ্যাপাচি সার্ভারগুলির মধ্যে একটি উদ্দেশ্যমূলকভাবে ভুল কনফিগার করা হয়েছে যাতে এতে থাকা সমস্ত অ্যাপ্লিকেশন একটি 500 ত্রুটি কোড ফেরত দেয়। তবে আমি ফাইলটি সরিয়ে না দিলে /check.txt সর্বদা কাজ করে। আমি চাইছি অ্যাপাচি সার্ভারটি অক্ষম করা হোক যদি এটি চেক.এসটিএসটি ফাইলের পরেও থাকে তবে 500 ত্রুটি ফিরে আসে।
ouranos

উত্তর:


4

পার্থক্যটি আমি এখন বুঝতে পারি যে /check.txt আসলে 200 টি প্রতিক্রিয়া ফিরিয়ে দেয় তবে আবেদনের সমস্ত অনুরোধ 500 করে ফেরত দেয় H চেক করুন, একটি 200 গ্রহণ করে এবং সার্ভারটিকে পুনরায় পুলে রেখে দেয়।

সমাধানগুলির মধ্যে একটি করতে হবে:

  1. অ্যাপ্লিকেশনটির পরিবর্তে অ্যাপাচি কনফিগার করুন, যাতে প্রতিটি অনুরোধ 500 টি সাড়া দেয় এমনকি স্থির ফাইলটি /check.txt
  2. /check.txtএকটি রুবি অ্যাপে পরিবর্তন করুন যেখানে উপযুক্ত হলে 200 এবং 500 জবাবের মধ্যে চয়ন করার জন্য পর্যাপ্ত যুক্তি রয়েছে।
  3. 3600 এর মতো হাস্যকর জিনিসের জন্য interমানটি সেট করুন This এটি আপনাকে আপনার পরীক্ষা করতে এক ঘন্টা সময় দেয় বা (যদি সার্ভার নিজে থেকে নিচে নেমে যায়) সমস্যাটি খুঁজে বের করে এনে তা ফিরিয়ে আনতে হবে।
  4. interLike০ এর মতো ছোট কিছুতে মান সেট করুন তবে riselike০ এর মতো উচ্চতর কিছুর মান নির্ধারণ করুন the সার্ভারটি পুলটিতে যুক্ত হওয়ার আগে এটি আপনাকে এক ঘন্টা সময় দেয়। (দ্রষ্টব্য, এই দুটি সম্ভবত সর্বশেষ তালিকাভুক্ত হয়েছে কারণ তারা সম্ভবত খুব খারাপ ধারণা)

হ্যাঁ যা ঘটছে আমি মনে করি আমাকে /check.txtএড়াতে হবে এবং একটি অ্যাপ্লিকেশনটিতে HTchk নির্দেশ করতে হবে। check.txtদ্রুত এবং অত্যন্ত শৃঙ্খলার সব HAProxy থেকে একটি সার্ভার (হা সেটআপ একমাত্র সক্রিয় তাদের 3,) কে সরানো ফাইল কুশলী ছিলেন। এটিও মনে হয় যে disable serverপুনরায় লোডের মধ্যে স্থির থাকে না।
ouranos
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.