harumaki.net

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

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

   


ものすっごい久しぶり、5年ぶりくらいに環境をセットアップしたので一応メモ。
インストールおよび初期設定までの作業ログ。
コンフィグの書式とかはなんとなく覚えてるけど、どれが何の設定か、とかはすっかり忘れてしまったので
一から勉強し直し、というところで。

要件

  • 原則すべて/usr/local/nagios以下に配置する
  • リソース監視のステータスはグラフに落とし込んで出力する。
  • 原則RDBMSは使用しない。
  • CGIを利用できること
  • クライアントのリソース監視には原則SNMPを利用する。
  • 深夜にバッチ処理の影響によりロードが上昇するホストがあるので、定時ダウンタイムの機能を持たせる。

運用環境

サーバールート :/usr/local/nagios
実行ユーザー :nagios
CGI実行グループ :nagcmd

作業ログ

1)nagios実行ユーザー作成

  1. nagios実行ユーザー

    # useradd -u 1001 nagios

    # passwd nagios
    パスワード:nagios(暫定) →絶対後で変更しておくこと!

  2. 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

    #

  • 起動テスト
    1. プロセス起動

      # /etc/init.d/nagios start
      Starting nagios: done.

    2. プロセス確認

      # 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

    3. ログ確認

      # 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/

Nagios統合監視[実践]リファレンス (Software Design plus)
株式会社エクストランス 佐藤 省吾 Team-Nagios
技術評論社
売り上げランキング: 398,071
Nagios Core Administration Cookbook
Packt Publishing (2013-01-25)

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