前回の記事では、CentOS 8、CentOS 7、Ubuntu 18.04 / 16.04、Debian10 / 9へのNagiosサーバーのインストールについて説明しました。ここでは、NRPEプラグインを使用してLinuxホストをNagios監視ツールに追加します。
Nagiosのセットアップが機能していることを前提としています。そうでない場合は、以下のリンクのいずれかを使用してNagiosサーバーをセットアップしてください。
Nagiosサーバーをインストールする
読む :CentOS 8 /RHEL8にNagiosをインストールする方法
読む :CentOS 7 /RHEL7にNagiosをインストールする方法
読む :Ubuntu18.04およびUbuntu16.04にNagiosをインストールする方法
読む :Debian10/9にNagiosをインストールする方法
NagiosでリモートLinuxシステムを監視する
リモートLinuxシステムの場合
Nagios Remote Plugin Executor(NRPEと略記)プラグインを使用すると、リモートのLinux/Windowsホストで実行されているアプリケーションとサービスを監視できます。このNRPEアドオンは、NagiosがリモートホストのCPU、メモリ、ディスク、スワップなどのローカルリソースを監視するのに役立ちます。
NRPEアドオンとNagiosプラグインをインストールする
CentOS / RHEL
NRPEサーバーおよびNagiosプラグインは、CentOS/RHELのEPELリポジトリで利用できます。したがって、CentOS/RHELシステムでEPELリポジトリを構成します。
### CentOS 8 / RHEL 8 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ### CentOS 6 / RHEL 6 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
次のコマンドを使用して、NRPEアドオンおよびNagiosプラグインをインストールします。
yum install -y nrpe nagios-plugins-all
Ubuntu / Debian
次のコマンドを使用して、NRPEアドオンおよびNagiosプラグインをインストールします。
sudo apt update sudo apt install -y nagios-nrpe-server nagios-plugins
NRPEアドオンの構成
Nagiosサーバーからの接続を受け入れるようにNRPE構成ファイルを変更し、/ etc / nagios/nrpe.cfgファイルを編集します。
### CentOS / RHEL ### vi /etc/nagios/nrpe.cfg ### Ubuntu / Debian ### sudo nano /etc/nagios/nrpe.cfg
NagiosサーバーのIPアドレスを、以下のようにカンマで区切って追加します。
allowed_hosts=192.168.0.10
Nagiosチェックの構成
/etc/nagios/nrpe.cfgファイルには、リモートホスト上の属性(CPU、メモリ、ディスクなどのアーキテクチャ)とサービス(HTTP、FTPなど)を確認するための基本的なコマンドが含まれています。
Nagiosプラグインへのパスは、オペレーティングシステムアーキテクチャ(i386またはx86_64)によって変わる可能性があります。CentOS / RHEL
vi /etc/nagios/nrpe.cfg
以下のコマンドラインでは、Nagiosプラグインを使用して、ログインしているユーザー、システムの負荷、ルートファイルシステムの使用状況、スワップの使用状況、およびプロセスの総数を監視できます。
# COMMAND DEFINITIONS ... ... command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p / command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10% command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
Ubuntu / Debian
sudo nano /etc/nagios/nrpe.cfg
以下のコマンドラインでは、Nagiosプラグインを使用して、ログインしているユーザー、システムの負荷、ルートファイルシステムの使用状況、スワップの使用状況、およびプロセスの総数を監視できます。
# COMMAND DEFINITIONS ... ... command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p / command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10% command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200上記のコマンド定義では、-wは警告を表します -cはクリティカルを表します 。
Nagiosチェックのテスト
たとえば、別の端末で以下のコマンドを実行して、チェック結果を確認します。
Ubuntu 18.04:
/usr/lib/nagios/plugins/check_procs -w 150 -c 200
出力:
PROCS WARNING: 190 processes | procs=190;150;200;0;
Nagiosプラグインは、実行中のプロセスをカウントし、プロセスカウントが150を超える場合は警告を表示します。または、プロセスカウントが200を超える場合はクリティカルを報告し、同時に、カウントが以下の場合は出力にOKと表示されます。 150。
要件に応じてアラートレベルを調整できます。
テスト目的で、警告を200に、クリティカルを250に変更します。これで、OKメッセージが表示されます。
/usr/lib/nagios/plugins/check_procs -w 200 -c 250
出力:
PROCS OK: 189 processes | procs=189;200;250;0;
監視を有効にするには、これらのコマンド定義をNagiosサーバーホストのテンプレートファイルに入力する必要があります。
NRPEサービスを再起動します。
### CentOS / RHEL ### systemctl start nrpe systemctl enable nrpe ### Ubuntu / Debian ### sudo systemctl restart nagios-nrpe-server
ファイアウォール
NagiosサーバーがリモートLinuxホストで実行されているNRPEサーバーに到達できるようにファイアウォールを構成します。これらのコマンドをリモートのLinuxマシンで実行します。
FirewallD
firewall-cmd --permanent --add-port=5666/tcp firewall-cmd --reload
IPテーブル
iptables -I INPUT -p tcp --dport 5666 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -I OUTPUT -p tcp --sport 5666 -m conntrack --ctstate ESTABLISHED -j ACCEPT /etc/init.d/iptables save
Nagiosサーバー上
NRPEプラグインをインストールする
このNRPEプラグインは、リモートマシン上のNRPEサーバーに接続してサービスまたはリソースをチェックするcheck_nrpeプラグインを提供します。
CentOS / RHEL
Nagios NRPEプラグインは、CentOS/RHELのEPELリポジトリで利用できます。したがって、CentOS/RHELシステムでEPELリポジトリを構成します。
### CentOS 8 / RHEL 8 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ### CentOS 6 / RHEL 6 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
次のコマンドを使用して、マシンにNRPEプラグインをインストールします。
yum -y install nagios-plugins-nrpe
Ubuntu / Debian
次のコマンドを使用して、マシンにNRPEプラグインをインストールします。
sudo apt install -y nagios-nrpe-plugin
構成の編集
Nagios構成ファイルを編集して、/ usr / local / nagios / etc/serversディレクトリ内のすべての.cfgファイルを含めます。
### CentOS / RHEL ### vi /usr/local/nagios/etc/nagios.cfg ### Ubuntu / Debian ### sudo nano /usr/local/nagios/etc/nagios.cfg
次の行を追加またはコメント解除します。
cfg_dir=/usr/local/nagios/etc/servers
構成ディレクトリを作成します。
### CentOS / RHEL ### mkdir /usr/local/nagios/etc/servers ### Ubuntu / Debian ### sudo mkdir /usr/local/nagios/etc/servers
コマンド定義の追加
次に、リモートクライアントマシンを監視するようにNagiosサーバーを構成します。check_nrpeプラグインを使用するには、Nagiosオブジェクト構成ファイルにコマンド定義を作成する必要があります。
コマンド.cfgファイルを開きます。
CentOS / RHEL
vi /usr/local/nagios/etc/objects/commands.cfg
次のNagiosコマンド定義をファイルに追加します。
# .check_nrpe. command definition define command{ command_name check_nrpe command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ }
Ubuntu / Debian
sudo nano /usr/local/nagios/etc/objects/commands.cfg
次のNagiosコマンド定義をファイルに追加します。
# .check_nrpe. command definition define command{ command_name check_nrpe command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ }
LinuxホストをNagiosサーバーに追加する
クライアント構成ファイル/usr/local/nagios/etc/servers/client.itzgeek.local.cfgを作成して、リモートLinuxホストのホストとサービスの定義を定義します。
### CentOS / RHEL ### vi /usr/local/nagios/etc/servers/client.itzgeek.local.cfg ### Ubuntu / Debian ### sudo nano /usr/local/nagios/etc/servers/client.itzgeek.local.cfg
以下のコンテンツを上記のファイルにコピーします。
次のテンプレートを使用して、要件に応じて変更することもできます。次のテンプレートは、ログインしているユーザー、システム負荷、ディスク使用量(/ –パーティション)、スワップ、およびプロセス全体を監視するためのものです。
define host{ use linux-server host_name client.itzgeek.local alias client.itzgeek.local address 192.168.0.20 } define hostgroup{ hostgroup_name linux-server alias Linux Servers members client.itzgeek.local } define service{ use local-service host_name client.itzgeek.local service_description SWAP Uasge check_command check_nrpe!check_swap } define service{ use local-service host_name client.itzgeek.local service_description Root / Partition check_command check_nrpe!check_root } define service{ use local-service host_name client.itzgeek.local service_description Current Users check_command check_nrpe!check_users } define service{ use local-service host_name client.itzgeek.local service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use local-service host_name client.itzgeek.local service_description Current Load check_command check_nrpe!check_load }
Nagiosにエラーがないか確認します。
### CentOS / RHEL ### /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ### Ubuntu / Debian ### /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagiosサーバーを再起動します。
### CentOS / RHEL ### systemctl restart nagios ### Ubuntu / Debian ### sudo systemctl restart nagios
Nagiosモニタリングを確認する
Nagios Webインターフェイスにアクセスして、今追加した新しいサービスを確認してください。
1分以内に、サービスページにステータスが表示されるようになります。
結論
それで全部です。コメントセクションでフィードバックを共有してください。