監視ツール · 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 updateapt upgrade
次のステップでは、コマンドラインからシステムをさらに管理するために使用されるいくつかの必要なユーティリティをインストールするために新しいコマンドを実行します。
apt install wget unzip zip bash-completionN 次に、以下のコマンドを実行してシステムの名前を設定します。
hostnamectl set-hostname nagios.server.lan以下のコマンドを発行して、マシンのホスト名とhostsファイルを確認します。
hostnamectlcat /etc/hostnamecat /etc/hosts最後に、新しいホスト名を適用するためにシステムを再起動します。
init 6Nagiosは、PHPサーバーサイドプログラミング言語で書かれた一部と他のCGIプログラムを持つWebベースの監視アプリケーションです。Nagios PHPファイルスクリプトを実行するには、Apache HTTPサーバーなどのWebサーバーとPHP処理ゲートウェイがシステムにインストールされ、稼働している必要があります。Nagios 4が正常に動作するために必要なすべてのPHPモジュールとともにApache WebサーバーとPHPインタープリターをインストールするために、サーバーコンソールで以下のコマンドを発行します。
apt install apache2 libapache2-mod-php7.0 php7.0ApacheとPHPがインストールされた後、以下のコマンドをroot権限で発行して、Webサーバーが稼働しており、ポート80でネットワーク接続をリッスンしているかどうかをテストします。
netstat –tlpnnetstatネットワークユーティリティがデフォルトでDebian 9システムにインストールされていない場合は、以下のコマンドを実行してインストールします。
apt install net-tools
netstatコマンドの出力を調べると、apache Webサーバーがポート80での受信ネットワーク接続をリッスンしていることがわかります。
システムにUFWファイアウォールアプリケーションなどのファイアウォールが有効になっている場合は、以下のコマンドを発行してHTTPトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。
ufw allow WWWまたは
ufw allow 80/tcpファイアウォールでポート80の受信トラフィックを許可するためにiptablesの生ルールを使用したい場合は、以下のルールを追加します。
apt-get install -y iptables-persistentiptables -I INPUT -p tcp --destination-port 80 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reload次に、以下のコマンドを発行して、Nagios Webアプリケーションが正常に動作するために必要なApacheモジュールを有効にして適用します。
a2enmod rewrite headers cgisystemctl restart apache2
最後に、以下の画像に示すように、HTTPプロトコルを介してDebianマシンのIPアドレスまたはドメイン名にアクセスして、Apache WebサーバーのデフォルトWebページがクライアントのブラウザに表示されるかどうかをテストします。マシンのIPアドレスがわからない場合は、ifconfigまたはip aコマンドを実行します。

次のステップでは、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.phpsystemctl restart apache2以下のURLからブラウザでphpinfoスクリプトファイルにアクセスして、PHPのタイムゾーンが正しく構成されているかどうかを確認します。以下の画像に示すように、日付設定までスクロールしてphpのタイムゾーン設定を確認します。

