প্রশ্ন একটি সার্ভার উপলব্ধ কিনা চেক করার জন্য একটি নির্ভরযোগ্য উপায় পিং হয়?


আমার প্রয়োগে আমি একটি সার্ভার pinging এবং একটি প্রতিক্রিয়া জন্য অপেক্ষা করছি। আমি সার্ভার উপলব্ধ এবং প্রতিক্রিয়াশীল কিনা তা নির্ধারণ করতে এই ব্যবহার করছি।

এটি প্রাপ্যতা নির্ধারণের একটি নির্ভরযোগ্য উপায়? আমি একটি ফায়ারওয়াল ICMP ট্রাফিক ফিল্টার হতে পারে অনুমান ... অন্য কোন অসুবিধা আছে? একটি আরো নির্ভরযোগ্য পদ্ধতি আছে?


89
2017-09-19 10:00


উত্স




উত্তর:


কোনও দূরবর্তী পরিষেবাটি জীবিত থাকলে তা জানাতে সর্বোত্তম উপায় হল এটির অর্থের জন্য অনুরোধের অনুরোধ করার জন্য জিজ্ঞাসা করা - প্রকৃতপক্ষে এটি সত্যই কিছুটা সঠিকভাবে কাজ করার বিষয়ে একমাত্র উপায়।

উদাহরণ হিসাবে আমি সবসময় আমার লোড-ব্যালান্সারগুলিকে আমাদের ওয়েব সার্ভারগুলির কাছ থেকে একটি প্রকৃত 'মাথা' প্রতিক্রিয়া জানানোর জন্য পেতে পারি, আপনি যদি চান যে কোনও ডিবি বক্সে একটি ছোট বাছাইয়ের জন্য বা আপনার প্রকৃত সার্ভারটি যা কিছু করে সেটি করতে পারে। একটি টিপ হিসাবে আপনি আপনার ওয়েব সার্ভারগুলিতে একটি 'অনলাইন.txt' (অথবা আপনি যে নামটি দিতে চান) তৈরি করতে পারেন, আপনার LBs সেই ফাইলটি পেতে চেষ্টা করুন এবং যদি এটি ব্যর্থ হয় তবে এটি ভিআইপি থেকে সার্ভারটি মুছে দেয়, এটি কেবল একটি একক ফাইল পুনঃনামকরণ দ্বারা আপনার ভিআইপিগুলি থেকে পৃথক পৃথক সার্ভারগুলি গ্রহণের একটি দুর্দান্ত উপায়।

পিং শুধুমাত্র পিংগুলিকে সাড়া দেওয়ার ক্ষমতা পরীক্ষা করে, তাই এটি বেস OS, আইপি স্ট্যাকের অংশ এবং দৈহিক লিঙ্কগুলি - তবে এগুলি সবই নীচে হতে পারে এবং আপনি জানেন না।

আমি এই নিচে উল্লেখ করা হয় জানি, কিন্তু এটা আবার এবং পুনরাবৃত্তি বহন।

আইসিএমপি ইকো অনুরোধগুলি (উর "পিংস") (আka আইসিএমপি প্রকার 8) আইপি স্ট্যাক স্পেসে তৈরি করা হয়েছে, হ্যাঁ, তবে প্রয়োগ করা বা ব্যবহার করা দরকার নয়। প্রকৃতপক্ষে, অনেকগুলি ইন্টারনেট প্রদানকারী রয়েছে যারা তাদের অগ্রাহ্য করতে অস্বীকার করে এবং চুপচাপ সেই অনুরোধগুলিকে ড্রপ করে, কারণ এটি নেটওয়ার্ক আক্রমণের একটি ফর্ম (পিংফ্লুড নামে পরিচিত)।

উপরে উল্লিখিত, এটি OS দ্বারা পরিচালিত হয় (বিশেষ করে নেটওয়ার্ক স্ট্যাক স্তরে) এবং তাই এটি ওদের প্রতিক্রিয়া জানানোর জন্য এটি OS কনফিগারেশনের উপরে রয়েছে। যদি এটি বন্ধ করা হয় (একটি নিরাপত্তা সতর্কতা?), আপনি অন্য প্রান্ত থেকে পিং জবাব প্রাপ্তির বিষয়ে কিছু করতে পারবেন না। এটি নির্ভরযোগ্য নয় কেন।


