Nagiosは、システム、ネットワーク、サービス、およびアプリケーションの継続的な監視に使用される、人気のあるオープンソースアプリケーションです。機械や各種サービスの状態を常時監視しています。問題が発生した場合は、管理者が必要なアクションを実行できるように早期警告を提供します。 Nagiosは、プラグインと呼ばれる外部プログラムを使用して、ローカルマシンとホストマシンですべてのチェックを実行します。また、ホストとサービスのステータス、履歴、ログの表示、およびレポートの生成を可能にするWebインターフェイスも提供します。
この投稿では、LinuxにNagiosをインストールして構成し、他のLinuxサーバーの状態を監視する方法について説明します。 2台のDebian10(Buster)サーバーを使用します。両方とも同じネットワーク上にあります。監視サーバーに、Nagiosコア、Nagiosプラグイン、およびcheck_nrpeプラグインをインストールします。リモートホスト上で、NagiosプラグインとNRPEをインストールします。
用語
構成を理解するのに役立ついくつかの用語を理解しましょう:
ホスト :物理マシン、ワークステーション、ネットワークデバイスなど、監視が必要なデバイスです。
サービス :HTTP、SMTP、POP、DNS、ログインユーザー数、メモリ使用量など、ホスト上で監視されているサービスまたはリソースです。
Nagiosプラグイン: これらは、ホストまたはサービスのステータスをチェックし、それらが正しく機能しているかどうかを確認するスクリプトです。プロセッサの負荷、ディスク使用量、pingレートなどの基本的なリソースをチェックできる、事前定義されたプラグインがいくつかあります。プラグインは通常、 / usr / local / nagios / libexecにあります。 ディレクトリ。
NRPE(Nagios Remote Plugin Executor)アドオン: NRPEアドオンは、リモートLinuxホストでプラグインを実行します。これにより、Nagiosはローカルリソース(ディスク容量、メモリ使用量など)を監視できます。 NRPEアドオンの構成:
- NRPEデーモン –監視が必要なリモートLinux/Unixホストで実行されます
- check_nrpeプラグイン –Nagiosモニタリングサーバーによって使用されます
両方のサーバーでsudo特権が必要です。私たちのマシンの詳細は次のとおりです:
Nagios Monitoring Server:
- ホスト名:nagios-server、
- IPアドレス:192.168.72.158
Nagiosホスト:
- ホスト名:クライアント
- IPアドレス:192.168.72.159
ステップ1–モニタリングサーバーへのNagiosCoreのインストール
Nagios監視サーバーで、以下の手順に従ってNagiosコアをダウンロードしてインストールします。
1。前提条件のインストール
まず、Nagiosモニタリングサーバーに前提条件をインストールする必要があります。これを行うには、ターミナルで次のコマンドを使用してパッケージリストを更新します。
$ sudo apt update
次に、必要なパッケージをインストールします:
$ sudo apt install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.4 libgd-dev openssl libssl-dev
2。 Nagiosソースをダウンロード
/ tmpに移動します ディレクトリ:
$ cd / tmp
次に、 wgetを使用してNagiosソースコードをダウンロードします 指図。 4.4.6であるNagiosの現在利用可能な最新バージョンをダウンロードします 。 Nagios Downloadsにアクセスして、現在の安定したリリースを探すことができます。
$ wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
ダウンロードしたファイルはnagios.tar.gzとして保存されます / tmp内 ディレクトリ。
3。ソースのコンパイル
ダウンロードしたアーカイブを抽出しますnagios.tar.gz 以下のコマンドを使用して:
$ tar -xzf nagios.tar.gz
cdを使用して抽出したフォルダに移動します コマンド:
$ cd nagioscore-nagios-4.4.6 /
設定を実行します スクリプトを作成し、Apacheサーバー構成ディレクトリへのパスを指定します。
$ ./configure --with-httpd-conf =/ etc / apache2 / sites-enabled
configureスクリプトが実行されると、出力の最後に以下の要約が表示されます。
構成 前提条件が欠落している場合、スクリプトが失敗する可能性があります。その場合は、不足している前提条件をインストールして、スクリプトを再度実行してください。
次に、以下のコマンドを使用してNagiosをコンパイルします。
$ make all
4。ユーザーとグループを作成する
次に、Nagiosのユーザーとグループを作成します。
$ sudo make install-groups-users
上記のコマンドは、システムユーザーとグループNagiosを作成します。
また、ユーザー「 www-data」を追加する必要があります 」からnagios グループ。
$ sudo usermod -a -G nagios www-data
5。バイナリのインストール
次に、バイナリをインストールするには、次のコマンドを使用します。
$ sudo make install
6。サービス/デーモンのインストール
サービスファイルをインストールするには、次のコマンドを使用します。
$ sudo make install-daemoninit
7。コマンドモードのインストール
外部コマンドファイルをインストールして構成するには、次のコマンドを使用します。
$ sudo make install-commandmode
8。構成ファイルのインストール
次に、サンプルのNagios構成をインストールするには、次のコマンドを使用します。
$ sudo make install-config
9。 Apache構成ファイルをインストールする
これにより、Apache構成ファイルがインストールされます。次のコマンドを使用してください。
$ sudo make install-webconf
次に、以下のコマンドを使用してApacheモジュールを有効にします。
$ sudo a2enmod rewrite
sudo a2enmod cgi
WebインターフェイスのNagiosadminユーザーアカウントを作成します:
次に、NagiosWebインターフェイスにアクセスできるApacheユーザーアカウントを作成します。
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
次に、 nagiosadminのパスワードを設定します ユーザーアカウント。このパスワードは、Nagiosのウェブインターフェースにアクセスするために使用されます。
次に、Apacheを再起動して、構成の変更を有効にします。
$ sudo systemctl restart apache2
これで、Nagiosコアエンジンが正常にインストールされました。
ステップ2–監視サーバーへのNagiosプラグインのインストール
Nagiosコアが正しく機能するには、Nagiosプラグインをインストールする必要があります。
Nagiosプラグインをダウンロード
Nagiosサーバーで、 / tmpに移動します ディレクトリ:
$ cd / tmp
次に、 wgetを使用してNagiosプラグインのソースコードをダウンロードします 指図。 2.3.3。であるNagiosプラグインの現在利用可能な最新バージョンをダウンロードします。 Githubページにアクセスして、最近の安定したリリースを見つけることができます。
$ wget -ONagios-plugins.tar.gzhttps://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar。 gz
ダウンロードしたファイルはNagios-plugins.tar.gzとして保存されます / tmp内 ディレクトリ。
コンパイル
ダウンロードしたアーカイブを抽出しますNagios-plugins.tar.gz 以下のコマンドを使用して:
$ tar zxf nagios-plugins.tar.gz
cdを使用して抽出されたフォルダに移動します コマンド:
$ cd nagios-plugins-2.3.3 /
設定を実行します スクリプト:
$ sudo ./configure
次に、以下のコマンドを使用してNagiosプラグインをコンパイルします。
$ sudo make
$ sudo make install
ステップ3–監視サーバーへのcheck_nrpeプラグインのインストール
次に、 check_nrpeをインストールします Nagiosサーバーのプラグイン。
プラグインソースのダウンロード
Nagiosサーバーで、 / tmpに移動します ディレクトリ:
$ cd / tmp
次に、wgetコマンドを使用してcheck_nrpeソースコードをダウンロードします。 check_nrpeの最近利用可能なバージョンである4.0.3をダウンロードします。 Githubページにアクセスして、最近の安定したリリースを見つけることができます。
$ wget -O Nagios-nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
ダウンロードしたファイルはNagios-nrpe.tar.gzとして保存されます / tmp内 ディレクトリ。
ソースのコンパイル
ダウンロードしたアーカイブを抽出しますnagios.tar.gz 以下のコマンドを使用して:
$ tar -xzf Nagios-nrpe.tar.gz
cdを使用して抽出されたフォルダに移動します コマンド:
$ cd nrpe-4.0.3 /
設定を実行します スクリプト:
$ sudo ./configure
次に、 check_nrpeをコンパイルします 以下のコマンドを使用します:
$ sudo make check_nrpe
$ sudo make install-plugin
ステップ4–Nagiosの設定
次に、Nagiosのメイン構成ファイルを構成します。 EditheNagios構成ファイルnagios.cfg 以下のコマンドを使用します:
$ sudo nano /usr/local/nagios/etc/nagios.cfg
次に、ファイル内で以下の行を見つけ、#を削除してコメントを解除します。 行頭からの文字。
#cfg_dir =/ usr / local / nagios / etc / servers
上記の行は、Nagiosサーバーが監視するすべてのホストの構成ファイルを含むディレクトリを指定しています。次に、構成ファイルを保存して閉じます。
次に、上記で定義したパスにディレクトリを作成します。
$ sudo mkdir / usr / local / nagios / etc / servers
電子メール連絡先の構成
次に、イベントが発生した場合に通知する必要がある連絡先を構成します。以下のコマンドを使用して、Nagiosの連絡先構成を編集します。
Nagiosモニタリングサーバーからアラートを受信するには、連絡先を構成する必要があります。 連絡先を開きます 構成ファイルを入力し、Nagiosからのメールを受信するメールアドレスを指定します:
$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg
メールディレクティブで、[email protected] localhostを置き換えます 自分のメールアドレスを使用して、ファイルを保存して閉じます。
check_nrpeを構成する
ここで、 check_nrpeを使用するために プラグイン、コマンドに新しいコマンドを追加します 構成ファイル。コマンド構成ファイルcommands.cfgを編集します 以下のコマンドを使用します:
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
次の行をcommands.cfgの最後に追加します ファイルを作成し、保存して閉じます:
defineコマンド{
command_name check_nrpe
command_line $ USER1 $ / check_nrpe -H $ HOSTADDRESS $ -c $ ARG1 $
}
Nagiosサービスを開始します:
$ sudo systemctl start Nagios.service
ステップ5–NagiosWebインターフェースへのアクセス
次に、任意のWebブラウザで以下のアドレスにアクセスしてNagiosWebインターフェイスにアクセスします。
http:// nagios-server-ip / nagios
このシナリオでは、次のようになります。
http://192.168.72.158/nagios
認証が必要 ダイアログで、 nagiosadminと入力します 以前に設定したユーザー名とパスワードとして。
Webインターフェースにログインすると、デフォルトのNagiosWebページが表示されます。 ホストに移動します 左側のサイドバーからタブをクリックして、監視対象のホストを表示します。
現在、「 localhost」というホストは1つしか表示されません。 」はNagiosサーバー自体です。他のホストを監視するには、 NRPEをインストールする必要があります それらのデーモン。
ステップ6–リモートホストのセットアップ
次に、Nagiosプラグインをインストールする必要があります およびNRPE Nagiosサーバーで監視する必要のあるホストで。
1。 Nagiosプラグインをリモートホストにインストールする
監視が必要なリモートホスト(クライアント)で、以下の手順に従ってNagiosプラグインをインストールします。
1.まず、aptを更新します:
$ sudo apt update
2.次に、以下のコマンドを発行して、必要なパッケージをインストールします。
$ sudo apt install autoconf gcc libmcrypt-dev make libssl-dev dc build-essential gettext
3.次に、 / tmpに移動します Nagiosプラグインをダウンロードします。
$ cd / tmp
$ wget -ONagios-plugins.tar.gzhttps://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar。 gz
4.ダウンロードしたアーカイブを抽出します:
$ tar -zxf nagios-plugins.tar.gz
5.解凍したフォルダに移動し、設定を実行します スクリプト:
$ cd nagios-plugins-2.3.3 //
$ sudo ./configure
6.プラグインをコンパイルします:
$ sudo make
$ sudo make install
2。リモートホストにNRPEデーモンをインストールする
以下の手順に従って、リモートホストにNRPEをインストールします。
1.まず、aptを更新します:
$ sudo apt update
2.以下のコマンドを発行して、前提条件をインストールします。
$ sudo apt install -y autoconf automake gcc libc6 libmcrypt-dev make libssl-dev
3.次に、 / tmpに移動します NRPEをダウンロードしてください。
$ cd / tmp
$ wget -Onrpe.tar.gzhttps://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar。 gz
4.ダウンロードしたアーカイブを抽出します:
$ tar xzf nrpe.tar.gz
5.抽出したフォルダに移動して、設定スクリプトを実行します:
$ sudo ./configure --enable-command-args
6.次のコマンドを使用してNRPEをコンパイルします。
$ sudo make all
$ make install-groups-users
$ sudo make install
$ sudo make install-config
$ sudo make install-init
3。ファイアウォールの構成
これで、リモートホストでファイアウォールが実行されている場合は、ファイアウォールを介してポート5666(NRPEで使用)を開く必要があります。
$ sudo ufw allow 5666 / tcp
4。 NRPE構成の更新
次に、リモートホストでNRPE構成ファイルを開きます。
$ sudo nano /usr/local/nagios/etc/nrpe.cfg
以下のエントリを見つけて変更する必要があります:
クライアントIPアドレスを追加します:
server_address =192.168.72.159
NagiosサーバーのIPアドレスを追加します:
allowed_hosts =127.0.0.1,192.168.72.158
また、 / dev / vda1を置き換えます ルートファイルシステムで:
コマンド[check_disk]=/ usr / local / nagios / libexec / check_disk -w 20%-c 10%-p / dev / sda1
次に、NRPEサービスを開始します。
$ sudo systemctl start nrpe.service
次に、NRPEサービスが正しく実行されているかどうかを確認します。
$ sudo systemctl status nrpe.service
以下の出力のアクティブ(実行中)は、サービスが問題なく正常に実行されていることを示しています。 NRPEが192.168.72.158からの接続を許可していることも確認できます これはNagiosサーバーのIPアドレスです。
次に、 check_nrpeかどうかを確認します Nagiosサーバー上 リモートホスト上のNRPEと通信できます 、Nagiosサーバーでこのコマンドを発行します :
$ / usr / local / nagios / libexec / check_nrpe -H remote_host_ip
次の同様の出力(NRPEバージョン番号)を受け取るはずです。
ステップ7–ホスト構成をNagiosサーバーに追加する
これで、Nagios監視サーバーで、 / usr / local / nagios / etc / serversに個別の構成ファイルを作成する必要があります。 /監視する必要のあるすべてのリモートホスト用。
ホストマシン用に、新しい構成ファイル client.cfgを作成します :
$ sudo nano /usr/local/nagios/etc/servers/client.cfg
クライアントを置き換えます ホストの名前で:
次に、ホスト定義を追加します host_nameの値を置き換える新しい構成ファイルに リモートホスト名、エイリアス 簡単な説明と住所 リモートホストのIPアドレスを使用します。
この構成では、ホストマシンが稼働しているか停止しているかを確認します。
定義ホスト{
use linux-server
host_name client
alias client machine
address 192.168 .72.159
max_check_attempts 5
}
次に、サービス定義を追加します リモートホストを監視するための構成ファイルに移動します。 host_nameの値を置き換えます リモートホスト名を使用します。
注: これらのサービス定義は、/usr/local/nagios/etc/nrpe.cfgで事前構成されたコマンドを使用します リモートホスト上のファイル。
次のサービスブロックを追加して、CPU負荷を監視します リモートホスト上
サービスの定義{
generic-serviceを使用
host_name client
service_description CPU Load
check_command check_nrpe! check_load
}
リモートホストのc:
サービスの定義{
generic-serviceを使用
host_name client
service_description Total Processes
check_command check_nrpe! check_total_procs
}
次のサービスブロックを追加して、ディスク使用量を監視します リモートホスト上:
定義サービス{
use generic-service
host_name client
service_description check Disk
check!check _ command _ command}
次のサービスブロックを追加して、ユーザー数を監視します 現在ログインしています リモートホスト上:
サービスを定義する{
generic-serviceを使用する
host_nameクライアント
service_description service_description br pre>次に、構成ファイルを保存して閉じます。
Nagiosサービスを再起動して、構成の変更を適用します。
$ sudo systemctl restart Nagios次に、http:// nagios-server-ip/nagiosを使用してWebインターフェイスにアクセスします。しばらく待つと、リモートホストがNagiosWebインターフェースに追加されます。
ホストに移動します 左側のナビゲーションバーから、リモートホストが一覧表示されます。
次に、サービスに移動します タブをクリックすると、監視用に構成したホストのすべてのサービスのステータスが表示されます。
この投稿では、LinuxにNagiosモニタリングソリューションをインストールして構成する方法について説明しました。また、監視用にリモートホストを設定する方法についても説明しました。これで、Linuxホストとその上で実行されているサービスの状態を簡単に監視できます。
Zabbixでサーバーを監視することに興味がある場合は、ここをクリックしてください。
Debian