LS−GLへのNagios2.9のインストール 現在家庭内で稼働しているノートPCによるサーバーをLS−GLに置き換えることを考えているが、その場合Nagiosも稼働させる必要がある。 そこでDebianにおけるNagiosのインストールについてネットで調べてみるとどうもDebian対応のパッケージがあり、apt-get installで組み込めそうなことが判明した。 今日の宇宙人カウントダウンやNagiosのインストールと基本設定に記述があったが、パッケージも色々ありそうで nagios2やnagios-textなどがあり、またバージョンも少し古そうである。 ファイルのインストール場所などを見てみるにこれまでソースからコンパイルしていた時のデェフォルトとは少し違うようであり設定方法についても調べ直す必要がありそうである。 そんな事もあり、私としては出来るだけ最新のもので表示の日本語化もやりたかったので、これまでTurbolinuxの時にやっていたソースからコンパイルする方法を取ることとした。 その場合、いつも困っていたのがGDライブラリーと言われる系統画面を作成するツールの組込みである。 Turbolinuxの時はRedHat用だと思われるrpmファイルがあり、これを展開することで左ほど苦労せず対処できた。 しかし、Debianではどうであろうか。これもネットで調べているうちにSystem Cruise: Nagios-2.0b4の導入なるページに行き当たり、ここの助けを借りて以下のとおりGDライブラリーを組み込む事が出来た。 作業の順番と内容は以下のとおりである。なお、今回インストールするNagiosは表示の日本語パッチのある最新版の2.9とした。
1.2.についてはダウンロードだけであるので省略し、3から述べることとする。 組み込むものはzlib,libpng,libjpeg,gd-libの四種類てあり前述のSystem Cruise: Nagios-2.0b4の導入のページに御世話になり完了する事が出来た。。 3.GDライブラリーのコンパイル・インストール ・zlibのコンパイル・インストール 入手先 http://www.zlib.net/zlib-1.2.3.tar.gz # tar zxvf zlib-1.2.3.tar.gz で展開後 zlib-1.2.3/ディレクトリーに移動して # ./configure # make # make install cd /usr/local/lib; chmod 755 libz.aなるメッセージで/usr/local/libにインストールしたことがわかる。 ・libpngのコンパイル・インストール 入手先 http://jaist.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8-config.tar.gz # tar zxvf libpng-1.2.8-config.tar.gz で展開後 libpng-1.2.8-config/ディレクトリーに移動して # ./configure --enable-shared # make # make install Libraries have been installed in: /usr/local/lib などの表示で/usr/local/libにインストールされることが分る。 ・jpegのコンパイル・インストール 入手先 ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz # tar zxvf jpegsrc.v6b.tar.gz で展開後 jpeg-6b/ディレクトリーに移動して # ./configure --enable-shared # make # make install make の段階で make: ./libtool: コマンドが見つかりませんでした なるメッセージが出てコンパイルが中断した。調べてみるとlibtoolは最新のものがインストールされているのでパスの問題のようであるが、どこで指定 したらよいのか分らないため、/usr/bin/libtoolを現在のディレクトリーにコピーして対処した。最終的に以下のメッセージが出て上手くでき たようである。 Libraries have been installed in: /usr/local/lib ・gd-libのコンパイル・インストール 入手先 http://www.boutell.com/gd/http/gd-2.0.33.tar.gz # tar zxvf gd-2.0.33.tar.gz で展開後 gd-2.0.33/ディレクトリーに移動して # ./configure # make # make check # make install Libraries have been installed in: /usr/local/lib このようなメッセージが出て何となく上手く出来てそうである。 4.Nagios-2.9の展開・日本語パッチ当て・コンパイル・インストール Nagiosのコンパイル・インストールの作業は以下の順番で行った。 ・# tar zxvf nagios-2.9.tar.gz で展開 ・# cp nagios-2.9-ja.patch.gz nagios-2.9 で日本語パッチをnagios-2.9/ディレクトリーにコピー ・# cd nagios-2.9 で移動して ・# gzip -dc nagios-2.9-ja.patch.gz | patch -p0 でパッチ当て ・ユーザーnagiosの登録 # adduser nagios で登録して # cat/etc/passwd で登録を確認 nagios:$1$XnzT5eL1$bD4pawwK2p0WUKwJCD9qa/:1004:1003:,,,:/home/nagios:/bin/bash ・インストールディレクトリーを作成 # mkdir /usr/local/nagios ・インストール先のベースディレクトリのオーナー権限を変更 # chown nagios.nagios /usr/local/nagios/ ・新しいグループの作成 # /usr/sbin/groupadd nagcmd ・nagiosとapacheの動作ユーザーであるwww-dataを作成したグループに追加 # /usr/sbin/usermod -G nagcmd www-data # /usr/sbin/usermod -G nagcmd nagios ・コンパイル # ./configure --prefix=/usr/local/nagios/ GDライブラリーが無いときはこのようなメッセージがでる。 *** GD, PNG, and/or JPEG libraries could not be located... ********* しかし、上手くいったときは checking for gdImagePng in -lgd (order 1)... no checking for gdImagePng in -lgd (order 2)... yes GD library was found! ----- これが重要 checking ltdl.h usability... no # make all --------------以降処理の最後あたりに次の操作のガイドが出る # make install # make install-init # make install-commandmode # make install-config ・インストールで作成されたディレクトリーを確認。 # ls /usr/local/nagios/ bin etc sbin share var 5.Nagios-pluginsの展開・コンパイル・インストール # tar zxvf nagios-plugins-1.4.11 で展開 # cd nagios-plugins-1.4.11/ で移動して # ./configure # make all # make install インストールされていることの確認 # ls /usr/local/nagios/libexec/ check_apt check_ide_smart check_ntp check_ssh check_breeze check_ifoperstatus check_ntp_peer check_swap check_clamd check_ifstatus check_ntp_time check_tcp check_cluster check_imap check_nwstat check_time check_dhcp check_ircd check_oracle check_udp check_disk check_load check_overcr check_ups check_disk_smb check_log check_ping check_users check_dummy check_mailq check_pop check_wave check_file_age check_mrtg check_procs negate check_flexlm check_mrtgtraf check_real urlize check_ftp check_nagios check_rpc utils.pm check_http check_nntp check_sensors utils.sh check_icmp check_nt check_smtp 6.Nagiosの設定ファイル(/usr/local/nagios/etc)にある*.cfgファイルの設定 /usr/local/nagios/etc/localhost.cfg-sampleとしてインストールされているものをlocalhost.cfg にリネームしてこれを編集する /usr/local/nagios/etc/localhost.cfg Ver1.xxであった多くのファイル contactgroups.cfg contacts.cfg dependencies.cfg escalations.cfg hostgroups.cfg hosts.cfg services.cfg timeperiods.cfg がこれ一つにまとめられているようである。 また、記述方法もこれまではgeneric-hostという代表的な設定を各ホストの設定で参照できる機能は あったが、それがさらに拡張されもう一段下の設定を作成でき、それを各ホストの設定で参照できるよ うになっていた。 過去に比べるとcfgファイルの生産性は相当あがったように感じられた。 また、commands.cfg-sample nagios.cfg-sample resource.cfg-sampleもsampleを除けた*.cfgファイル としておく。 動作確認を優先してlocalhost.cfgを簡単に作成して # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg として設定が間違っていないか確認する。エラーで何度か叱られながら一つずつ間違いを修正し、 エラー0となれば一応完成である。 7.Webサーバーであるapach2のAliasや認証関係の設定 Nagiosの動作はWebサーバーと連動しているためNagiosをインストールしたサーバーに入れているWebサーバーの設定が必要である。 私が使っているのはapach2であるのでAliasの設定は、正解かどうか分らないが、squirrelmailなどで動いている/etc/apache2/sites-available/defaultファイルに以下を追記する。 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> さらに認証用のIDとパスワードを設定し、 # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ここでパスワードも聞いてくるので設定する。 /usr/local/nagios/etc/cgi.cfgで use_authentication=1 となっていることを確認する。 8.apache2とnagiosの(再)起動 # /etc/init.d/apache2 restart # /etc/init.d/nagios start で起動してブラウザからhttp://192.168.0.xx/nagios/でアクセスする。 まずIDを聞いてくる。ここまでくれば一応動いている。 ○問題発生 認証を終わり、初期画面が表示され、次のサービス稼働状態のところでCGIを動かすには認証が必要とのメッセージが出て内容が表示されない。 これは過去に何度も引っかかった部分であるが原因が良く分らない。認証部分を確認するが間違いは無いようである。困ってしまい、何気なく以前書いたnagiosに関する自分のホームページを見てみると、cgi.cfgにある #authorized_for_system_commands=nagiosadmin の#を外さないと認証に引っかかる旨の記述があり、これ以外にもnagiosadminとある記述の#は全部はずしたところ見事表示された。 次の問題はステータスマップが表示されないことである。apacheのログなどを見ているとlibpng.so.3が無いとのメッセージがあり、ネットで見付けたページにも/usr/libでリンクを張る必要があるなどの記述があり、 test:/usr/lib# ln -s /usr/local/lib/libpng.so.3 libpng.so.3 とやったところ見事表示された。 一応これで動くことは確認できたのでこれから過去にTurbolinuxで色々試したことを再現することで肉付けをやっていく。
|