Nagiosとは、企業で安心して使用できる(注1)オープンソースの監視システムだ。
このブログを書いている現在時点でのNagiosの最新版は3.2.0だ。
しかし、日本語パッチの対応が3.1.0までなので、あえて3.1.0をインストールする。
Nagios本体のインストール情報はたくさんある。
ここで書く必要もないのだろうが、あえて書いてみたい。
サーバOSは、CentOS 5.3 である。
※注1:NRIオープンソースマップ(2007年4月版)
ダウンロード
まずは、必要なものをダウンロードしよう。
●Nagios本体:nagios-3.1.0.tar.gz(SourceForgeのNagiosプロジェクトページ)
●日本語パッチ:nagios-3.1.0-ja-utf8.patch.gz(SourceForgeのNagios-JPプロジェクトページ)
Nagios本体の最新版であれば本家Nagiosサイトからダウンロードできるが、旧バージョンはダウンロードページのOlder releasesのリンクからSourceForgeのNagiosプロジェクトページへ行ってダウンロードするようになっている。
ダウンロードしたtarballは、どこで解凍してもいいが、ここでは/usr/local/src に置くものとする。
インストールマニュアル
Nagiosのインストールマニュアルは、Nagios本体のtarball(nagios-3.1.0.tar.gz)に含まれている。
tarballを解凍すると以下にfedora用のマニュアルがある。
./nagios-3.1.0/html/docs/quickstart-fedora.html
今回は、CentOSにインストールするので、fedora用のマニュアルを参考にするといいだろう。
NagiosのマニュアルではSELinuxを使用していることを前提に記述されているが、ここではSELinuxを使わないことを前提に書いている。
また、全ての作業は特に断りがない限りrootアカウントで行うものとする。
システム要求
Nagiosのインストールマニュアルによれば、以下の通り。
・Apache
・GCC compiler
・GD development libraries
そこで、次のようにyum を使ってインストールを行う。
# yum install httpd
# yum install gcc
# yum install glibc glibc-common
# yum install gd gd-devel |
Nagiosの実行アカウントとグループの作成
Nagiosの実行アカウント(nagios)とWebインターフェースのCGIがNagiosの外部コマンドファイルにコマンドを書き込むのに必要なグループ(nagcmd)を作成する。
また、このグループにNagiosの実行アカウント(nagios)とApacheの実行アカウント(apache)も追加しておく。
※赤字部分は入力したパスワード(実際は表示されない)
# useradd -m nagios
# passwd nagios
Changing password for user nagios.
New UNIX password: nagiospasswd
Retype new UNIX password: nagiospasswd
passwd: all authentication tokens updated successfully.
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd apache
|
Nagiosのインストール
Ver3では、Apacheの設定も追加してくれるので、Ver2よりも便利になっている。
まずは、Nagiosのtarballを解凍し、Nagios-JPの日本語パッチを適用してからコンフィグレーションを実行する。
# cd /usr/local/src
# tar xvfz nagios-3.1.0.tar.gz
# cd nagios-3.1.0
# gzip -dc ../nagios-3.1.0-ja-utf8.patch.gz | patch -p0
# ./configure --with-command-group=nagcmd
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
<中略>
config.status: include/config.h is unchanged
config.status: creating include/snprintf.h
config.status: include/snprintf.h is unchanged
config.status: creating include/cgiutils.h
config.status: include/cgiutils.h is unchanged
Creating sample config files in sample-config/ ...
*** Configuration summary for nagios 3.1.0 01-25-2009 ***:
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagcmd
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Check result directory: ${prefix}/var/spool/checkresults
Init directory: /etc/rc.d/init.d
Apache conf.d directory: /etc/httpd/conf.d
Mail program: /bin/mail
Host OS: linux-gnu
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP): /bin/traceroute
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
|
特にエラーメッセージもなく、最後のメッセージが出れば、ここまでは問題ない。
上記のメッセージから、Nagiosは/usr/local/nagios にインストールされ、Apache用の設定ファイルが/etc/httpd/conf.d に作られることがわかる。
この設定で問題がなければ、引き続き ‘make all’ を実行する。
# make all
<省略>
*** Compile finished ***
If the main program and CGIs compiled without any errors, you
can continue with installing Nagios as follows (type 'make'
without any arguments for a list of all possible options):
make install
- This installs the main program, CGIs, and HTML files
make install-init
- This installs the init script in /etc/rc.d/init.d
make install-commandmode
- This installs and configures permissions on the
directory for holding the external command file
make install-config
- This installs *SAMPLE* config files in /usr/local/nagios/etc
You'll have to modify these sample files before you can
use Nagios. Read the HTML documentation for more info
on doing this. Pay particular attention to the docs on
object configuration files, as they determine what/how
things get monitored!
make install-webconf
- This installs the Apache config file for the Nagios
web interface
*** Support Notes *******************************************
If you have questions about configuring or running Nagios,
please make sure that you:
- Look at the sample config files
- Read the HTML documentation
- Read the FAQs online at http://www.nagios.org/faqs
before you post a question to one of the mailing lists.
Also make sure to include pertinent information that could
help others help you. This might include:
- What version of Nagios you are using
- What version of the plugins you are using
- Relevant snippets from your config files
- Relevant error messages from the Nagios log file
For more information on obtaining support for Nagios, visit:
http://www.nagios.org/support/
*************************************************************
Enjoy.
|
特にエラーがなければ、引き続き ‘make install’ から ‘make install-webconf’ までを順に実行する。
# make install
<省略>
*** Main program, CGIs and HTML files installed ***
You can continue with installing Nagios as follows (type 'make'
without any arguments for a list of all possible options):
make install-init
- This installs the init script in /etc/rc.d/init.d
make install-commandmode
- This installs and configures permissions on the
directory for holding the external command file
make install-config
- This installs sample config files in /usr/local/nagios/etc
# make install-init
/usr/bin/install -c -m 755 -d -o root -g root /etc/rc.d/init.d
/usr/bin/install -c -m 755 -o root -g root daemon-init /etc/rc.d/init.d/nagios
*** Init script installed ***
# make install-config
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg
/usr/bin/install -c -b -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/resource.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/templates.cfg /usr/local/nagios/etc/objects/templates.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/commands.cfg /usr/local/nagios/etc/objects/commands.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/windows.cfg /usr/local/nagios/etc/objects/windows.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/nagios/etc/objects/printer.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/nagios/etc/objects/switch.cfg
*** Config files installed ***
Remember, these are *SAMPLE* config files. You'll need to read
the documentation for more information on how to actually define
services, hosts, etc. to fit your particular needs.
# make install-commandmode
/usr/bin/install -c -m 775 -o nagios -g nagcmd -d /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
*** External command directory configured ***
# make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
*** Nagios/Apache conf file installed ***
|
これでインストールは完了だ。
Nagiosの起動
次は、Nagiosを起動させる。
chkconfigで管理できるようにしておくと便利だ。
# chkconfig --add nagios
# chkconfig --list nagios
nagios 0:off 1:off 2:off 3:on 4:on 5:on 6:off
# service nagios start
Starting nagios: done.
|
Basic認証アカウントの作成
NagiosのWebインターフェースにはBasic認証が使われる。
そのためのログインアカウントを作成する。
Nagiosの特権アカウント(nagiosadmin)を作成する。
※赤字部分は入力したパスワード(実際は表示されない)
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password: adminpasswd
Re-type new password: adminpasswd
Adding password for user nagiosadmin
|
Apacheの設定と起動
インストール直後のApacheは、ServerNameの設定がされていない。
このため、ServerNameの設定を行う。
下の例では、ServerName nagios.example.comとなっているが、実際にはインストールしたサーバのURLかIPアドレスを指定する。
# vi /etc/httpd/conf/httpd.conf
ServerName nagios.example.com
|
次にApacheを起動する。
httpdについては、chkconfigで管理できるようにしておくと便利だ。
# chkconfig --add httpd
# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
# service httpd start
httpd を起動中: [ OK ] |
Webインターフェースへのアクセス
ブラウザで以下のアドレスにアクセスする。
下の例では、nagios.example.comとなっているが、実際にはインストールしたサーバのURLかIPアドレスを指定する。
httpd://nagios.example.com/nagios/
Basic認証のユーザ名とパスワードの入力を要求されるので、Nagiosの特権アカウント(nagiosadmin)とパスワード(adminpasswd)を入力する。
図1:NagiosのWebインターフェースのTOP画面
左側のサイドメニューから、総合監視状態をクリックすると、現在の監視状況の確認ができる。
もっとも、まだ監視プラグインをインストールしていないので、エラーが発生している。
図2:Nagiosの総合監視状態画面
Categories: Nagios