137
2017-09-19 10:10



মানুষ কি বলেছে! আমি সর্বদা ক্লায়েন্টকে উপদেশ দিচ্ছি যে কোনও সার্ভার বর্তমানে পরিষেবাটি সরবরাহ করছে কিনা তা জানাতে সর্বোত্তম উপায় অনুরোধ সেবা এক্স। - MadHatter
আমরা আসলেই আমাদের অ্যাপগুলিতে একটি "পরীক্ষা" রিস্টেফিল API তৈরি করি মাত্র এই জন্য। সুতরাং আমরা জানি যে যদি কোন অ্যাপ্লিকেশন Blah / whatever_app / pulse এর প্রতিক্রিয়া জানায়, এটির পরিষেবা, অনুরোধের অনুরোধ এবং এটির প্রয়োজনীয় সমস্ত সরঞ্জাম রয়েছে (ডিবি, নির্ভরতা ইত্যাদি) - tsykoduk
ম্যাডহ্যাটারে যোগ করার জন্য, এটি প্রায়শই একটি পিং এবং অনুরোধ করার একটি ভাল ধারণা। এইভাবে আপনি নেটওয়ার্ক সংযোগের সাথে যোগাযোগ করছেন কিনা সে সম্পর্কে আপনি সরাসরি জানতে পারেন বা পরিষেবাটি হ্রাস করতে পারেন ... উভয়ই অন্যের তুলনায় সম্পূর্ণ ভিন্ন জিনিস তৈরি করতে পারে। - user606723
পিং একটি নির্ভরযোগ্য পরীক্ষাও নয় যে সার্ভার নিজেই পিংয়ের প্রতিক্রিয়া জানাতে পারে - যদি এটি আপনার জানা না থাকে তবে আপনার এবং এটির মধ্যে কিছু আইসিএমপি ট্র্যাফিক ফিল্টার করছে - Rob Moir
মেশিনটি স্বাভাবিক অবস্থায় পিংকে প্রতিক্রিয়া জানায়, আপনি পিংকে কিছু ধরণের ব্লুম ফিল্টার হিসাবে ব্যবহার করতে পারেন: যদি পিং ব্যর্থ হয় তবে পরিষেবা অবশ্যই নিশ্চিত হয়ে গেছে (আপনার নেটওয়ার্ক সমস্যা আছে, যেহেতু আমরা সাধারণত পিং কাজগুলি স্থাপন করেছি)। যাইহোক, যদি পিং সফল হয় তবে এই উত্তরটিতে বর্ণিত পরিষেবাটি এখনও নিচে নামতে পারে - 3Doubloons


অধিকাংশ সময়, হ্যাঁ, তবে:

  • কিছু সার্ভার পিং অনুরোধ ব্লক

  • শুধু কারণ সার্ভার সাড়া দিচ্ছে স্বয়ংক্রিয়ভাবে ওয়েবসাইট মানে না (অথবা আপনি যে কোনও পরিষেবা ব্যবহার করতে চান) কাজ করছে, আপনি প্রতিক্রিয়া প্রত্যাশিত বিষয়বস্তু মেলে কিনা তা পরীক্ষা করা উচিত।


10
2017-09-19 10:08





এটা সত্য যে অনেক ক্ষেত্রে ICMP ট্র্যাফিক ফিল্টার করা হয় যাতে এটি অবিশ্বস্ত হতে পারে ...

সম্ভবত আপনি আগ্রহী পরিষেবা পোর্টে সার্ভারকে টেলনেট করতে পারেন।

অর্থাৎ টেলনেট 127.0.0.18080


5
2017-09-19 10:07





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


5
2017-09-19 10:10





পিং 2 অসুবিধা আছে:

  • ping icmp প্রেরণ করে, যা ফায়ারওয়াল দ্বারা ফিল্টার করা যেতে পারে
  • আপনার অ্যাপ্লিকেশন ব্যবহার করে টিসিপি বা udp পোর্ট ব্যস্ত বা খোলা হতে পারে - পিং যে চেক না

একটি ভাল সমাধান সরাসরি আপনার udp / tcp পোর্ট চেক করতে, পরিষেবাটি এখনও উপলব্ধ কিনা তা দেখতে ... :-)


3
2017-09-19 19:20





