Adakah tip tentang perangkat lunak untuk dipantau jika server web aktif dan berjalan di linux? Seharusnya bisa dijalankan dengan tidak mengetahui apa pun selain URL. Dan itu harus memiliki fungsionalitas untuk mengirim peringatan email ketika situs turun. Seharusnya tidak sulit untuk menulis skrip untuk ini sendiri tetapi tampaknya tidak ada gunanya jika sudah ada sesuatu yang baik di luar sana.
Perhatikan bahwa saya akan memantau server internal, jadi ini harus menjadi alat yang berjalan pada mesin saya di jaringan yang sama, bukan layanan berbasis web eksternal.
Dan perhatikan bahwa solusi kecil dan sederhana lebih disukai.
Pembaruan : Saya akhirnya membuat skrip python kecil yang saat ini saya gunakan untuk ini, dapat ditemukan di sini .
linux
web-server
monitoring
uptime
Zitrax
sumber
sumber
Jawaban:
Anda bisa menggunakan wget dalam skrip seperti ini
Dan Anda akan mendapatkan email jika wget tidak dapat mengakses situs pertama kali dalam tiga detik.
Menyiapkan pekerjaan cron untuk menjalankan skrip setiap beberapa menit.
Ada banyak alternatif lain tetapi ini mungkin yang paling sederhana untuk diatur dari awal.
sumber
--no-check-certificate
? Diperingatkan tentang penyebaran TLS yang rusak juga merupakan informasi berharga.Anda memiliki banyak pilihan, saya akan memberi Anda dua.
Nagios adalah aplikasi pemantauan lengkap yang mampu memantau jauh lebih banyak daripada http, tetapi juga menangani hal itu. Itu juga dapat membuat semua jenis repot ("Katakan padaku persentase uptime dari server / layanan X kami minggu ini / bulan / tahun ...")
Monit adalah pilihan populer lainnya. Mungkin tidak sebanyak fitur seperti nagios, tapi tetap saja itu menyenangkan.
sumber
Nah, jika Anda ingin menjalankan sesuatu sendiri.
Ini beberapa opsi:
Atau jika Anda menginginkan solusi terkelola:
Secara pribadi saya pikir Zabbix dan Zenoss berlebihan jika Anda hanya ingin memantau status server web. Tetapi jika Anda juga berencana untuk memantau apa pun selain mereka memiliki lebih banyak fitur daripada yang Anda perlukan;)
sumber
Saya telah mengangkat jawaban Richard dan Janne, tetapi jika Anda ingin lebih detail mengenai apa yang dikirim dan diterima server web Anda, beberapa bab pertama dari buku O'Reilly "Pemrograman Klien Web dengan Perl" oleh Clinton Wong memberikan gambaran yang bagus protokol HTTP. Jika Anda ingin pemantauan yang lebih rinci daripada hanya naik / turun dan ingin memasukkan kode respons, dll, ini adalah tempat yang baik untuk memulai.
Buku itu sudah tua, tetapi masih valid. Diterbitkan pada tahun 1997, O'Reilly telah memposting konten buku online secara gratis di http://oreilly.com/openbook/webclient/ sebagai bagian dari inisiatif OpenBook mereka.
sumber
Saya akan memilih jawaban Janne jika saya punya perwakilan.
Catatan penting tentang Nagios, fakta bahwa itu penuh sesak nafas tidak berarti itu adalah instalasi yang keras dan panjang, Ini cukup sederhana dan ramah.
Hal kedua, Anda harus benar-benar memeriksa apa yang ditawarkan vendor perangkat keras Anda. Sebagai contoh, saya menggunakan HP Proliants dan mereka memiliki rpm yang sangat bagus untuk membantu.
sumber
Jika Anda menyukai apa yang dilakukan Nagios, tetapi tidak ingin mempelajari internal, Anda juga dapat melihat Opsview . Ini adalah Nagios dan beberapa alat lainnya, tetapi dikirimkan melalui GUI yang bagus. Ini adalah titik awal yang cukup bagus.
sumber
Saya setuju bahwa Nagios adalah perangkat lunak yang hebat, tetapi jika Anda menginginkan freeware, saya sarankan Anda untuk melihat AppPerfect Agentless Monitor . Linux Server Monitoring dengan AppPerfect sangat ringan dan menambahkan overhead yang dapat diabaikan ke sistem target sambil memantau. Anda dapat memantau semua statistik penting yang terkait dengan CPU, disk, jaringan, dan memori menggunakan alat ini. Setup sangat sederhana dan perangkat lunaknya sangat mudah digunakan. Dokumentasi dan tutorial yang jelas juga tersedia di sini untuk pemantauan server Linux
sumber
Salah satu solusi yang saya gunakan adalah konsul HashiCorp .
Ini jelas lebih dari sekadar skrip sederhana dengan keluaran email, tetapi mengatur jenis pemantauan yang Anda bicarakan masih sangat mudah (beberapa baris YAML atau JSON).
Anda kemungkinan besar akan membuat template, tetapi pemantauan satu server dapat dilakukan sebagai berikut:
Salah satu alasan untuk menyarankan itu adalah bahwa hal itu memungkinkan Anda melampaui pemantauan 'hanya' ujung-depan web jika Anda mau, dan juga memungkinkan Anda untuk mengelompokkan pemeriksaan berdasarkan layanan (mis.
report_server
Layanan Anda dapat memiliki pemeriksaan untuk web-depan) akhir, satu untuk back-end web, dan satu untuk DB primer, yang semuanya akan memberikan peringatan terkait dengan layanan yang satu ini).sumber