harumaki.net

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

nagiosgraph/1.install

   


&topicpath;

nagiosgraphインストールログ

nagiosgraphの導入ログ。

参考資料:nagiosgraph本家サイト
http://nagiosgraph.svn.sourceforge.net/viewvc/nagiosgraph/trunk/nagiosgraph/INSTALL

事前情報

  • phpのバージョンについて
    pnp4nagiosはphp5.2以上が動作条件だったが、nagiosgraphは制限無し。
    よってCentOSのRPM版php(5.1.6)でも動作する。
  • 依存関係パッケージ
    rpmforgeからインストールするrrdtoolのRPMパッケージのほか
    perlのモジュールを多数必要とする。
    Installationドキュメントを見たところ
    sudo yum install perl-rrdtool perl-GD
    となっていたが、自分の環境ではぜんぜん足りなかったw
    以下、CentOS5.*での環境セットアップ時に使用した依存関係パッケージをメモ(自分用)。
    freetype
    freetype-devel
    gd
    gd-devel
    libart_lgpl
    libpng
    libpng-devel
    perl-CGI-Ajax
    perl-CGI-Application
    perl-CGI-Application-Plugin-Output-XSV
    perl-CGI-Application-Plugin-QueryHash
    perl-CGI-Auth-Auto
    perl-CGI-Cookie-Splitter
    perl-CGI-Debug
    perl-CGI-Ex
    perl-CGI-FastTemplate
    perl-CGI-GuruMeditation
    perl-CGI-Lite
    perl-CGI-Log
    perl-CGI-Minimal
    perl-CGI-Out
    perl-CGI-PathInfo
    perl-CGI-Persistent
    perl-CGI-Prototype
    perl-CGI-Response
    perl-CGI-Screen
    perl-CGI-Scriptpaths
    perl-CGI-Session
    perl-CGI-Session-Hidden
    perl-CGI-Simple
    perl-CGI-SpeedyCGI
    perl-CGI-Untaint
    perl-CGI-Untaint-date
    perl-CGI-Untaint-email-0.03-
    perl-CGI-Upload
    perl-CGI-Validate
    perl-CGI-WeT
    perl-CGI-Widget
    perl-CGI-WML
    perl-CGI-XML
    perl-CGI-XMLForm
    rrdtool
    rrdtool-devel

※OSインストール時に各種開発環境をインストール済みの場合は上記の限りではない。
不足しているパッケージは都度インストールしていく。

nagiosgraphセットアップ環境

インストール済みのnagios環境と出来るだけ合わせるためのセットアップ環境。
※一部nagios環境と統合できないものもある。

1)nagiosgraphセットアップ環境

セットアップにあたっての各種ファイルの配置先は以下の通り設定。
コンフィグ /usr/local/nagios/etc/nagiosgraph/
CGI /usr/local/nagios/sbin
ライブラリ /usr/local/nagios/libexec
共有ファイル /usr/local/nagios/share
ログ出力先 /usr/local/nagios/var/log

2)rrdtoolバンドル環境

nagiosgraphのドキュメントにて指定されている出力先。
特にカスタマイズすることなく、本家ドキュメントでの出力先を適用。
※apacheが値を取得できるディレクトリに出力する必要ありだが、INSTALLドキュメントを見る限りでは、うまく変更できそう。

perfdata.log出力先 /var/nagios/perfdata.log
rrddir /var/nagios/rrd

インストールおよび初期設定

インストールといってもビルドやコンパイルはなく、アーカイブを展開し
コンフィグやライブラリを任意のディレクトリに配置していく。

1)nagiosgraphインストール

$ pwd
/home/user/src
$ wget http://sourceforge.net/projects/nagiosgraph/files/nagiosgraph/1.4.3/nagiosgraph-1.4.3.tar.gz/download
$ tar -zxvf nagiosgraph-1.4.3.tar.gz
$ cd nagiosgraph-1.4.3

# mkdir /usr/local/nagios/etc/nagiosgraph

# chown nagios:nagios /usr/local/nagios/etc/nagiosgraph/

