監視ツール · 2 min read · Oct 18, 2025

Debian 9にNagios 4.3.x監視ツールをインストールする方法

このチュートリアルでは、Debian 9.1(コードネームStretch)でソースから最新バージョンのNagios Core(現在は4.3.4)をインストールおよび構成する方法を示します。

Nagios(Nagios Coreとも呼ばれる)は、開発者によって積極的にメンテナンスされている無料のオープンソースネットワーク監視ツールであり、ネットワークインフラ全体を監視するために設計されています。Nagiosは、ルーター、スイッチ、サーバー、デスクトップ、ファイアウォールアプライアンス、IoTデバイスなど、ネットワーク接続が構成されたほぼすべてのネットワークデバイスを監視できます。デバイスのネットワーク状態を判断するためにデバイスを監視するだけでなく、Nagiosはネットワークサービス、アプリケーション、またはオペレーティングシステムに関連する他の特定のタスクを監視することもでき、ネットワーク管理者に可能性のあるデバイスの障害やサービスの失敗を通知するために、メールやSMSでアラートを送信するように構成できます。

要件

  • 最小限のソフトウェア要件で、ベアメタルマシンまたは仮想プライベートサーバーにDebian 9.1がインストールされていること。
  • ネットワークインターフェースカードが静的IPアドレスで構成されていること。
  • rootアカウントへのアクセスまたはsudoを介してrootアカウントの権限を持つユーザー。
  • 適切なDNS Aレコードが構成されたドメイン名(プライベートまたはパブリック)。DNSサーバーが構成されていない場合は、サーバーのIPアドレスを介してNagiosにアクセスできます。

初期設定

Nagiosをソースからインストールする前に、システムがNagiosのコンパイルとインストールに必要なすべてのソフトウェア要件を満たしていることを確認してください。最初のステップとして、以下のコマンドを発行してシステムのリポジトリとソフトウェアパッケージを更新します。

apt update
apt upgrade

Debianの更新をインストール

次のステップでは、コマンドラインからシステムをさらに管理するために使用されるいくつかの必要なユーティリティをインストールするために新しいコマンドを実行します。

apt install wget unzip zip bash-completion

N 次に、以下のコマンドを実行してシステムの名前を設定します。

hostnamectl set-hostname nagios.server.lan

以下のコマンドを発行して、マシンのホスト名とhostsファイルを確認します。

hostnamectl
cat /etc/hostname
cat /etc/hosts

最後に、新しいホスト名を適用するためにシステムを再起動します。

init 6

Nagiosは、PHPサーバーサイドプログラミング言語で書かれた一部と他のCGIプログラムを持つWebベースの監視アプリケーションです。Nagios PHPファイルスクリプトを実行するには、Apache HTTPサーバーなどのWebサーバーとPHP処理ゲートウェイがシステムにインストールされ、稼働している必要があります。Nagios 4が正常に動作するために必要なすべてのPHPモジュールとともにApache WebサーバーとPHPインタープリターをインストールするために、サーバーコンソールで以下のコマンドを発行します。

apt install apache2 libapache2-mod-php7.0 php7.0

ApacheとPHPがインストールされた後、以下のコマンドをroot権限で発行して、Webサーバーが稼働しており、ポート80でネットワーク接続をリッスンしているかどうかをテストします。

netstat –tlpn

netstatネットワークユーティリティがデフォルトでDebian 9システムにインストールされていない場合は、以下のコマンドを実行してインストールします。

apt install net-tools

netstatコマンドでapacheのインストールを確認

netstatコマンドの出力を調べると、apache Webサーバーがポート80での受信ネットワーク接続をリッスンしていることがわかります。

システムにUFWファイアウォールアプリケーションなどのファイアウォールが有効になっている場合は、以下のコマンドを発行してHTTPトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。

ufw allow WWW

または

ufw allow 80/tcp

ファイアウォールでポート80の受信トラフィックを許可するためにiptablesの生ルールを使用したい場合は、以下のルールを追加します。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

次に、以下のコマンドを発行して、Nagios Webアプリケーションが正常に動作するために必要なApacheモジュールを有効にして適用します。

a2enmod rewrite headers cgi
systemctl restart apache2

apacheモジュールを有効にする

最後に、以下の画像に示すように、HTTPプロトコルを介してDebianマシンのIPアドレスまたはドメイン名にアクセスして、Apache WebサーバーのデフォルトWebページがクライアントのブラウザに表示されるかどうかをテストします。マシンのIPアドレスがわからない場合は、ifconfigまたはip aコマンドを実行します。

http://192.168.1.14

ApacheデフォルトWebページ

次のステップでは、PHPのデフォルト設定ファイルにさらに変更を加えて、PHPのタイムゾーン設定が正しく構成され、システムの物理的な位置に一致することを確認する必要があります。/etc/php/7.0/apache2/php.iniファイルを編集のために開き、以下の行が次のように設定されていることを確認します。

