Skrip Pemantauan Server Python memungkinkan Anda untuk memantau apakah server atau komputer Anda aktif dan berjalan. Ini dapat menunjukkan kepada Anda berapa banyak waktu henti yang dimiliki komputer atau server Anda. Kami akan menggunakan soket server untuk memeriksa apakah port tertentu pada server terbuka atau tidak, perintah Ping untuk memantau komputer biasa yang sederhana dan SSL untuk memeriksa apakah server tertentu memerlukan koneksi SSL atau tidak. Untuk pemantauan Server, saya telah menggunakan Alat Penerjemah Kode Visual Studio.
Buat File Python.py
Buka interpreter Python dan buat file baru bernama Server.py dan menyimpannya di lokasi tertentu yang dapat diakses dengan mudah. Ketika file telah dibuat, tambahkan beberapa perintah impor untuk mengimpor paket penting sebagai berikut:
- Stopkontak: Untuk terhubung dengan server yang berbeda pada soket tertentu dengan port tertentu
- SSL: Diperlukan untuk membungkus sambungan soket
- Tanggal Waktu: Digunakan untuk memeriksa jam berapa server sedang down atau aktif
- Acar: Digunakan untuk menyimpan riwayat down dan uptime komputer, serta menyebarkan data dari run ke run dengan program ini
Kami menggunakan peron dan subproses paket, yang akan memberi tahu kami sistem operasi mana yang kami jalankan, e.g., UNIX atau jendela.
Buat Kelas Server
Mari kita buat kelas bernama Server() dan membangun metode pertama, yang merupakan metode konstruktor. Kami telah menambahkan beberapa atribut untuk server, mis.g., UNIX atau komputer biasa regular. Mari kita lihat masing-masing:
- Nama: tentukan nama server
- Pelabuhan: nomor port yang ingin kita sambungkan
- Koneksi: memberitahu jenis koneksi, e.g., SSL atau ping
- Prioritas: beri tahu kami prioritas server, e.g., Anda dapat mengatur peringatan jika Anda menetapkan prioritas
- Sejarah: untuk menyimpan daftar riwayat server
- Waspada: Jika Anda ingin mengirim peringatan ke email Anda
Buat Metode untuk Memeriksa Koneksi
Jadi untuk menguji koneksi server, kami telah membuat metode lain di kelas Server() bernama check_connection(). Dalam metode ini, kita harus mendefinisikan tiga variabel sebagai:
- pesan: digunakan untuk menampilkan pesan jika koneksi dibuat atau gagal yang awalnya kosong
- Keberhasilan: digunakan untuk mengetahui apakah koneksi berhasil atau tidak
- Sekarang: akan mendapatkan tanggal dan waktu saat ini saat memeriksa koneksi
Sekarang tulis kode di bawah ini dalam file yang sama, dan gunakan coba pernyataan, kami sedang memeriksa koneksi untuk jenis koneksi server yang berbeda, e.g. biasa, SSL, dan ping. Di dalam coba pernyataan, kami memiliki pernyataan if yang memiliki koneksi polos Tipe. Ini akan membuat koneksi dengan yang disediakan nama dan apa saja Pelabuhan nomor yang Anda berikan. Jika koneksi berhasil, itu akan menghasilkan pesan sukses, e.g., pesan. Ini akan mengubah Keberhasilan variabel ke Benar dan tidak ada peringatan yang akan dikirim ke email. Kita punya pernyataan if yang lain dengan tipe koneksi yang berbeda, dan pada pernyataan if terakhir kita memiliki a ping() fungsi yang disebut. Dalam kecuali pernyataan, jika soket kehabisan waktu, koneksi ditolak, atau apa pun, itu akan menampilkan pesan kegagalan.
Di sisi lain, jika status sukses dan waspada adalah Salah, itu akan mengubahnya menjadi Benar dan kirim waspada ke email yang disediakan dan hubungi buat_sejarah() berfungsi untuk membuat sejarah.
Tentukan Metode untuk Membuat Sejarah
Dalam create_history() metode, kami telah menambahkan beberapa atribut dengan maksimal membatasi didefinisikan, dan jika sejarah batas melebihi, itu akan menghapus yang lebih tua.
Tentukan Fungsi Ping untuk Terhubung
Itu ping() fungsi akan melakukan ping ke server atau komputer. Jika pingnya berhasil, itu akan menampilkan True, dan jika koneksi gagal, itu akan kembali Salah.
Buat Daftar Server
Sekarang kita harus memastikan bahwa kita menjalankan program utama. Itu jika-pernyataan akan memeriksa apakah itu program utama atau bukan. Itu coba pernyataan akan beban server file acar jika sudah ada. Jika tidak ada, kecuali pernyataan akan mendapatkan keseluruhan Daftar baru dari server. Untuk salah satu server, koneksi akan diperiksa dan sejarah akan disimpan. Di sisi lain, kita harus menyimpan kami data ke acar mengajukan menggunakan membuang pernyataan.
Output di bawah ini akan ditampilkan saat menjalankan file ini.
Buat File untuk Menambahkan informasi
Buat file baru bernama Menambahkan.py dan impor paket acar dan Server kelas dari file lama Server.py. File ini akan membuka file acar dan akan meminta Anda untuk menambahkan beberapa informasi tambahan mengenai server seperti kode yang ditunjukkan di bawah ini.
Ketika Anda menjalankan file ini, Anda akan mendapatkan output di bawah ini dan itu akan meminta Anda untuk menambahkan nama server, port, jenis ping, dan prioritas.
Sementara, ketika Anda menjalankan Server.py lagi, Anda akan mendapatkan informasi mengenai server lama, serta riwayat server baru yang Anda berikan pada gambar di atas.
Buat File untuk Peringatan Gmail
Sekarang buat file baru bernama gmail.py dan impor beberapa paket yang diperlukan. Kemudian buat metode bernama email_peringatan() yang menciptakan sebuah waspada untuk mengirim pada surel sambil memberikan email dan kata sandi informasi.
Sekarang pergi ke Server.file py dan impor email_peringatan() metode dari gmail.file py.
Anda dapat menambahkan alamat email di mana pun diperlukan dalam kode. Sekarang jalankan Server.py file dan periksa output yang ditampilkan di terminal interpreter Python.
Buat File untuk Mendapatkan Statistik
Sekarang kamu harus membuat file python lain bernama get_stats.py dalam direktori yang sama. File ini telah mengimpor Kelas server dari Server.py mengajukan. Kode yang ditulis di bawah ini akan melihat file acar kami, yang dimuat, dan mencetak sejarah masing-masing server dan berapa banyak yang dimiliki server tersebut waktu aktif.
Saat Anda menjalankan file khusus ini, Anda akan melihat riwayat total setiap server dan waktu aktifnya juga.
Kesimpulan
Kami telah berhasil mencoba dan mempelajari skrip pemantauan server Python di penerjemah Kode Visual Studio kami untuk mendapatkan informasi mengenai beberapa server.