# cp -p etc/* /usr/local/nagios/etc/nagiosgraph/

  • 確認

    # ll /usr/local/nagios/etc/nagiosgraph/
    total 172

  • rw-r–r– 1 nagios nagios 879 Mar 15 2010 access.conf
  • rw-r–r– 1 nagios nagios 714 Mar 15 2010 datasetdb.conf
  • rw-r–r– 1 nagios nagios 2251 Mar 15 2010 groupdb.conf
  • rw-r–r– 1 nagios nagios 1446 Mar 15 2010 hostdb.conf
  • rw-r–r– 1 nagios nagios 2717 Mar 15 2010 labels.conf
  • rw-r–r– 1 nagios nagios 13312 Mar 15 2010 map
  • rw-r–r– 1 nagios nagios 11840 Jun 8 01:30 nagiosgraph.conf
  • rw-r–r– 1 nagios nagios 793 Mar 15 2010 nagiosgraph_de.conf
  • rw-r–r– 1 nagios nagios 865 Mar 15 2010 nagiosgraph_es.conf
  • rw-r–r– 1 nagios nagios 935 Mar 15 2010 nagiosgraph_fr.conf
  • rw-r–r– 1 nagios nagios 99606 Jun 8 01:30 ngshared.pm
  • rw-r–r– 1 nagios nagios 660 Feb 19 2010 rrdopts.conf
  • rw-r–r– 1 nagios nagios 480 Mar 15 2010 servdb.conf
  • パスの編集
    対象ファイル内の"use lib"で指定している設定ファイルの格納ディレクトリのパスを編集する。

    • 対象ファイルを編集

      # vi cgi/*.cgi lib/insert.pl

    • [編集箇所]
      指定するパスはインストール環境に応じて変わるので、自分の環境に合わせて都度読み替える。
      use lib ‘/opt/nagiosgraph/etc’;

      use lib ‘/usr/local/nagios/etc/nagiosgraph’;
  • 各ファイルのコピー

    # cp -p lib/insert.pl /usr/local/nagios/libexec

    # cp -p cgi/*.cgi /usr/local/nagios/sbin

    # cp -p share/nagiosgraph.css /usr/local/nagios/share

    # cp -p share/nagiosgraph.js /usr/local/nagios/share

2)rrdtool実行環境作成

※当初/usr/local/nagios/var以下に作成しようとしたところ
apacheのプロセスのリード権限が無いためエラーに。
nagiosgraphの公式マニュアルに沿って/var/nagiosディレクトリを作成。

# mkdir /var/nagios/

# chown nagios.nagios /var/nagios/

# touch /var/nagios/perfdata.log

# chown nagios:nagios /var/nagios/perfdata.log

# chmod 644 /var/nagios/perfdata.log

  • rrd用ディレクトリ作成

    # mkdir /var/nagios/rrd

    # chown nagios:nagios /var/nagios/rrd

    # chmod 755 /var/nagios/rrd

  • nagiosgraphのログファイル作成
    ※以下の例は、$NAGIOSROOT/var以下にlog/ディレクトリを作成し、その下にログファイルを作成している例。
    こちらも環境により都度パスを変更する。

    # touch /usr/local/nagios/var/log/nagiosgraph.log

    # chown nagios.nagios /usr/local/nagios/var/log/nagiosgraph.log

    # chmod 644 /usr/local/nagios/var/log/nagiosgraph.log

    # touch /usr/local/nagios/var/log/nagiosgraph-cgi.log

    # chown nagios.nagios /usr/local/nagios/var/log/nagiosgraph-cgi.log

    # chmod 644 /usr/local/nagios/var/log/nagiosgraph-cgi.log

    # ll /usr/local/nagios/var/log/
    total 8

  • rw-r–r– 1 nagios nagios 0 Nov 22 19:04 nagiosgraph-cgi.log
  • rw-r–r– 1 nagios nagios 0 Nov 22 19:03 nagiosgraph.log
  • rw-rw-r– 1 nagios nagios 4724 Nov 22 18:50 nagios.log

2)nagiosgraph.conf編集

# cd /usr/local/nagios/etc/nagiosgraph/

# cp -p nagiosgraph.conf nagiosgraph.conf.org

# vi nagiosgraph.conf

  • [編集箇所]
    11c11
    < logfile = /var/log/nagiosgraph.log — > logfile = /usr/local/nagios/var/log/nagiosgraph.log
    17c17
    < perflog = /var/nagios/perfdata.log — > perflog = /var/nagios/perfdata.log
    20c20
    < rrddir = /var/nagiosgraph/rrd — > rrddir = /var/nagios/rrd
    23c23
    < mapfile = /etc/nagiosgraph/map — > mapfile = /usr/local/nagios/etc/nagiosgraph/map
    26c26
    < nagiosgraphcgiurl = /nagiosgraph/cgi-bin — > nagiosgraphcgiurl = /nagios/cgi-bin
    33c33
    < javascript = /nagiosgraph/nagiosgraph.js — > javascript = /nagios/nagiosgraph.js
    36c36
    < stylesheet = /nagiosgraph/nagiosgraph.css — > stylesheet = /nagios/nagiosgraph.css
    76c76
    < debug = 3 — > debug = 5

3)nagios側設定

nagiosプロセスがnagiosgraphを使用するための設定変更及び追加を行う。

3-1.nagios.cfg
process_performance_data=1
service_perfdata_file=/var/nagios/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata

3-2.command.cfg

nagios.cfg内の"service_perfdata_file_processing_command"で指定した
コマンド定義パラメータ"process-service-perfdata"を編集。
nagiosgraphの実行スクリプトをコマンドラインとして登録する。

# cd /usr/local/nagios/etc/objects/

# cp -p commands.cfg commands.cfg.20101122

# vi commands.cfg

  • [ 編集箇所 ]
    242c242,243
    < command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\ t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out

    • > #command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\
      t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
      > command_line /usr/local/nagios/libexec/insert.pl

上記設定変更後、nagios再起動にてグラフの生成を確認(10~15分程度)。

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

 - GNU/Linux, infra, nagios, 運用