ステータス:非推奨
この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。
理由: CentOS 6は2020年11月30日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このため、このガイドは維持されなくなりました。
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。
序章
PHPは人気のあるプログラミング言語であり、スクリプトをすばやく作成して追加のライブラリをインストールできます。
以前、CentOS 6×64にNagios監視サーバーをインストールする方法について説明しました。 今回は、このアイデアを拡張し、PHPを使用してNagiosプラグインを作成します。 これらのプラグインはクライアントVPSで実行され、NRPEを介して実行されます。
ステップ1-クライアントVPSにRPMForgeリポジトリとNRPEをインストールします
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum -y install php nagios-nrpe useradd nrpe && chkconfig nrpe on
ステップ2-PHPスクリプトを作成する
プラグインを他のNagiosプラグイン( / usr / lib64 / nagios / plugins / など)と同じディレクトリに保持することをお勧めします。
この例では、シェルから「df」を呼び出して現在のディスク使用量をチェックするスクリプトを作成し、85% usedを超えた場合にアラートをスローします。
#!/usr/bin/php <?php $used_space=chop(shell_exec("df -h / | grep -v Filesystem | awk '{print $5}'")); switch ($used_space) { case "$used_space" < "85%": print "OK - $used_space of disk space used."; exit(0); case "$used_space" == "85%": print "WARNING - $used_space of disk space used."; exit(1); case $used_space > "85%": print "CRITICAL - $used_space of disk space used."; exit(2); default: print "UNKNOWN - $used_space of disk space used."; exit(3); } ?>
このスクリプトを/usr/lib64/nagios/plugins/usedspace.phpに保存し、実行可能にします。
chmod +x /usr/lib64/nagios/plugins/usedspace.php
Nagios NRPEプラグイン全体は、結局、終了コードを使用してアラートをトリガーすることになります。
スクリプトにロジックのレベルを導入し、アラートをトリガーする場合(OK、WARNING、CRITICAL、またはUNKNOWN)、終了コードを指定します。
次のNagios終了コードを参照してください。
Nagiosの終了コード
終了コード | 状態 |
0 | わかった |
1 | 警告 |
2 | 致命的 |
3 | わからない |
ステップ3-クライアントホストのNRPE構成にスクリプトを追加する
元の/etc/nagios/nrpe.cfgを削除し、それに次の行を追加します。
log_facility=daemon pid_file=/var/run/nrpe/nrpe.pid server_port=5666 nrpe_user=nrpe nrpe_group=nrpe allowed_hosts=198.211.117.251 dont_blame_nrpe=1 debug=0 command_timeout=60 connection_timeout=300 include_dir=/etc/nrpe.d/ command[usedspace_php]=/usr/lib64/nagios/plugins/usedspace.php
198.211.117.251は、以前の記事の監視サーバーです。 これらを独自の値に変更してください。
必ずNagiosNRPEサービスを再起動してください。
service nrpe restart
ステップ4-NagiosMonitoringServerのNagiosチェックに新しいコマンドを追加する
/etc/nagios/objects/commands.cfgで新しいコマンドを定義します
define command{ command_name usedspace_php command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c usedspace_php }
ご覧のとおり、NRPEを使用してポート5666へのTCP接続を確立し、そのリモートホストの/etc/nagios/nrpe.cfgで定義したコマンド「usedspace_php」を実行します。
このチェックをクライアントVPSのNagios構成ファイルに追加します。
この例では、CentOSDropletというサーバーを監視し、/etc/nagios/servers/CentOSDroplet.cfgを編集します。
define service { use generic-service host_name CentOSDroplet service_description Custom Disk Checker In PHP check_command usedspace_php }
Nagiosを再起動します:
service nagios restart
新しいチェックが機能していることを確認します。
そして、あなたはすべて完了です!