Nagios

  (最終更新日:2014.08.28)

Nagios3.5をLinux(CentOS 6)にインストールする手順の完全版

Linux版のNagios 3.5をCentOS 6にソースからインストールする手順の完全版です。完全版ということだけあって、Webインタフェース(ブラウザからの操作)に対応するまでを記載しています。

Webインタフェースというのは下図のようなのです。
2014-08-28_17h14_57

とりあえずこの方法であればNagiosのベースまでをインストールすることができます。(PNPのインストールは別記事でご紹介します)

前提条件

いつもながらの前提条件ですが。
既にApacheはインストールされているものとします。 今回の手順ではApacheはソースから /usr/local/apache2 にインストールされているものとしますので、必要に応じて記載内容を置き換えてください。

Nagios Coreのインストール

では早速Nagiosのコア(基本機能)をインストールしていきます。

インストールの準備をする

まずはNagios用のユーザを作成してインストールディレクトリを作成します。

# useradd nagios
# mkdir /usr/local/nagios

続いてwgetコマンドでNagiosのソースをダウンロードします。ダウンロードが完了したら解凍までしておきます。

# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
# tar -xzf nagios-3.5.1.tar.gz

日本語文字化け対応の為にソース・ファイルを修正する

さて次はインストール・・・・といきたいところですが、その前に各画面のソースを少し修正しておいた方が実はよかったりします。

というのもそのまま configuremake をしてインストールした場合、日本語の結果ステータスが文字化けして表示されることになってしまったりするからです。(例えばhttpのステータスなど)

まずはステータス結果画面(status.cgi)の修正を試しにしてみます。

# cd nagios/cgi
# cp -p status.c status.c.org
# vi status.c

日本語の指定を入れます。

printf("<html>\n");
↓ ja を追加
printf("<html lang=\"ja\">\n");

headタグの下に下記を追記します。

printf("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">\n");

html_encode という処理で文字のエンコーディングを行っているのですが、こいつのせいで日本語が表示できなくなってしまっています。
というわけで下記のように修正します。(html_encode を削除する)

printf("%s&nbsp;",(temp_status->plugin_output==NULL)?"":html_encode(temp_status->plugin_output,TRUE));
↓ 修正
printf("%s&nbsp;",(temp_status->plugin_output==NULL)?"":temp_status->plugin_output);

修正は以上です。

これと同じ修正を下記のソースにも行っておいた方がいろいろと便利です。(別に日本語ステータスの文字化けとか気にしないのであれば必要ありません)

  • showlog.c
  • extinfo.c
  • history.c

インストールする

ようやく準備が整いましたのでインストールを行います。configファイルのインストールまで一気に行ってます。

# cd ../
# ./configure --prefix=/usr/local/nagios
# make all
# make fullinstall
# make install-config
# make install-commandmode

Nagios Pluginをインストールする

これまででCoreのインストールが完了しました。
引き続き今度はプラグイン各種(Nagios Plugin)をインストールします。

流れはCoreと同じくwgetコマンドでダウンロドしてきて make install です。

# cd /usr/local/src
# wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.1.tar.gz
# tar -xzf nagios-plugins-2.0.1.tar.gz
# cd nagios-plugins-2.0.1
# ./configure --prefix=/usr/local/nagios
# make all
# make install

正常にプラグインがインストールされているかを確認してみます。

# ls /usr/local/nagios/libexec/

正常にファイルの一覧が表示されればプラグインのインストールも完了です。

Nagiosの初期設定

インストールが完了したので初期設定を行っておきます。

# cp /usr/local/nagios/etc/nagios.cfg /usr/local/nagios/etc/nagios.cfg.org
# vi /usr/local/nagios/etc/nagios.cfg

下記の日本語設定の記載を追記します。

date_format=iso8601

続いてCGI設定を変更します。

# cp -p /usr/local/nagios/etc/cgi.cfg /usr/local/nagios/etc/cgi.cfg.org
# vi /usr/local/nagios/etc/cgi.cfg

下記の値を変更します。

use_authentication=1
↓
use_authentication=0

これでNagiosの初期設定が完了しました。

Apacheの設定変更

Nagiosの初期設定まで完了したら、Nagiosのディレクトリが見えるようにApacheの設定を変更します。

# cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.nagiosUpdate
# vi /usr/local/apache2/conf/httpd.conf

下記の設定を追記します。

# ---
# Add (yyyy-mm-dd)  Nagios3.5.1 Install
# ---
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin">
    AllowOverride AuthConfig
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
    Options None
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
</Directory>
# ---Add (Nagios Install) End---

以上で設定が完了しました。

Nagiosを起動

というわけでNagiosを起動してみましょう。
まずはApacheの設定を変更したのでApacheを再起動。

# /etc/rc.d/init.d/httpd2 restart

続いてNagiosを起動します。

# /etc/rc.d/init.d/nagios start

実際にNagiosの画面( http://xxx.xxx.xxx.xxx/nagios/ )にブラウザからアクセスして正常に表示されていることを確認してみてください。
2014-08-28_16h00_26

Webインタフェースの設定をする

2014-08-28_17h14_57
無事にNagiosが問題なく稼働して閲覧できる状況になっていたら今度はWebインタフェースの設定をして、Webからいろいろと操作ができるようにします。

# cd /usr/local/nagios/etc/
# cp cgi.cfg cgi.cfg.WebControl

use_authentication という設定をインストール時に 0 にしているのでそれを 1 に戻します。

use_authentication=0
↓
use_authentication=1

また下記を追記します。

default_user_name=nagiosadmin

続いてNagiosの起動スクリプトを修正します。

# vi /etc/rc.d/init.d/nagios 

/usr/local/nagios/var/rw/nagios.cmd というファイルにOtherの実行権限を与える必要があるのですが、既存の起動スクリプトのままだと再起動する度に権限が初期化されてしまいますのでその設定を記述しておかなければいけません。
start の 『echo ” done.”』の上に下記を追加します。

chmod o+w $NagiosCommandFile

これでWebインタフェースの設定が完了です。

というわけで以上がNagiosのインストールからWebインタフェースの設定までの流れでした。

スポンサーリンク
スポンサーリンク

関連記事

  1. Nagios

    自作プラグイン:snmpでメモリ使用率を監視するNagiosプラグインをPerlで自作

    snmpを利用して対象サーバのメモリ使用率(バッファやキャッシュは含ま…

  2. Nagios

    pnp4nagios(0.6.26)のグラフでY軸を最大値で固定する方法

    Nagiosでグラフ表示を可能にする pnp4nagios において、…

  3. Nagios

    SSL証明書と中間証明書の有効期限を監視するNagiosプラグイン(Perl)

    指定したURLのSSL証明書と中間証明書の有効期限を監視するNagio…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. PHP PhantomJSでFatal error: Unc…
  2. 【Oracle】DataPumpの対話式コマンドモードを抜け…
  3. CentOS7のPHP5.6にPhpSpreadsheetを…
  4. Azure仮想マシン(CentOS 7)のStandardデ…
  5. 【CentOS 7】特定ユーザーのクォータ設定を削除(無制限…
PAGE TOP