ウェブサイト検索

NRPE プラグインを使用してリモート Linux を Nagios サーバーに追加する方法


Nagios シリーズ記事の最初の部分では、RHEL ベースのディストリビューションに最新バージョンのNagios CoreNagios プラグインをインストールして設定する方法を詳しく説明しました。 CentOS ストリームRocky LinuxAlmaLinuxFedoraなど。

この記事では、NRPE を使用してリモート Linux マシンとそのサービスを Nagios Core Monitoring ホストに追加する方法を説明します ( >Nagios Remote Plugin Executor) エージェント。

すでにNagios Core がインストールされ、適切に実行されていることを願っています。そうでない場合は、次のインストール ガイドを使用してシステムにインストールしてください。

リモートのWindows ホストをNagios モニタリング サーバーに追加する予定がある場合は、次のガイドを使用してください。

インストールしたら、NRPE エージェントをリモート Linux ホストにインストールすることができます。次に進む前に、NRPE について簡単に説明しましょう。

NRPEとは何ですか?

NRPE (Nagios Remote Plugin Executor) プラグインを使用すると、リモートのLinux/Unix サービス、ネットワーク デバイスを監視できます。 、またはローカル/リモート Linux 上のCPU 負荷スワップメモリ使用量オンライン ユーザーなどのリソース機械。

結局のところ、これらのローカル リソースはほとんど外部マシンに公開されていないため、 リモート マシンにNRPE エージェントをインストールして構成する必要があります。

: NRPE アドオンを使用するには、リモート Linux マシンにNagios プラグインがインストールされている必要があります。これらがないとNRPE デーモンは機能せず、何も監視しません。

Nagios サーバーおよびリモート Linux ホストへの NRPE プラグインのインストール

NRPE を使用するには、NRPE がインストールされているNagios モニタリング サーバーリモート Linux ホストの両方で追加のタスクを実行する必要があります。の上。両方の取り付け部分については個別に説明します。

リモート Linux ホストへの Nagios プラグインと NRPE のインストール

以下の手順に従って、Nagios プラグインNRPEデーモンをリモート Linux ホストにインストールしてください。

ステップ 1: 必要な依存関係をインストールする

gccglibcglibc-commonGD などの必須ライブラリとその開発ライブラリをインストールする必要があります。 yumパッケージマネージャー。

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
ステップ 2: Nagios ユーザーを作成する

新しい nagios ユーザー アカウントを作成し、パスワードを設定します。

useradd nagios
passwd nagios
ステップ 3: Nagios プラグインをインストールする

nagios プラグインのインストールと今後のすべてのダウンロード用のディレクトリを作成します。

mkdir /root/nagios
cd /root/nagios

次に、wget コマンドを使用して、最新の Nagios プラグイン パッケージをダウンロードします。

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
ステップ 4: Nagios プラグインを抽出する

次の tar コマンドを実行して、ソース コード tarball を抽出します。

tar -xvf nagios-plugins-2.3.3.tar.gz

その後、解凍すると、そのディレクトリに新しいフォルダーが 1 つ表示されます。

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
ステップ 5: Nagios プラグインをコンパイルしてインストールする

次に、次のコマンドを使用して nagios プラグインをコンパイルしてインストールします。

cd nagios-plugins-2.3.3
./configure 
make
make install

chown コマンドを使用して、プラグイン ディレクトリの権限を設定します。

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
ステップ 6: NRPE プラグインのインストール

nrpe プラグインをインストールするには、まず最新の NRPE プラグインをダウンロードするか、次の wget コマンドを使用します。

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

NRPE ソース コードの tarball を解凍します。

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

NRPE アドオンをコンパイルしてインストールします。

./configure
make all

: 「すべて作成」コマンドの実行中に次のエラーが発生した場合:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

次に、示されているように、./configure --disable-ssl フラグを使用して、nrpe 構成の SSL を無効にする必要があります。

./configure --disable-ssl
make all

次に、NRPE プラグイン デーモンとサンプル構成ファイルをインストールします。

make install-plugin
make install-daemon
make install-config

NRPE デーモンをサービスとして systemd にインストールします。

make install-init
ステップ 7: NRPE プラグインの構成

次に、/usr/local/nagios/etc/nrpe.cfg ファイルを開き、Nagios のローカル ホストIP アドレスを追加します。監視サーバーです。

allowed_hosts=127.0.0.1,192.168.102

次に、nrpe サービスを有効にして再起動します。

systemctl enable nrpe
systemctl restart nrpe
ステップ 8: ファイアウォールで NRPE ポートを開く

ローカル マシンのファイアウォールによって、 リモート サーバーからのNRPEデーモンへのアクセスが許可されていることを確認してください。これを行うには、次の iptables コマンドを実行します。

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
ステップ 8: NRPE デーモンをローカルで検証する

次の netstat コマンドを実行して、NRPE デーモンがsystemd で正しく動作していることを確認します。


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

