Nagios ialah alat pemantauan rangkaian sumber terbuka yang digunakan untuk memantau status berjalan rangkaian, pelayan dan aplikasi. Ia boleh mengesan dan melaporkan anomali rangkaian, kegagalan dan isu prestasi untuk membantu pentadbir sistem mengambil langkah tepat pada masanya untuk mengelakkan ranap sistem.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan alat pemantauan rangkaian Nagios sumber terbuka, dan membincangkan cara menerapkannya dalam persekitaran praktikal.
1. Pasang PHP dan Nagios
Sebelum anda mula, anda perlu memasang PHP dan Nagios. PHP ialah bahasa pengaturcaraan web yang popular yang boleh digunakan dengan Nagios untuk menulis pemalam, paparan dan antara muka web yang lain. Anda boleh memuat turun program pemasangan dari laman web rasmi PHP (https://www.php.net/) dan memasangnya mengikut arahan. Nagios juga merupakan alat pemantauan rangkaian yang popular Anda boleh memuat turun program pemasangan dari laman web rasmi Nagios (https://www.nagios.org/) dan memasangnya mengikut arahan.
2. Menulis pemalam Nagios
Pemalam Nagios ialah program yang digunakan untuk mengesan peranti dan aplikasi rangkaian. Anda boleh menulis pemalam dalam PHP dan menyimpannya dalam direktori pemalam Nagios. Berikut ialah contoh pemalam PHP mudah untuk mengesan pelayan HTTP:
#!/usr/bin/php <?php $host = $argv[1]; $port = $argv[2]; $timeout = 5; $fp = fsockopen($host, $port, $errno, $errstr, $timeout); if (!$fp) { echo "CRITICAL - Cannot connect to $host:$port "; exit(2); } $request = "GET / HTTP/1.0 "; fwrite($fp, $request); $response = fgets($fp, 4096); fclose($fp); if (strpos($response, "200 OK") === false) { echo "CRITICAL - HTTP server did not respond with 200 OK status "; exit(2); } echo "OK - HTTP server is responding "; exit(0); ?>
Pemalam di atas mengesan status pelayan HTTP, mula-mula cuba menyambung ke hos dan nombor port, jika sambungan gagal , pemalam mengembalikan status "KRITIKAL" . Jika sambungan berjaya, permintaan HTTP dihantar ke pelayan Jika kod status respons pelayan ialah "200 OK", pemalam mengembalikan status "OK". Jika tidak, pemalam mengembalikan status "KRITIKAL".
3. Konfigurasikan Nagios
Selepas memasang dan mengkonfigurasi PHP dan Nagios, anda perlu mengkonfigurasi pemalam ke dalam pemantauan Nagios. Anda boleh menambah pemalam PHP dengan menambahkan baris berikut pada fail konfigurasi Nagios:
define command{ command_name check_http_php command_line /usr/local/bin/php /usr/local/nagios/libexec/check_http_php.php $ARG1$ $ARG2$ }
Di atas mentakrifkan perintah bernama "check_http_php", yang menggunakan pemalam "check_http_php.php" dan kedua-duanya parameter "$ARG1$" dan "$ARG2$".
Untuk menggunakan arahan ini dengan pemantauan Nagios, anda perlu mengaitkan perkhidmatan dengan arahan tersebut. Anda boleh menggunakan fail konfigurasi Nagios berikut untuk menambah baris berikut:
define service{ use generic-service host_name localhost service_description HTTP check_command check_http_php!localhost!80 }
Di atas mentakrifkan perkhidmatan bernama "HTTP", yang memantau port HTTP pada hos tempatan dan menggunakan perintah "check_http_php" untuk mengesannya .
4. Ujian
Selepas melengkapkan konfigurasi di atas, kami boleh menguji sama ada alat pemantauan rangkaian Nagios yang dilaksanakan dalam PHP boleh berfungsi seperti biasa. Anda boleh menyemak status pelayan HTTP dengan melaksanakan arahan berikut pada baris arahan:
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_http_php!localhost!80
Jika semuanya OK, mesej yang menerangkan status HTTP harus dikembalikan.
5. Ringkasan
Kini, anda telah mempelajari cara menggunakan bahasa PHP untuk melaksanakan alat pemantauan rangkaian Nagios sumber terbuka. Dengan menulis pemalam dan fail konfigurasi, anda boleh memantau status peranti dan aplikasi rangkaian serta mengambil tindakan segera untuk menyelesaikan sebarang isu. Dalam aplikasi sebenar, anda boleh menyesuaikan dan mengembangkannya mengikut keperluan dan senario anda sendiri.
Atas ialah kandungan terperinci PHP melaksanakan alat pemantauan rangkaian Nagios sumber terbuka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!