harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

GNU/Linux infra nagios 運用

nagios core​/1.インストール

投稿日:2010年11月25日

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]
 
 

 

-GNU/Linux, infra, nagios, 運用
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

time(シェルコマンド)

[pukiwiki] いわゆるtimeコマンド。 コマンドの実行時間を計測する。 nagiosプラグインの動作検証にて、コンパイルしたプラグインとperl版のプラグインの 実行速度の比較によく使うので …

no image

shfsをインストール

[pukiwiki] SSH版NFSともいえるshfsのインストールのドキュメント。これは便利。 【本家サイト】 お世話になっています。 http://shfs.sourceforge.net/ ただ …

no image

オープンソースのWebロードバランサー(に使えるミドルウェア)をいろいろ調べてみる

  お客さんのWebシステムをハウジング環境からAWSへ移行するにあたり、一部のサイトにおいて仕様上ELBを使えない状況になってしまい、代替の方法を考える必要が出てきてしまった… ELB以外でロードバ …

no image

netscreenのコンフィグバックアップスクリプト(telnet編)

会社のNetscreenのコンフィグを、Linuxサーバー側からtelnetでアクセスしたのち tftpを使ってdailyでバックアップする、やや回りくどいスクリプト。 とりあえずLANなのでteln …

[AWS EC2] RHEL6のインスタンスでttyS0 のエラーが大量発生

  AWS EC2にてRedHat Enterprise Linux 6.5(以下RHEL6.5)のインスタンスを立ち上げ、MySQLサーバーをセットアップしてる最中 /var/log/message …