date.timezone = Europe/London

タイムゾーン変数を、以下のリンクにあるPHPドキュメントが提供するタイムゾーンのリストを参照して、物理的な時間に応じて適切に置き換えます。http://php.net/manual/en/timezones.php。

変更を適用するためにapacheデーモンを再起動します。

systemctl restart apache2

必要な変更を加えた後、php情報ファイルを作成し、以下のコマンドを発行してapacheデーモンを再起動して変更を適用します。

echo ''| tee /var/www/html/info.php
systemctl restart apache2

以下のURLからブラウザでphpinfoスクリプトファイルにアクセスして、PHPのタイムゾーンが正しく構成されているかどうかを確認します。以下の画像に示すように、日付設定までスクロールしてphpのタイムゾーン設定を確認します。

http://192.168.1.14/info.php

PHPタイムゾーン設定を確認

Nagios Coreのインストール

ソースからNagios Coreをダウンロードしてコンパイルする前に、まず以下のコマンドを発行してシステムに必要な前提パッケージをインストールしてください。

apt install autoconf gcc libc6 make apache2-utils libgd-dev

Nagiosをソースからコンパイルするために必要なすべての依存関係とパッケージがDebianシステムにインストールされた後、以下のコマンドを発行してNagios公式ウェブサイト(https://www.nagios.org/downloads/nagios-core/)にアクセスし、最新の安定版Nagios Coreソースアーカイブをダウンロードします。

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

Nagiosソースtarballがダウンロードされたら、tarアーカイブを抽出し、以下のコマンドで抽出されたnagiosディレクトリに入ります。nagios抽出ディレクトリ内でlsコマンドを実行して、ソースファイルをリストします。

tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls

Nagiosをダウンロード

Nagios抽出ソースディレクトリ内にいる間に、以下のコマンドを発行してNagiosのコンパイルプロセスを開始します。最初に、NagiosをApache Webサーバーhttp構成パスがsites-enabledディレクトリを指すように構成します。

./configure --with-httpd-conf=/etc/apache2/sites-enabled

次に、以下のコマンドを発行してNagiosをコンパイルします。

make all

Nagiosを構成してmake

ソースからNagiosをビルド

次に、nagiosシステムユーザーとグループを作成し、nagiosアカウントをApacheランタイムユーザーに追加して、nagiosユーザーがWebリソースにアクセスするために必要な権限を持つようにします。

useradd nagios
usermod -a -G nagios www-data

次に、以下のコマンドを発行してNagiosのバイナリファイル、CGIスクリプト、およびHTMLファイルをインストールします。make installコマンドの最終出力には、バイナリの場所が表示されるはずです。

make install

コンパイルされたNagiosファイルをインストール

次に、Nagiosデーモンのsystemd初期化ファイルをインストールし、以下のコマンドを発行してnagiosサービスをシステム全体で有効にします。

make install-init
systemctl enable nagios.service

Nagios初期化ファイルをインストール

また、以下のコマンドを実行してNagios外部コマンドファイルをインストールおよび構成します。

make install-commandmode

次に、以下のコマンドを実行して、Nagiosデーモンが正常に起動して動作するために必要なNagiosサンプル構成ファイルをインストールします。

make install-config

Nagiosサンプル構成ファイルをインストール

最後に、Nagios用のApache Webサーバー構成ファイルをインストールします。このファイルは/etc/apacahe2/sites-enabled/ディレクトリに配置されます。

make install-webconf

Nagios apache web構成をインストール

Apache Webサーバーにログインするために必要な対応するパスワードを持つnagiosadminユーザーアカウントを作成するために、以下のコマンドを発行します。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nagios Webパネルにアクセスするには、まずApache HTTPサーバーを再起動し、以下のコマンドを発行してNagiosサービスを開始します。

systemctl restart apache2
systemctl start nagios

次に、ブラウザを開いてサーバーのIPアドレス、FQDN、またはドメイン名にアクセスし、/nagios URLパスをHTTPプロトコルで追加してNagios Webインターフェースにログインします。以下のスクリーンショットに示すように、以前にこのユーザーに設定したパスワードを使用してnagiosadminユーザーでログインします。

Nagiosにログイン

Nagiosダッシュボード

Nagiosプラグインのインストール

Nagiosエンジンは現在システムにインストールされています。ただし、ホストとサービスをチェックするために使用されるプラグインがインストールされていないため、Nagiosソフトウェアはまだ動作していません。この動作は、ホストメニューに移動すると、プラグインエラーが表示されることから確認できます。

Nagiosにはまだプラグインがインストールされていません

ソースから基本的なNagiosプラグインをコンパイルしてインストールするには、まず以下のコマンドを発行して、以下のライブラリと依存関係をインストールしてください。

apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev

すべての依存関係パッケージがシステムにインストールされた後、以下のアドレスにアクセスしてNagiosプラグインリポジトリページに移動し、wgetコマンドラインユーティリティを使用して最新のソースコードアーカイブを取得します。

wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz

次に、圧縮されたNagiosプラグインソースコードtarballを抽出し、以下のコマンドを実行して抽出されたnagios-pluginsディレクトリに入ります。

tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/

Nagiosプラグインをダウンロード

ソースからNagiosプラグインをコンパイルしてインストールするには、以下のスクリプトとコマンドをroot権限で実行します。

./tools/setup
./configure
make
make install

すべてのプラグインがインストールされた後、/usr/local/nagios/libexec/システムパスにそれらを見つけることができます。/usr/local/nagios/libexec/ディレクトリのすべてのコンテンツを調べるためにlsコマンドを発行して、システムに利用可能なNagiosプラグインを確認します。

ls /usr/local/nagios/libexec/

Nagios Libexecディレクトリ

Nagiosエンジンがインストールされたプラグインを取得して使用するには、以下のコマンドを発行してNagiosサービスを再起動し、状態を確認する必要があります。

systemctl restart nagios.service
systemctl status nagios.service

Nagiosプラグインが期待通りに動作しているかどうかをテストするには、ブラウザを開いてNagios Webインターフェースに戻り、サーバーのIPアドレス、FQDN、またはドメイン名にアクセスし、ホストまたはサービスメニューに移動します。以下のスクリーンショットに示すように、監視されているホストとサービスはプラグインによってチェックされ、プラグインコマンドの終了ステータスに応じて正しい出力が表示されるはずです。表示される色は、緑がOK、黄色が警告、赤がクリティカルです。

Nagios監視サービス

NagiosエンジンWebインターフェースに安全な接続を介してアクセスするためにHTTPSプロトコルを使用するには、以下のコマンドを発行してApache WebサーバーのSSLモジュールとSSLサイト構成ファイルを有効にします。

a2enmod ssl
a2ensite default-ssl.conf

次に、訪問者がブラウザからNagios Webインターフェースにアクセスするたびに自動的にHTTPSプロトコルにリダイレクトされるように、/etc/apache2/sites-enabled/000-default.confファイルを編集して、以下のリライトルールをDocumentRootステートメントの後に追加します。

RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*) https://%{HTTP_HOST}/$1

