ホームページ >バックエンド開発 >PHPチュートリアル >PHP はオープンソースの Nagios ネットワーク監視ツールを実装します

PHP はオープンソースの Nagios ネットワーク監視ツールを実装します

王林
王林オリジナル
2023-06-18 16:12:421067ブラウズ

Nagios は、ネットワーク、サーバー、アプリケーションの実行ステータスを監視するために使用されるオープンソースのネットワーク監視ツールです。ネットワークの異常、障害、パフォーマンスの問題を検出して報告できるため、システム管理者はシステムのクラッシュを回避するためにタイムリーな措置を講じることができます。

この記事では、PHP 言語を使用してオープン ソースの Nagios ネットワーク監視ツールを実装する方法を紹介し、それを実際の環境に適用する方法について説明します。

1. PHP と Nagios をインストールする

始める前に、PHP と Nagios をインストールする必要があります。 PHP は、プラグイン、ビュー、その他の Web インターフェイスを作成するために Nagios とともに使用できる人気の Web プログラミング言語です。 PHP 公式 Web サイト (https://www.php.net/) からインストール プログラムをダウンロードし、画面の指示に従ってインストールします。 Nagios もネットワーク監視ツールとして人気があり、Nagios 公式 Web サイト (https://www.nagios.org/) からインストール プログラムをダウンロードし、指示に従ってインストールできます。

2. Nagios プラグインの作成

Nagios プラグインは、ネットワーク デバイスとアプリケーションを検出するために使用されるプログラムです。 PHP でプラグインを作成し、Nagios プラグイン ディレクトリに保存できます。以下は、HTTP サーバーを検出するための簡単な PHP プラグインの例です。

#!/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);
?>

上記のプラグインは、HTTP サーバーのステータスを検出し、接続が失敗した場合は、最初にホストとポート番号への接続を試みます。場合、プラグインは「CRITICAL」ステータスを返します。接続に成功すると、HTTP リクエストがサーバーに送信され、サーバーの応答ステータス コードが「200 OK」の場合、プラグインは「OK」ステータスを返します。それ以外の場合、プラグインは「CRITICAL」ステータスを返します。

3. Nagios の設定

PHP と Nagios をインストールして設定した後、プラグインを Nagios モニタリングに設定する必要があります。 Nagios 設定ファイルに次の行を追加することで、PHP プラグインを追加できます。

define command{
    command_name    check_http_php
    command_line    /usr/local/bin/php /usr/local/nagios/libexec/check_http_php.php $ARG1$ $ARG2$
}

上記は、「check_http_php」という名前のコマンドを定義しています。これは、「check_http_php.php」プラグインと 2 つのプラグインを使用します。パラメータ「$ARG1$」と「$ARG2$」。

Nagios モニタリングでこのコマンドを使用するには、サービスをコマンドに関連付ける必要があります。次の Nagios 設定ファイルを使用して、次の行を追加できます。

define service{
    use                generic-service
    host_name          localhost
    service_description HTTP
    check_command      check_http_php!localhost!80
}

上記は、ローカル ホスト上の HTTP ポートを監視し、それを検出するために「check_http_php」コマンドを使用する「HTTP」という名前のサービスを定義しています。 。

4. テスト

上記の設定が完了したら、PHP に実装された Nagios ネットワーク監視ツールが正常に動作するかどうかをテストできます。コマンド ラインで次のコマンドを実行すると、HTTP サーバーのステータスを確認できます。

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_http_php!localhost!80

すべてが正常であれば、HTTP ステータスを説明するメッセージが返されるはずです。

5. 概要

これで、PHP 言語を使用してオープン ソースの Nagios ネットワーク監視ツールを実装する方法を学びました。プラグインと構成ファイルを作成することにより、ネットワーク デバイスとアプリケーションのステータスを監視し、問題を解決するために迅速な措置を講じることができます。実際のアプリケーションでは、ニーズやシナリオに応じてカスタマイズおよび拡張できます。

以上がPHP はオープンソースの Nagios ネットワーク監視ツールを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。