【手順】Nagios CoreをUbuntu 16で構築(Webインターフェースログインまで)

はじめに

Ubuntu 16でNagios Coreの構築手順を記載します。

本記事では、Nagios CoreのWEBインターフェースにログインするまでをゴールとします。

参考としたサイトはNagios Coreの公式ドキュメントです。
https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html#Ubuntu

 

環境は以下のようになっています。

ソフトウェア バージョン
Nagios Core 4.4.5
Ubuntu 16.04 LTS
Apache 2.4.18

手順

Nagios Coreのパッケージをダウンロード

    1. 下記URLにアクセスします。
      https://www.nagios.org/downloads/nagios-core/
  1. 「Nagios Core」の下の[Download]ボタンをクリックします。
  2. この画面は[Skip]ボタンで問題ありません。
  3. 今の最新バージョンの[nagios-4.4.5.tar.gz]をクリックしてパッケージをダウンロードします。

 

Ubuntu 16をインストールとSELinuxパッケージの存在なしを確認

ここではUbuntuのインストール手順は省きます。Ubuntuをインストールした後、SELinuxパッケージが設定されていないことを確認します。

※”un”というステータスはunpacked。

インストールに必要なパッケージをインストールする

Ubuntu 16または17で、Nagios Coreのインストール前に必要なパッケージは以下です。

必要なパッケージ
autoconf
gcc
libc6
make
wget
unzip
apache2
php
libapache2-mod-php7.2
libgd-dev

下記コマンドでインストールします。

※「apt-get upgrade」コマンドで、インストールされているパッケージを最新にしています。
※「apt-get install -y」コマンドで、指定したパッケージに対してすべて”yes”と答えてインストールしています。

 

Nagios-Coreのソースのダウンロード

※「wget -O」コマンドで、指定したURLからソースをダウンロードし、”nagioscore.tar.gz”という名前のファイルに出力しています。
※「tar xzf」コマンドで、”nagioscore.tar.gz”ファイルを解凍しています。

 

Nagios-Coreのソースのコンパイル

※「./configure」コマンドに「–with-httpd-conf」オプションを付けて、「/etc/apache2/sites-enabled」ディレクトリの設定ファイルを指定して、MakeFileを作成しています。
※「make all」コマンドで、コンパイルしています。

 

Nagiosユーザーとグループの作成

※「make install-groups-users」コマンドを実行することによって、「groupadd -r nagios」コマンドと「useradd -g nagios nagios」コマンドが実行されます。つまり、”nagios”というシステムグループが作成され、その”nagios”グループに”nagios”ユーザがシステムユーザーとして作成され、追加されます。

 

※”www-data”グループのサブグループに、”nagios”グループを追加しています。

バイナリファイルのインストール

※この手順で、バイナリファイルと、CGIと、HTMLファイルがインストールされます。

 

サービスとデーモンのインストール

※サービスとデーモンのファイルをインストールし、起動時にスタートするように設定しています。

 

コマンドモードのインストール

※エクスターナルコマンドのファイルと設定をインストールしています。

 

設定ファイルのインストール

サンプルの設定ファイルをインストールします。

 

Apacheの設定ファイルをインストール

Apache Webサーバの設定ファイルをインストールし、Apacheの設定を行います。

※「make install-webconf」コマンドでApache Webインターフェースの設定ファイルをインストールしています。
※「a2enmod rewrite」コマンドで”mod_rewrite”モジュールを有効化しています。
※「a2enmod cgi」コマンドで、”cgi”モジュールを有効化しています。

 

ファイアーウォールの設定

※ファイアーウォールにApacheを許可して、ファイアーウォールを再起動しています。
※80番ポートのINを許可すればOKだそうです。

 

NagiosのAdminユーザーアカウントの作成

※「htpasswd.users」ファイルを新規作成して「nagiosadmin」ユーザーを追加しています。次回からユーザーを追加するときは、「-c」オプションを取ります。取らないと既存のパスワードファイルが上書きされて、nagiosユーザーが消えてしまいます。

 

Apache Webサーバの開始

 

サービスとデーモンの開始

Nagios Webインターフェースにログイン

ブラウザを起動して、「http:”IPアドレス”/nagios」へアクセスします。
IDとパスワードが聞かれたら、”nagiosadmin”ユーザでログインします。

Nagios-Coreのトップ画面が表示されればインストールに成功しています。

 

Nagiosログのエラーの解消(Nagiosプラグインのインストール)

Nagiosの公式ドキュメントにも掲載がありますが、このままだと以下のエラーが発生すると記載があります。公式ドキュメントから引用させていただきます。

Currently you have only installed the Nagios Core engine. You’ll notice some errors under the hosts and services along the lines of:

(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load, …) failed. errno is 2: No such file or directory
These errors will be resolved once you install the Nagios Plugins, which is covered in the next step.

自分の環境で確認したところ、以下のようなエラーとなっていました。

 

このエラーを解消するために、Nagiosのプラグインのインストールを行います。

  1. まず、以下のサイトでプラグインの最新バージョンを確認します。
    https://github.com/nagios-plugins/nagios-plugins/releases
    自分が2019/10/6にアクセスしたときは、「2.2.1」が最新でした。
  2. 以下のサイトで、プラグインのインストール手順を確認します。
    https://support.nagios.com/kb/article.php?id=569#Ubuntu
    このページの中の「Prerequisites – Common」セクションにあるパッケージのインストール確認を行います。
    もし、追加で監視をしたい項目があれば、「Prerequisites – Package XYZ」セクションを参照して、必要なパッケージをインストールします。
    ここでは、Commonのみを対象とします。
  3. 上記のNagiosプラグインのKBにある通り、下記コマンドを実行します。(ここではUbuntuのセクションを参照しています)
  4. Nagiosプラグインのソースのダウンロードを行います。
  5. ダウンロードしたプラグインのソースを解凍します。
  6. コンパイル+インストールします。
  7. 下記のエラーが発生していないことを確認します。

    (No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load, …) failed. errno is 2: No such file or directory

 

 

終わりに

最後までお読みいただき、ありがとうございます。

今回はWebインターフェースログインまでの手順でしたが、Nagios-Coreにてサービスやプロセスの監視の設定を入れていきます。(アップデート日は未定です。。)

本記事が参考になれば幸いです。