Nagios Coreのインストール
ソースからNagios Coreをダウンロードしてコンパイルする前に、まず以下のコマンドを発行してシステムに必要な前提パッケージをインストールしてください。
apt install autoconf gcc libc6 make apache2-utils libgd-devNagiosをソースからコンパイルするために必要なすべての依存関係とパッケージがDebianシステムにインストールされた後、以下のコマンドを発行してNagios公式ウェブサイト(https://www.nagios.org/downloads/nagios-core/)にアクセスし、最新の安定版Nagios Coreソースアーカイブをダウンロードします。
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gzNagiosソースtarballがダウンロードされたら、tarアーカイブを抽出し、以下のコマンドで抽出されたnagiosディレクトリに入ります。nagios抽出ディレクトリ内でlsコマンドを実行して、ソースファイルをリストします。
tar xzf nagios-4.3.4.tar.gzcd nagios-4.3.4/ls
Nagios抽出ソースディレクトリ内にいる間に、以下のコマンドを発行してNagiosのコンパイルプロセスを開始します。最初に、NagiosをApache Webサーバーhttp構成パスがsites-enabledディレクトリを指すように構成します。
./configure --with-httpd-conf=/etc/apache2/sites-enabled次に、以下のコマンドを発行してNagiosをコンパイルします。
make all

次に、nagiosシステムユーザーとグループを作成し、nagiosアカウントをApacheランタイムユーザーに追加して、nagiosユーザーがWebリソースにアクセスするために必要な権限を持つようにします。
useradd nagiosusermod -a -G nagios www-data次に、以下のコマンドを発行してNagiosのバイナリファイル、CGIスクリプト、およびHTMLファイルをインストールします。make installコマンドの最終出力には、バイナリの場所が表示されるはずです。
make install
次に、Nagiosデーモンのsystemd初期化ファイルをインストールし、以下のコマンドを発行してnagiosサービスをシステム全体で有効にします。
make install-initsystemctl enable nagios.service
また、以下のコマンドを実行してNagios外部コマンドファイルをインストールおよび構成します。
make install-commandmode次に、以下のコマンドを実行して、Nagiosデーモンが正常に起動して動作するために必要なNagiosサンプル構成ファイルをインストールします。
make install-config
最後に、Nagios用のApache Webサーバー構成ファイルをインストールします。このファイルは/etc/apacahe2/sites-enabled/ディレクトリに配置されます。
make install-webconf
Apache Webサーバーにログインするために必要な対応するパスワードを持つnagiosadminユーザーアカウントを作成するために、以下のコマンドを発行します。
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminNagios Webパネルにアクセスするには、まずApache HTTPサーバーを再起動し、以下のコマンドを発行してNagiosサービスを開始します。
systemctl restart apache2systemctl start nagios次に、ブラウザを開いてサーバーのIPアドレス、FQDN、またはドメイン名にアクセスし、/nagios URLパスをHTTPプロトコルで追加してNagios Webインターフェースにログインします。以下のスクリーンショットに示すように、以前にこのユーザーに設定したパスワードを使用してnagiosadminユーザーでログインします。


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.gzcd nagios-plugins-release-2.2.1/
ソースからNagiosプラグインをコンパイルしてインストールするには、以下のスクリプトとコマンドをroot権限で実行します。
./tools/setup./configuremakemake installすべてのプラグインがインストールされた後、/usr/local/nagios/libexec/システムパスにそれらを見つけることができます。/usr/local/nagios/libexec/ディレクトリのすべてのコンテンツを調べるためにlsコマンドを発行して、システムに利用可能なNagiosプラグインを確認します。
ls /usr/local/nagios/libexec/
Nagiosエンジンがインストールされたプラグインを取得して使用するには、以下のコマンドを発行してNagiosサービスを再起動し、状態を確認する必要があります。
systemctl restart nagios.servicesystemctl status nagios.serviceNagiosプラグインが期待通りに動作しているかどうかをテストするには、ブラウザを開いてNagios Webインターフェースに戻り、サーバーのIPアドレス、FQDN、またはドメイン名にアクセスし、ホストまたはサービスメニューに移動します。以下のスクリーンショットに示すように、監視されているホストとサービスはプラグインによってチェックされ、プラグインコマンドの終了ステータスに応じて正しい出力が表示されるはずです。表示される色は、緑がOK、黄色が警告、赤がクリティカルです。

NagiosエンジンWebインターフェースに安全な接続を介してアクセスするためにHTTPSプロトコルを使用するには、以下のコマンドを発行してApache WebサーバーのSSLモジュールとSSLサイト構成ファイルを有効にします。
a2enmod ssla2ensite 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デーモンを再起動し、HTTPプロトコルを介してNagios Webインターフェースにアクセスします。
systemctl restart apache2.serviceApacheがHTTPSポートでリッスンしているかどうかを確認するために、netstatコマンドを実行して443ポートのバインディングを探します。
netstat -tlpnUFWファイアウォールアプリケーションがHTTPSポートへの受信ネットワーク接続をブロックしている場合は、以下のコマンドを発行してHTTPSトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。
ufw allow 'WWW Full'または
ufw allow 443/tcpiptablesファイアウォールを実行してDebianシステムを保護している場合は、以下のルールを追加して、ファイアウォールでポート443の受信トラフィックを許可し、訪問者がNagios Core Webインターフェースを閲覧できるようにします。
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reloadこれで、HTTPSプロトコルを介してNagios Webパネルに自動的にリダイレクトされるはずです。Apacheがインストール時に発行した自己署名証明書ペアを使用しているため、ブラウザにエラー警告が表示されるはずです。ブラウザの警告を受け入れ、以前に設定した資格情報を使用して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
}
host_name、alias、IPアドレス変数を適切に置き換え、Nagiosデーモンを再起動して新しいホスト定義を読み込み、変更を適用します。
systemctl restart nagios数分待ってから、Nagios Webインターフェースのホストメニューに移動してデバイスの状態を確認します。以下の画像に示すように。

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