Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan alat pemantauan rangkaian Nagios sumber terbuka

PHP melaksanakan alat pemantauan rangkaian Nagios sumber terbuka

王林
王林asal
2023-06-18 16:12:42994semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn