GNU/Linux >> Linux の 問題 >  >> Cent OS

Nagiosモニタリングツールを使用してリモートLinuxシステムをモニタリングする方法

前回の記事では、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分以内に、サービスページにステータスが表示されるようになります。

結論

それで全部です。コメントセクションでフィードバックを共有してください。


Cent OS
  1. LinuxでのSCPコマンド:使用方法と例

  2. Osqueryを使用してLinuxサーバーのセキュリティを監視する方法

  3. Linux で Nagios を使用してリモート Windows マシンを監視する方法

  1. CheckmkでLinuxサーバーを監視する

  2. GlanceコマンドでLinuxシステムを監視する方法

  3. iostatコマンドを使用してLinuxシステムのパフォーマンスを監視する方法

  1. CentOS7にNginxを使用してLibreNMS監視ツールをインストールする方法

  2. Debian9にNagios4.3.xモニタリングツールをインストールする方法

  3. Linuxでnloadを使用してネットワークの使用状況を監視する方法