Cara terbaik untuk mengetahui apakah ada layanan jarak jauh yang diberikan adalah hidup dengan memintanya untuk melayani permintaan dengan cara yang seharusnya - pada kenyataannya itu satu-satunya cara untuk benar-benar mengetahui sesuatu berfungsi dengan benar.
Sebagai contoh, saya selalu mendapatkan penyeimbang beban untuk mendapatkan respons 'kepala' yang sebenarnya dari server web kami, Anda dapat melakukan hal yang sama untuk pemilihan kecil pada kotak DB jika Anda mau, atau apa pun yang dilayani server sebenarnya. Sebagai tip, Anda dapat membuat 'online.txt' (atau nama apa pun yang ingin Anda berikan) di server web Anda, mintalah LBs Anda mencoba untuk mendapatkan file itu dan jika gagal, ia menghapus server dari VIP, ini adalah cara yang bagus untuk secara manual mengeluarkan server individual dari VIP Anda hanya dengan mengganti nama satu file.
Ping hanya menguji kemampuan untuk merespons ping, jadi itulah OS dasar, bagian dari tumpukan IP, dan tautan fisik - tapi itu saja, segala sesuatu yang lain bisa turun dan Anda tidak akan tahu.
Saya tahu ini disebutkan di bawah, tetapi berulang berulang.
Permintaan Echo ICMP (alias "Ping") (alias ICMP Tipe 8) dibangun di atas spesifikasi tumpukan IP, ya, tetapi tidak harus diterapkan atau digunakan. Faktanya, ada sejumlah besar penyedia internet yang menolak untuk meneruskannya dan secara diam-diam menolak permintaan itu, karena itu adalah bentuk serangan jaringan (disebut pingflood).
Seperti disebutkan di atas, ini ditangani oleh OS (khususnya di tingkat tumpukan jaringan) dan tergantung konfigurasi OS untuk merespons atau tidak. Jika ini dimatikan (tindakan pencegahan keamanan?), Anda tidak dapat melakukan apa-apa tentang menerima balasan ping dari ujung yang lain. Inilah sebabnya mengapa itu tidak dapat diandalkan.
Namun, sebagian besar waktu:
beberapa server memblokir permintaan ping
hanya karena server merespons tidak secara otomatis berarti situs web (atau layanan apa pun yang Anda harapkan akan digunakan) berfungsi , Anda juga harus memeriksa apakah responsnya cocok dengan konten yang diharapkan.
sumber
Memang benar bahwa dalam banyak kesempatan lalu lintas ICMP disaring sehingga bisa tidak dapat diandalkan ...
Cara yang lebih baik mungkin dengan Telnet server di port layanan yang Anda minati.
yaitu telnet 127.0.0.1 8080
sumber
Jika server hanya diminta untuk merespons ping, maka ini adalah metode yang baik untuk menentukan ketersediaannya. Jika diperlukan untuk memberikan layanan web misalnya, maka Anda harus melakukan beberapa bentuk tes untuk melihat apakah itu berfungsi serupa untuk layanan file, dll.
sumber
ping memiliki 2 kelemahan:
solusi yang lebih baik adalah dengan memeriksa port udp / tcp Anda secara langsung, untuk melihat apakah layanan masih tersedia ... :-)
sumber
Ada alat khusus untuk pengujian dan pemantauan seperti Nagios / Icinga .
Dengan alat-alat ini Anda dapat (tentu saja) melakukan pemeriksaan dengan berbagai ping-test tetapi juga melakukan pemeriksaan pada layanan Anda.
Semua cek dapat menggunakan nilai yang dikembalikan untuk mengklasifikasikan hasil sebagai "baik", "peringatan" dan "kritis" dan dapat ditulis dalam hampir setiap bahasa pemrograman.
Tentu saja tidak mudah untuk setup (seperti titik dan klik), tetapi dapat disesuaikan, andal, dan dapat dikembangkan. Berjalan dengan baik di berbagai distribusi Linux dan Unix.
sumber
Menguji layanan yang Anda cari, hanya ping server tidak berarti layanan berfungsi.
Sebagai contoh:
Bayangkan sebuah server web dengan selusin situs web, maka saya perlu tahu apakah situs webnya UP, saya membuat sendiri skrip kecil di php dan menjalankannya setiap 10 menit.
Script lakukan ikuti ->
sumber
Menggunakan ping untuk menentukan apakah server tersedia seperti dokter ER yang memeriksa untuk melihat apakah seorang pasien bernafas. Ya, ini adalah tempat yang baik untuk memulai, tetapi mungkin ada masalah lain.
sumber
Kami biasa
ping
melakukan precheck, bahwa host dihidupkan dan dapat dijangkau, sebelum meluncurkan layanan systemd kami yang mencoba koneksi ssh ke sana. Ini menghemat waktu debugging, karenasystemctl start
perintah akan segera gagal, bukannya gagal diam-diam dan tersesat di hutan jurnalctl.Perhatikan bahwa ping tidak "dapat diandalkan" dalam arti yang sama dengan TCP. Jika Anda memiliki koneksi yang buruk (atau tumpukan jaringan jelek, terima kasih Intel mpss ) dan paket-paket sedang dijatuhkan, satu paket ping mungkin gagal. Di sisi lain, koneksi TCP dapat diandalkan terhadap paket yang jatuh. Jadi, ironisnya, koneksi ssh mungkin berfungsi segera setelah satu
ping
kegagalan . Jadi jika Anda menggunakan ping untuk melakukan pemeriksaan kewarasan, pastikan untuk mengizinkan beberapa kegagalan.sumber
Hanya dua sen saya: Kami memiliki aplikasi lawas yang menggunakan metode ini, dan harus menservisnya karena ping tidak cukup untuk menentukan ketersediaan layanan.
Ping hanya menunjukkan bahwa server mampu mendengarkan, tetapi dalam kasus kami layanan tidak dapat dimulai tanpa campur tangan manusia.
Akibatnya, unit, yang secara naif berasumsi server tersedia, berusaha melakukan koneksi dan batas waktu. Alih-alih menampilkan pesan "Server tidak tersedia" kami.
-
Aplikasi kami saat ini, yang berkomunikasi melalui XMLHTTPRequests ke server web, mengirimkan pesan yang dibentuk yang akan ditanggapi oleh server dengan kode status. Kode status dihitung oleh server melakukan sejumlah pemeriksaan untuk memastikan bahwa berbagai subsistem online (DB, direktori yang diperlukan dapat ditulisi, dll.)
sumber
Jika dalam keadaan normal server Anda merespons ping, penting untuk melakukan ping pada interval satu menit untuk memeriksa apakah responsnya. Ini tentu saja hanya memberi tahu Anda bahwa ada server di alamat IP itu dan bahwa ada jalur jaringan dari sumber ping ke tujuan. Menetapkan ambang batas untuk waktu respons dapat memungkinkan Anda untuk juga memantau keadaan jaringan. Jika Anda melakukan ping server di Internet mungkin ada sedikit yang dapat Anda lakukan untuk memperbaiki jaringan tetapi jika seorang pelanggan menelepon untuk mengeluh, Anda sudah akan menyadari masalahnya. Selain ping google.com juga bermanfaat. Jika Anda dan Google sama-sama down, sesuatu sedang terjadi.
Seperti yang disebutkan orang lain, penting untuk memantau bahwa layanan yang Anda berikan merespons dan kinerjanya baik-baik saja. Yaitu Anda mungkin ingin memeriksa mengapa usia web yang biasanya merespons dalam hitungan detik sekarang merespons saya 10 detik.
Jadi mengetahui bahwa suatu layanan tidak merespons dan ping gagal memberi Anda lebih banyak informasi daripada hanya satu pendekatan. Juga jika Anda memantau proses juga, mengetahui bahwa ping merespons, layanan tidak merespons dan server web tidak memiliki jumlah proses yang benar memberi tahu Anda ke mana harus mencari pertama.
Anda bisa menjadi gila dengan pemantauan sehingga cukup memantau untuk memberi tahu Anda ketika sesuatu yang buruk telah terjadi atau semakin berbahaya. Yaitu terlalu banyak bertukar, penggunaan disk> 90%, disk io tinggi, CPU 100% untuk waktu yang lama dan ingat bahwa pemantauan hanyalah penolakan serangan layanan yang dilakukan dengan sangat lambat.
sumber
Ping (Packet Internet Groper) memberi tahu Anda apakah sistem Anda berkomunikasi dengan sistem yang dengannya Anda ingin membuat koneksi melalui jaringan. Bahkan ping, bukan berarti layanan misalnya layanan RemoteRegistry berjalan.
Namun, untuk memperbaiki masalah apa pun ping diperlukan. Anda dapat memperbaiki masalah apa pun dari jarak jauh. Oleh karena itu, ping memiliki kepentingannya sendiri.
sumber
Cara terbaik yang saya gunakan dalam skrip saya adalah
di tempat alternatif rsh seperti remsh dapat digunakan. Ini memastikan bahwa sistem jarak jauh Anda telah boot sepenuhnya dan Anda dapat menjalankan perintah di sana. Ping sederhana tidak cukup seperti saat boot ketika layanan jaringan dimulai, sistem mulai merespons ping.
sumber
rsh
? Benarkah? Kenapa tidak digunakanssh
saja?rsh
vsssh
samping, bagaimana bisa mengeksekusidate
(dengan asumsi Anda, untuk mulai dengan) mengatakan apa-apa tentang apakah server web, server SMTP, server DNS, server database lokal atau yang lainnya berjalan dan dapat melayani permintaan? Lebih baik meminta layanan spesifik yang ingin Anda verifikasi ketersediaannya (yang mungkin merupakan shell jarak jauh, tetapi tentu saja tidak harus).Ketika saya reboot server windows saya membuka kotak prompt perintah dan masuk
Pertama, ini akan menyarankan bahwa itu tersedia-itulah kotak turun. Maka Anda akan mendapatkan banyak "permintaan time out." Ketika Anda mulai mendapatkan balasan, kotaknya sudah habis.
sumber