পিং কোনও সার্ভার উপলব্ধ কিনা তা পরীক্ষা করার কোনও নির্ভরযোগ্য উপায়?


96

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

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

উত্তর:


139

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

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

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

আমি জানি এটি নীচে উল্লেখ করা হয়েছে তবে এটি বারবার পুনরাবৃত্তি করে be

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

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


34
লোকটি কী বলল! আমি সর্বদা ক্লায়েন্টদের পরামর্শ দিই যে কোনও সার্ভার বর্তমানে পরিষেবা এক্স দিচ্ছে কিনা তা জানানোর সর্বোত্তম উপায় হ'ল পরিষেবা এক্সকে অনুরোধ করা
ম্যাডহ্যাটার

5
আমরা কেবল এটির জন্য আমাদের অ্যাপ্লিকেশনগুলিতে একটি "পরীক্ষা" RESTful API তৈরি করি । সুতরাং আমরা জানি যে কোনও অ্যাপ্লিকেশন যদি
ব্লাহা

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

পিং এমনকি একটি নির্ভরযোগ্য পরীক্ষাও নয় যে সার্ভার নিজেই পিংয়ের প্রতিক্রিয়া জানাতে পারে - যদি তা না হয় তবে আপনারা সমস্ত কিছু জানেন যে এটি আপনার এবং এটি আইসিএমপি ট্র্যাফিক ফিল্টার করছে
রব মোয়ার

4
ধরে নেওয়া যাক যে মেশিনটি সাধারণ পরিস্থিতিতে পিংয়ের প্রতিক্রিয়া জানায়, আপনি পিংকে কোনও প্রকারের ব্লুম ফিল্টার হিসাবে ব্যবহার করতে পারেন: যদি পিং ব্যর্থ হয় তবে পরিষেবাটি অবশ্যই বন্ধ হয়ে যাবে (যেহেতু আমরা সাধারণত পিং প্রতিষ্ঠা করেছি) আপনার একটি নেটওয়ার্ক সমস্যা আছে। যাইহোক, যদি পিংটি সফল হয় তবে পরিষেবাটি এখনও এই উত্তরে বর্ণিত হিসাবে ডাউন হতে পারে
ডিউব্লুনস

10

তবে বেশিরভাগ সময় হ্যাঁ:

  • কিছু সার্ভার পিংয়ের অনুরোধগুলি অবরুদ্ধ করে

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


5

এটি সত্য যে অনেক সময় আইসিএমপি ট্র্যাফিক ফিল্টার করা হয় যাতে এটি বিশ্বাসযোগ্য না হতে পারে ...

আপনার আগ্রহী সার্ভিস পোর্টে সার্ভারটি টেলনেট করা সম্ভবত এর থেকে আরও ভাল উপায়।

অর্থাত টেলনেট 127.0.0.1 8080


5

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


3

পিংয়ের 2 টি ত্রুটি রয়েছে:

  • পিং আইসিএমপি প্রেরণ করে, যা ফায়ারওয়াল দ্বারা ফিল্টার করা যায়
  • আপনার অ্যাপ্লিকেশনটি যে টিসিপি বা ইউডিপি পোর্ট ব্যবহার করে সেটি ব্যস্ত হতে পারে বা না খোলার জন্য - পিং এটি চেক করে না

আরও ভাল সমাধান হ'ল আপনার ইউডিপি / টিসিপি পোর্ট সরাসরি পরীক্ষা করে দেখুন, পরিষেবাটি এখনও উপলব্ধ কিনা তা দেখার জন্য ... :-)


3

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

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

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


2

আপনি যে পরিষেবাগুলির সন্ধান করছেন তা পরীক্ষা করুন, কেবল একটি সার্ভারে পিং দেওয়ার অর্থ এই নয় যে পরিষেবাগুলি কাজ করছে।

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

ডজন ওয়েবসাইট সহ একটি ওয়েবসার্ভারটি কল্পনা করুন, তারপরে আমাকে জানতে হবে ওয়েবসাইটগুলি ইউপি কিনা, আমি পিএইচপিতে নিজেকে একটি ছোট স্ক্রিপ্ট দিয়েছিলাম এবং প্রতি 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

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


1

আমরা pingএকটি প্রিচেক ব্যবহার করে থাকি যে হোস্টটি চালিত-চালিত এবং পৌঁছনীয়, আমাদের সিস্টেমেড পরিষেবাটি চালু করার আগে এটিতে একটি সংযোগ সংযোগ চেষ্টা করে। এটি কিছুটা সময় ডিবাগিং সাশ্রয় করে, যেমন systemctl startকমান্ডটি তত্ক্ষণাত ব্যর্থ হয়ে যাবে, পরিবর্তে নিঃশব্দে ব্যর্থ হয়ে জার্নিটল জঙ্গলে হারিয়ে যাবে।

নোট করুন যে পিং টিসিপি হিসাবে একই অর্থে "নির্ভরযোগ্য" নয়। যদি আপনার একটি খারাপ সংযোগ থাকে (বা ক্রেপি নেটওয়ার্ক স্ট্যাক, আপনাকে ইন্টেল এমপিএস ধন্যবাদ ) এবং প্যাকেটগুলি বাদ দেওয়া হচ্ছে, তবে একটি প্যাকেটের পিং ব্যর্থ হতে পারে। অন্যদিকে, বাদ পড়ে যাওয়া প্যাকেটের বিপরীতে একটি টিসিপি সংযোগ নির্ভরযোগ্য। সুতরাং, বিদ্রূপাত্মকভাবে, একটি ssh সংযোগ একক ব্যর্থতার সাথে সাথেই কাজ করতে পারে । সুতরাং আপনি যদি স্যানিটি পরীক্ষা করতে পিং ব্যবহার করেন তবে কিছুটা ব্যর্থতা অবশ্যই নিশ্চিত করুন।ping


