Last Updated on 2021年7月4日 by かんりにん
[pukiwiki]
ものすっごい久しぶり、5年ぶりくらいに環境をセットアップしたので一応メモ。
インストールおよび初期設定までの作業ログ。
コンフィグの書式とかはなんとなく覚えてるけど、どれが何の設定か、とかはすっかり忘れてしまったので
一から勉強し直し、というところで。
*要件
– 原則すべて/usr/local/nagios以下に配置する
– リソース監視のステータスはグラフに落とし込んで出力する。
– 原則RDBMSは使用しない。
– CGIを利用できること
– クライアントのリソース監視には原則SNMPを利用する。
– 深夜にバッチ処理の影響によりロードが上昇するホストがあるので、定時ダウンタイムの機能を持たせる。
*運用環境 [#s8b9372d]
サーバールート :/usr/local/nagios
実行ユーザー :nagios
CGI実行グループ :nagcmd
*作業ログ [#x69f2be9]
**1)nagios実行ユーザー作成 [#ga582220]
+nagios実行ユーザー
# useradd -u 1001 nagios
# passwd nagios
パスワード:nagios(暫定) →絶対後で変更しておくこと!
+nagiosのCGI実行許可グループ作成
Webの管理画面からのCGI実行を許可するため、apacheの実行ユーザーもアクセスできるグループを作成。
以下で、apache/httpdの実行ユーザー”apache”をnagcmdに登録(実行ユーザーは環境に応じて都度読み替える)。
# groupadd nagcmd
# usermod -G nagcmd nagios
# usermod -G nagcmd apache
**2)nagios coreインストール [#q38dedef]
下記でwgetしている3.2.3は2010/10/27時点での最新バージョンなので
作業する際に都度最新バージョンを確認してからダウンロードすること。
$ pwd
/home/user/src
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
$ cd nagios-3.2.3
$ ./configure –prefix=/usr/local/nagios –with-command-group=nagcmd
※nagios管理画面からのCGIを領しない場合は、”–with-command-group=nagcmd”は不要。
$ make all
$ su –
# cd /home/user/src/nagios-3.2.3
# make install
# make install-init
# make install-config
# make install-commandmode ←nagios管理画面のCGI実行用
# make install-webconf
※全インスコする場合は以下で↓
# make fullinstall
**3)nagios-plugin [#s7fac798]
$ pwd
/home/user/src
$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
$ tar zxvf nagios-plugins-1.4.15.tar.gz
$ cd nagios-plugins-1.4.15
$ ./configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-perl-modules
$ make
$ su –
# cd /home/user/src/nagios-plugins-1.4.15
# paco -lD make install
**4)nagios core 初期設定 [#q647a6d7]
※この時点ではnagios coreの正常起動、動作を確認するのみとして
リソースやサービスの監視は未設定。
-コンフィグテスト
インストールしたツルシの状態でのコンフィグテスト
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
— 中略 —
Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check
-Webコンソールへのログインユーザー登録
初期の動作確認のため、{NAGIOSROOT}/etc/cgi.cfgで設定されている
デフォルトユーザーでひとまず登録
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# ll /usr/local/nagios/etc/htpasswd.users
-chkconfig登録
# chkconfig –add nagios
# chkconfig –level 2345 nagios on
# chkconfig –list | grep nagios
nagios 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#
-起動テスト
++プロセス起動
# /etc/init.d/nagios start
Starting nagios: done.
++プロセス確認
# ps -aef | grep nagios
nagios 6282 1 0 18:50 ? 00:00:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
root 6292 22333 0 18:50 pts/0 00:00:00 grep nagios
++ログ確認
# cat /usr/local/nagios/var/nagios.log
[1290073824] Nagios 3.2.3 starting… (PID=6281)
[1290073824] Local time is Thu Nov 18 18:50:24 JST 2010
[1290073824] LOG VERSION: 2.0
[1290073824] Finished daemonizing… (New PID=6282)
**5)追加カスタマイズ [#p76bcc73]
***5-1.ログ出力先の変更 [#c46fde91]
後からインストールするRRDtoolやnagiosgraphなどの環境と統一するため
ログ出力先を/usr/local/nagios/var/以下のlog/ディレクトリに変更。
/usr/local/nagios/var/nagios.log
↓
/usr/local/nagios/var/nagios.log
– コンフィグ変更
# vi /usr/local/nagios/etc/nagios.cfg
-[変更箇所]
19c19
< log_file=/usr/local/nagios/var/nagios.log — > log_file=/usr/local/nagios/var/log/nagios.log
– ログディレクトリ作成、シンボリックリンク作成
segmentation faultを防ぐため、デーモンを止めておく。
# /etc/init.d/nagios stop
# cd /usr/local/nagios/var/
# mkdir log
– ログファイルをlog/ディレクトリへ移動
# mv nagios.log log/
– もともとの出力ファイルをシンボリックリンクへ変更
設定変更後、再起動するとnagios.cfgで指定したファイルへ出力されるようになるが
なぜかもともとのvar/nagios.logに空ファイルを生成してしまう。
おそらくビルド時に指定すれば問題ないと思われるが、紛らわしいのでリンクにしておく。
# ln -s log/nagios.log nagios.log
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
→ Things look okay – No serious problems were detected during the pre-flight check
# /etc/init.d/nagios stop
→変更先のログへの正常出力を確認。
***5-2.nagios.cmdのパーミッションを変更 [#g317afc8]
nagiosのWeb画面から各種操作が出来るよう、nagios.cmdのグループを
”nagcmd”へ変更し、httpd実行ユーザーからの読み書きを許可する。
※Web画面からの操作を有効にしない場合は設定不要。
nagios.cmdはプロセスファイルなので、出力先である/usr/local/nagios/var/rw/の
グループ権限を変更。
nagiosプロセスを停止してから変更を実施すること。
-nagcmdグループにhttpd実行ユーザーを追加
本環境ではhttpd実行ユーザーは””apache””なので、nagcmdグループにapacheユーザーを追加。
# usermod -G nagcmd apache
-nagios.cmdが作成されるディレクトリのグループ権限を変更
# chgrp nagcmd /usr/local/nagios/var/rw/
[/pukiwiki]