যেমন টেস্টিং এবং পর্যবেক্ষণ জন্য বিশেষ সরঞ্জাম আছে Nagios / Icinga
এই সরঞ্জামগুলির সাহায্যে আপনি (অবশ্যই) বিভিন্ন পিং-টেস্টের সাথে চেক করতে পারেন তবে আপনার পরিষেবাদিতে চেকও করতে পারেন।

সমস্ত চেক "ভাল", "সতর্কতা" এবং "সমালোচনামূলক" হিসাবে শ্রেণীবদ্ধ করার জন্য ফেরত মানটি ব্যবহার করতে পারে এবং প্রায় প্রতিটি প্রোগ্রামিং ভাষাতে এটি লেখা যেতে পারে।

অবশ্যই সেটআপ করা সহজ নয় (বিন্দু এবং ক্লিক করুন), তবে কাস্টমাইজযোগ্য, নির্ভরযোগ্য এবং এক্সটেনসিবল। বিভিন্ন লিনাক্স এবং ইউনিক্স ডিস্ট্রিবিউশনের উপর ভাল চালান।


3
2017-09-19 18:24





আপনি যে পরিষেবাগুলি খুঁজছেন তা পরীক্ষা করুন, কেবল সার্ভার পিং করার মানে এই নয় যে পরিষেবাগুলি কাজ করছে।

উদাহরণ স্বরূপ:

ডজন ওয়েবসাইটের সাথে একটি ওয়েব সার্ভার কল্পনা করুন, তাহলে আমার ওয়েবসাইটগুলি ইউপি কিনা তা জানতে হবে, আমি নিজে php তে একটি ছোট স্ক্রিপ্ট তৈরি করেছি এবং এটি প্রতি 10 মিনিট চালানো হয়েছে।

স্ক্রিপ্ট অনুসরণ করুন ->

<?php
    $website1 = "http://www.mywebsite.com/";
    $myWebsite = file_get_contents($website1);
    $message = 'My website' . $website1 . ' is DOWN at the moment.';
    if (empty($myWebsite)) mail('mail@server.com', 'Website is DOWN', $message);
?>

2
2017-11-28 15:42





একটি সার্ভার উপলব্ধ কিনা তা নির্ধারণ করার জন্য পিং ব্যবহার করে রোগীর শ্বাস নেওয়া হয় কিনা তা পরীক্ষা করার জন্য একটি ER ডাক্তারের মতো। হ্যাঁ, এটি শুরু করার জন্য একটি ভাল জায়গা, তবে অন্যান্য সমস্যা হতে পারে।


2
2017-09-19 18:39





শুধু আমার দুই সেন্ট: আমাদের এই পদ্ধতিটি ব্যবহার করে এমন একটি লিগ্যাসি অ্যাপ্লিকেশন রয়েছে, এবং এটি পিংয়ের কারণে এটি পরিষেবা করতে হয়েছিল না সেবা প্রাপ্যতা নির্ধারণের জন্য যথেষ্ট।

পিং কেবলমাত্র দেখায় যে সার্ভারটি শোনাতে সক্ষম, কিন্তু আমাদের ক্ষেত্রে পরিষেবাটি মানুষের হস্তক্ষেপ ছাড়াই শুরু করতে পারেনি।

ফলস্বরূপ ইউনিট হিসাবে, যা naively সার্ভার উপলব্ধ ছিল উপলব্ধ, সংযোগ এবং সময়সীমা চেষ্টা করার চেষ্টা করা হয়। আমাদের "সার্ভার অনুপলব্ধ" বার্তা প্রদর্শন করার পরিবর্তে।

-

আমাদের বর্তমান অ্যাপ্লিকেশন, যা একটি XML সার্ভারে XMLHTTPRequests এর মাধ্যমে যোগাযোগ করে, একটি স্থায়ী বার্তা প্রেরণ করে যা সার্ভার একটি স্থিতি কোড দিয়ে সাড়া দেবে। সার্ভারটি বিভিন্ন সাব-সিস্টেম অনলাইন (ডিবি, প্রয়োজনীয় ডিরেক্টরিগুলি লেখার যোগ্য, ইত্যাদি) নিশ্চিত করার জন্য সার্ভারের দ্বারা বেশ কয়েকটি চেক করে গণনা করে।


0
2017-08-24 23:59