上記のような出力が得られた場合は、正しく動作していることを意味します。そうでない場合は、次のことを必ず確認してください。

  • nrpe エントリが/etc/services ファイルに正しく追加されていることを必ず確認してください。
  • allowed_hosts には、/usr/local/nagios/etc/nrpe.cfg ファイル内の「nagios_ip_address」のエントリが含まれています。
  • nrpe に関するシステム ログ ファイル内のエラーを確認し、それらの問題を修正します。

次に、テスト目的で以前にインストールした「check_nrpe」コマンドを実行して、NRPE デーモンが適切に機能していることを確認します。

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

画面に次の文字列が表示され、インストールされている NRPE のバージョンが示されます。

NRPE v4.0.2
ステップ 9: NRPE コマンドをカスタマイズする

インストールされたデフォルトの NRPE 構成ファイルには、このマシンの監視に使用されるいくつかのコマンド定義が含まれています。サンプル構成ファイルは次の場所にあります。

vi /usr/local/nagios/etc/nrpe.cfg

以下は、構成ファイルの下部にあるデフォルトのコマンド定義です。当面は、これらのコマンドを使用していることを前提としています。次のコマンドを使用して確認できます。

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

NRPE 構成ファイルを編集することで、新しいコマンド定義を編集および追加できます。最後に、リモート Linux ホストに NRPE エージェントが正常にインストールされ、設定されました。

次に、NRPE コンポーネントをインストールし、Nagios モニタリング サーバーにいくつかのサービスを追加します。

Nagios モニタリングサーバーへの NRPE のインストール

ここでNagios 監視サーバーにログインします。ここでは、次のことを行う必要があります。

  • check_nrpe プラグインをインストールします。
  • check_nrpe プラグインを使用してNagios コマンド定義を作成します。
  • Nagios ホストを作成し、リモート Linux ホストを監視するためのサービス定義を追加します。
ステップ 1: Nagios に NRPE プラグインをインストールする

nagios ダウンロード ディレクトリに移動し、最新の NRPE プラグインをダウンロードするか、 次のwget コマンドを使用します。

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

NRPE ソース コードの tarball を解凍します。

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

NRPE アドオンをコンパイルしてインストールします。

./configure
make all
make install-plugin
make install-daemon
make install-init
ステップ 2: NRPE デーモンをリモートで検証する

check_nrpe プラグインがリモートの Linux ホスト上の NRPE デーモンと通信できることを確認してください。以下のコマンドのIP アドレスリモート Linux ホストの IP アドレスを追加します。

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

次のような、リモート ホストにインストールされている NRPE のバージョンを示す文字列が返されます。

NRPE v4.0.2

プラグインのタイムアウト エラーが発生した場合は、次のことを確認してください。

  • ファイアウォールがリモート ホスト監視ホストの間の通信をブロックしていないことを確認してください。
  • NRPE デーモンが systemd に正しくインストールされていることを確認してください。
  • リモート Linux ホストのファイアウォール ルールが監視サーバーNRPE デーモンとの通信をブロックしていることを確認してください。

Nagios モニタリングサーバーへのリモート Linux ホストの追加

リモート ホストを追加するには、「/usr/local/nagios/」の下に 2 つの新しいファイル「hosts.cfg」と「services.cfg」を作成する必要があります。 etc/」の場所。

ステップ 1: Nagios ホストとサービス ファイルの作成
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

次に、これら 2 つのファイルをメインの Nagios 設定ファイルに追加します。任意のエディタで nagios.cfg ファイルを開きます。

vi /usr/local/nagios/etc/nagios.cfg

次に、以下に示すように、新しく作成した 2 つのファイルを追加します。

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
ステップ 2: Nagios ホストとサービス ファイルの構成

ここでhosts.cfg ファイルを開き、以下に示すようにデフォルトのホスト テンプレート名を追加しリモート ホストを定義します。必ずホスト名エイリアス、およびアドレスをリモート ホスト サーバーの詳細に置き換えてください。

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

次に、services.cfg ファイルを開き、監視する次のサービスを追加します。

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
ステップ 3: NRPE コマンド定義の構成

ここで、NRPE コマンド定義をcommands.cfg ファイルに作成する必要があります。

vi /usr/local/nagios/etc/objects/commands.cfg

ファイルの最後に次の NRPE コマンド定義を追加します。

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

最後に、Nagios 設定ファイルにエラーがないか確認します。

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

最後に、Nagios を再起動して、最近の設定変更を適用します。

systemctl restart nagios
ステップ 4: Nagios でのリモート Linux の監視

ここで、「http://Your-server-IP-address/nagios」または「http://FQDN/nagios」のNagios Monitoring Webインターフェイスに移動します。 」し、ユーザー名「nagiosadmin 」 とパスワードを入力します。 リモート Linux ホストが追加され、監視されていることを確認します。

結論

それでおしまい!当面は、次の記事でWindows ホストNagios 監視サーバーに追加する方法を説明します。リモートホストをNagiosに追加する際に問題が発生した場合。

コメント セクションを通じて質問や問題についてコメントしてください。それまでは、linux-console.net でこのような貴重な記事をさらにご覧ください。