Last Updated on 2021年7月4日 by かんりにん
ものすっごい久しぶり、5年ぶりくらいに環境をセットアップしたので一応メモ。
インストールおよび初期設定までの作業ログ。
コンフィグの書式とかはなんとなく覚えてるけど、どれが何の設定か、とかはすっかり忘れてしまったので
一から勉強し直し、というところで。
要件
- 原則すべて/usr/local/nagios以下に配置する
- リソース監視のステータスはグラフに落とし込んで出力する。
- 原則RDBMSは使用しない。
- CGIを利用できること
- クライアントのリソース監視には原則SNMPを利用する。
- 深夜にバッチ処理の影響によりロードが上昇するホストがあるので、定時ダウンタイムの機能を持たせる。
運用環境 †
サーバールート :/usr/local/nagios
実行ユーザー :nagios
CGI実行グループ :nagcmd
作業ログ †
1)nagios実行ユーザー作成 †
- 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インストール †
下記で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 †
$ 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 初期設定 †
※この時点では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)追加カスタマイズ †
5-1.ログ出力先の変更 †
後からインストールする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のパーミッションを変更 †
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/