0

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

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

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

-

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


0

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

অন্যরা যেমন উল্লেখ করেছে, আপনি যে পরিষেবাটি সরবরাহ করছেন তা প্রতিক্রিয়া করছে এবং এর কার্যকারিতা ঠিক আছে তা পর্যবেক্ষণ করা জরুরী। অর্থাৎ আপনি যাচাই করতে চাইতে পারেন যে কোনও ওয়েব যুগ যেটি সাধারণত একটি সেকেন্ডে প্রতিক্রিয়া দেখায় এখন আমি 10 সেকেন্ডের মধ্যে সাড়া দিচ্ছি।

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

আপনি মনিটরিংয়ের সাথে পাগল হয়ে যেতে পারেন তাই কখন খারাপ কিছু ঘটেছিল বা বিপজ্জনক হয়ে উঠছে তা বলার জন্য পর্যাপ্ত পর্যবেক্ষণ করুন। অর্থাত্‍ অদলবদল,> 90% ডিস্ক ব্যবহার, উচ্চ ডিস্ক io, বর্ধিত সময়কালের জন্য 100% সিপিইউ এবং মনে রাখবেন যে নিরীক্ষণটি খুব ধীরে ধীরে চালিত পরিষেবা আক্রমণের অস্বীকার।


0

পিং (প্যাকেট ইন্টারনেট গ্রোপার) আপনাকে জানিয়ে দেয় যে আপনার সিস্টেমটি যার সাথে নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে চান তার সাথে যোগাযোগ করছেন whether এটি এমনকি পিংস করে, অর্থ এই পরিষেবাটি উদাহরণস্বরূপ নয় যে রিমোটরেজিস্ট্রি পরিষেবা চলছে।

তবে যেকোন ইস্যু ঠিক করার জন্য পিং প্রয়োজন। আপনি দূরবর্তী অবস্থান থেকে যেকোন সমস্যা সমাধান করতে পারেন। সুতরাং, পিং এর নিজস্ব গুরুত্ব রয়েছে has


-3

আমার স্ক্রিপ্টগুলিতে আমি সবচেয়ে ভাল ব্যবহার করি

#rsh servername.com "date"
Mon Sep 19 04:42:20 PDT 2011

রেশের মতো রেশের বিকল্প ব্যবহার করা যেতে পারে। এটি নিশ্চিত করে যে আপনার দূরবর্তী সিস্টেমটি পুরোপুরি বুট হয়েছে এবং আপনি এটিতে আদেশগুলি চালাতে পারেন। বুট করার সময় সরল পিং যথেষ্ট নয় যখন নেটওয়ার্ক পরিষেবাগুলি শুরু হয়, সিস্টেম পিংয়ের প্রতিক্রিয়া শুরু করে।


3
rsh? সত্যি? sshপরিবর্তে ব্যবহার করবেন না কেন ?
জোচিম সৌর

5
rshবনাম একসাথে ssh, কীভাবে কার্যকর করতে সক্ষম date(আপনি ধরে নিচ্ছেন, শুরু করার সাথে) কোনও ওয়েব সার্ভার, এসএমটিপি সার্ভার, ডিএনএস সার্ভার, স্থানীয় ডাটাবেস সার্ভার বা কী নোট চালাচ্ছে এবং অনুরোধগুলি সরবরাহ করতে সক্ষম কিনা সে সম্পর্কে কিছু বলতে পারে? আপনি যে উপলভ্যতা যাচাই করতে চান তা নির্দিষ্ট পরিষেবাটির জন্য জিজ্ঞাসা করা ভাল (যা দূরবর্তী শেল হতে পারে তবে নিশ্চিত হতে হবে না)।
একটি সিভিএন

-3

আমি যখন উইন্ডোজ সার্ভারটি পুনরায় বুট করি তখন আমি একটি কমান্ড প্রম্পট বাক্সটি খুলি এবং প্রবেশ করি

ping <box> -t

প্রথমে এটি পরামর্শ দেবে যে এটি উপলব্ধ-এটিই বক্সটি নীচে যাচ্ছে। তারপরে আপনি প্রচুর "অনুরোধের সময় শেষ" করতে পারেন। আপনি যখন উত্তর পেতে শুরু করবেন তখন বাক্সটি আপ।


7
এর অর্থ এই নয় যে এটি আসল কাজ করার জন্য উপলব্ধ, কেবল এটি পিংয়ের প্রতিক্রিয়া দেখায়।
ব্যবহারকারী 9517

হতে পারে. আমি সর্বদা সার্ভারে লগইন করতে পারি এবং আমার যা প্রয়োজন তা সবসময়ই হয় ment
ডেভ

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

আমার অনেকগুলি অনুষ্ঠান হয়েছে যেখানে কোনও সার্ভার পিংসের প্রতিক্রিয়া জানায় তবে লগন সহ অন্য কোনও অনুরোধের সার্ভারে ব্যর্থ হয়। একটি পিং বলতে সার্ভারটি কখন ফিরে আসতে শুরু করেছে তা জানার খুব অদ্ভুত উপায় হতে পারে তবে এটিই ঠিক। অবশ্যই এটি ধরে নিয়েছে যে সার্ভারটি এমনকি পিংগুলিতে সাড়া দেয়।
জন গার্ডেনিয়ার্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.