apacheでhttpsを有効にする

最後に、これまでに構成されたすべてのルールを適用するためにApacheデーモンを再起動し、HTTPプロトコルを介してNagios Webインターフェースにアクセスします。

systemctl restart apache2.service

ApacheがHTTPSポートでリッスンしているかどうかを確認するために、netstatコマンドを実行して443ポートのバインディングを探します。

netstat -tlpn

UFWファイアウォールアプリケーションがHTTPSポートへの受信ネットワーク接続をブロックしている場合は、以下のコマンドを発行してHTTPSトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。

ufw allow 'WWW Full'

または

ufw allow 443/tcp

iptablesファイアウォールを実行してDebianシステムを保護している場合は、以下のルールを追加して、ファイアウォールでポート443の受信トラフィックを許可し、訪問者がNagios Core Webインターフェースを閲覧できるようにします。

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

これで、HTTPSプロトコルを介してNagios Webパネルに自動的にリダイレクトされるはずです。Apacheがインストール時に発行した自己署名証明書ペアを使用しているため、ブラウザにエラー警告が表示されるはずです。ブラウザの警告を受け入れ、以前に設定した資格情報を使用してNagiosにログインします。

HTTPSでのNagios

Nagiosによって監視される新しいホストを追加するには、/usr/local/nagios/etc/objects/localhost.cfg構成ファイルを編集のために開き、以下の例のようにlocalhost定義の後に新しいデバイスを追加します。

define host{  
        use                     linux-server  
        host_name               router  
        alias                   router  
        address                 192.168.1.1  
        }

nagios構成ファイルを編集

host_namealiasIPアドレス変数を適切に置き換え、Nagiosデーモンを再起動して新しいホスト定義を読み込み、変更を適用します。

systemctl restart nagios

数分待ってから、Nagios Webインターフェースのホストメニューに移動してデバイスの状態を確認します。以下の画像に示すように。

SSL / TLSで保護されたNagios

以上です!Debian 9でソースからNagiosエンジンを正常にインストールおよび構成しました。監視するために組織のネットワークデバイス、サーバー、または重要なサービスを追加し始めることができます。Nagios CoreおよびNagiosプラグインに関する他のカスタム構成については、以下のリンクのドキュメントページを訪れてください。https://support.nagios.com/kb/category.php?id=12



Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。