10月 21

Nagios-nrpe インストール

By ststyle Nagios, net-snmp コメントは受け付けていません。

NRPE(Nagios Remote Plugin Executor)とは、

Nagiosにてリモート監視を行うためのプラグインで、

リモートサーバのリソース監視を行いたい場合などに用います。

(ローカルのみ監視をする場合は必要ありません)

仕組み的には

NagiosサーバからリモートサーバへNRPEを経由し監視したいコマンドを送信し、

コマンドを受け取ったリモートサーバ側のNRPEエージェントが監視コマンドを発行し、

その結果をNagiosサーバへNRPEを経由し送信する模様。

(このときの使用するポート番号は5666である。リモートサーバ側は開放する必要がある)

→まずはnetstat -lnにて確認.

■Nagiosサーバ側■

Nrpeの取得&展開


$cd /usr/local/src/

$ wget http://downloads.sourceforge.net/nagios/nrpe-2.12.tar.gz
$ tar zxvf nrpe-2.12.tar.gz
$ cd nrpe-2.12

コンパイル&インストール


$ ./configure

*** Configuration summary for nrpe 2.12 03-10-2008 ***:

General Options:
-------------------------
NRPE port:    5666
NRPE user:    nagios
NRPE group:   nagios
Nagios user:  nagios
Nagios group: nagios

Review the options above for accuracy.  If they look okay,
type 'make all' to compile the NRPE daemon and client.

$ make check_nrpe
$ make install-plugin

# NagiosにNRPEプラグインを登録(無い場合は)





$ cp ./src/check_nrpe /usr/local/nagios/libexec

○nagiosQLにてコマンドとサービスを作成する

# Nagios再起動


$ service nagios restart

リモートホスト側(あらかじめNagiosサーバ側からのポートを開放しておく)

準備


$ /usr/sbin/useradd nagios
$ mkdir /usr/local/nagios /usr/local/nagios/bin /usr/local/nagios/libexec /usr/local/nagios/etc

最新版をダウンロード


$ cd /usr/local/src/
$ wget http://downloads.sourceforge.net/nagios/nrpe-2.12.tar.gz
$ tar zxvf nrpe-2.12.tar.gz
$ cd nrpe-2.12

コンパイル


$ ./configure --prefix=/usr/local/nagios
$ make

プログラム・設定ファイルのコピー


$ cp ./src/nrpe /usr/local/nagios/bin
$ cp ./sample-config/nrpe.cfg /usr/local/nagios/etc

インストールファイルの削除


$ cd ../
$ rm -rf nrpe-2.12.tar.gz nrpe-2.12

NagiosPluginのインストール

最新版をダウンロード


$ wget http://downloads.sourceforge.net/nagiosplug/nagios-plugins-1.4.13.tar.gz?modtime=1222335829&big_mirror=0
$ tar zxvf nagios-plugins-1.4.13.tar.gz
$ cd nagios-plugins-1.4.13

コンパイル


$ ./configure --prefix=/usr/local/nagios
$ make
$ make install

# スタンドアロンのプラグインをコピー
$ cp contrib/* /usr/local/nagios/libexec/

$ chmod 705 /usr/local/nagios/libexec/*

インストールファイルの削除


$ cd ../
$ rm -rf nagios-plugins-1.4.13 nagios-plugins-1.4.13.tar.gz

メモリ監視プラグインの改変


$ vi /usr/local/nagios/libexec/check_mem.pl
// この一行をコメントアウトして、
$command_line = `vmstat | tail -1 | awk '{print \$4,\$5}'`;
// この一行を追加
$command_line = `free |head -3|tail -1|awk '{print \$3,\$4}'`;

NRPEの設定

# コマンドの登録


$ vi /usr/local/nagios/etc/nrpe.cfg
// 任意のサービスを登録(しきい値やHDDのパーティションは環境に合わせて変える)
command[check_load]=/usr/local/nagios/libexec/check_load -w 9.0,7.0,6.0 -c 10.0,8.0,7.0
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_mem]=/usr/local/nagios/libexec/check_mem.pl -f -w 20 -c 10
$ chmod 644 /usr/local/nagios/etc/nrpe.cfg

起動設定(xinetに登録)


$ vi /etc/services
// 以下を追記
nrpe  5666/tcp  # NRPE

xinetdへ登録する


$ vi /etc/xinetd.d/nrpe
// 以下を記述

service nrpe
{
flags           = REUSE
socket_type     = stream
port            = 5666
wait            = no
user            = nagios
group           = nagios
server          = /usr/local/nagios/bin/nrpe
server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure  += USERID
disable         = no
only_from       = 127.0.0.1
only_from       = (NAGIOSサーバのIPアドレス)
}

# xinetの再起動(NRPEの起動)


$ /etc/rc.d/init.d/xinetd restart

それでは早速、Nagiosの画面で確認です

無事うまくいきました。

画像が小さいですが

サービス名”NRPE”の箇所で

リモートサーバをNRPE経由で監視できています。

またサーバ設定事態はnagiosQLにて行っており、

以前作成した定義ファイルのインポート機能もあるので楽チンです。

nrpe

補足:

ここでの環境では

NRPE経由にて実行できるコマンド群は以下となります。

(もちろん追加可能)


command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

以下のメッセージが表示された場合

CHECK_NRPE: Error – Could not complete SSL handshake.

リモートサーバ側のnrpe.cfgのオーナー・権限を確認

ちょっとコレではまってしまいました…


chown nagios:nagios /usr/local/nagios/etc/nrpe.cfg
Tagged with:
10月 20

NagiosQL インストール

By ststyle Nagios, NagiosQL, Watch コメントは受け付けていません。

NagiosQLとはNagiosの設定をGUIで行えるツールです

NagiosQLのダウンロード

NagiosQL より最新版をダウンロードします。

※システム要件

* Webserver e.g. Apache 1.x or above
* PHP 4.3 or above
* MySQL 4.1 or above
* Nagios 2 or above
* PEAR Module: HTML_Template_IT 1.1 or above
* PHP Extension: gettext
* PHP Extension: mysql
* PHP Extension: ftp
* Javascript enabled at your Webbrowser

準備として

ダウンロードしたnagiosqlをapacheのドキュメントルート下にコピー又は移動し、展開する

基本的にこれだけ。

configファイルにはapacheから書き込み権限を付与する必要がありますのでそこだけ注意です。


cp /usr/local/src/nagiosql303.tar.gz /usr/local/apache/htdocs/
chown daemon:daemon /usr/local/apache/htdocs/nagiosql303.tar.gz
su 管理ユーザ
cd /usr/local/apache/htdocs/
tar xzvf nagiosql303.tar.gz
cd nagiosql3/
※configフォルダにはApacheに書き込み権限が必要であるため、権限を付与しておきます。
su -
cd /usr/local/apache/htdocs/nagiosql3/
chown daemon.daemon config -R

cd install/

touch ENABLE_INSTALLER

設定ファイル格納用ディレクトリの作成

設定ファイルを格納するためのディレクトリを作成します。


mkdir /etc/nagiosql
mkdir /etc/nagiosql/hosts
mkdir /etc/nagiosql/services
mkdir /etc/nagiosql/backup
mkdir /etc/nagiosql/backup/hosts
mkdir /etc/nagiosql/backup/services

Nagiosの設定変更

Nagiosの設定を変更します。

NagiosQLで設定したファイルはnagiosqlディレクトリに保存されますので、

cfgファイルの向け先を替えてやる必要があります。


vi /etc/nagios/nagios.cfg

コメントアウトする

#cfg_file=/usr/local/nagios/etc/objects/commands.cfg
#cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
#cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
#cfg_file=/usr/local/nagios/etc/objects/templates.cfg
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

以下を追記する

#add by Seiji Tsukioka
cfg_file=/usr/local/nagiosql/contacttemplates.cfg
cfg_file=/usr/local/nagiosql/contactgroups.cfg
cfg_file=/usr/local/nagiosql/contacts.cfg
cfg_file=/usr/local/nagiosql/timeperiods.cfg
cfg_file=/usr/local/nagiosql/commands.cfg
cfg_file=/usr/local/nagiosql/hostgroups.cfg
cfg_file=/usr/local/nagiosql/servicegroups.cfg
cfg_dir=/usr/local/nagiosql/hosts
cfg_dir=/usr/local/nagiosql/services
cfg_file=/usr/local/nagiosql/hosttemplates.cfg
cfg_file=/usr/local/nagiosql/servicetemplates.cfg
cfg_file=/usr/local/nagiosql/servicedependencies.cfg
cfg_file=/usr/local/nagiosql/serviceescalations.cfg
cfg_file=/usr/local/nagiosql/hostdependencies.cfg
cfg_file=/usr/local/nagiosql/hostescalations.cfg
cfg_file=/usr/local/nagiosql/hostextinfo.cfg
cfg_file=/usr/local/nagiosql/serviceextinfo.cfg

■権限調整

ユーザApacheをグループapacheとグループnagiosに追加します。
ソースからインストールした場合などで、
nagcmdなど専用のグループを作っている場合はそちらも追加してください。


usermod -G daemon,nagios daemon

■Nagiosの設定ファイルのパーミッションを変更します。


chgrp daemon /usr/local/nagios
chgrp daemon /usr/local/nagios/etc/nagios.cfg
chgrp daemon /usr/local/nagios/etc/cgi.cfg
chmod 775 /usr/local/nagios
chmod 664 /usr/local/nagios/etc/nagios.cfg
chmod 664 /usr/local/nagios/etc/cgi.cfg

■NagiosQLのパーミッションを変更します。


chown 6755 /usr/local/nagiosql
chown daemon.nagios /usr/local/nagiosql
chown 6755 /usr/local/nagiosql/hosts
chown daemon.nagios /usr/local/nagiosql/hosts
chown 6755 /usr/local/nagiosql/services
chown daemon.nagios /usr/local/nagiosql/services

■NagiosQLのバックアップフォルダのパーミッションを変更します。


chmod 6755 /usr/local/nagiosql/backup
chown daemon.nagios /usr/local/nagiosql/backup
chmod 6755 /usr/local/nagiosql/backup/hosts
chown daemon.nagios /usr/local/nagiosql/backup/hosts
chmod 6755 /usr/local/nagiosql/backup/services
chown daemon.nagios /usr/local/nagiosql/backup/services

■すでにファイルがある場合は、そのファイルのパーミッションも変更します。
(無ければエラーになるだけで害はありません。)


chmod 644 /usr/local/nagiosql/*.cfg
chown daemon.nagios /usr/local/nagiosql/*.cfg
chmod 644 /usr/local/nagiosql/hosts/*.cfg
chown daemon.nagios /usr/local/nagiosql/hosts/*.cfg
chmod 644 /usr/local/nagiosql/services/*.cfg
chown daemon.nagios /usr/local/nagiosql/services/*.cfg

■nagiosのコマンド自体のパーミッションを変更します。

chown daemon.nagios /usr/local/nagios/bin/nagios

chmod 750 /usr/local/nagios/bin/nagios

PEARモジュールのインストール

<pre># pear install HTML_Template_IT</pre>

NagiosQLの画面へアクセス

http://<Nagiosサーバ>/nagiosql3/ へアクセスする

NagiosQLのWEBセットアップ

Start new installationをクリック

nagiosql

NagiosQLのシステム要件・パーミッションのチェック

画面内の ” + ” ボタンを押下し、NagiosQLの要件を満たしているかを確認してください。

まずは ” Checking your PHP environment “

うむ、よし!

nagiosql-03

次に ” Checking System Permissions “

Settings file does not exist (config/settings.php) の箇所に警告が出てますが

作成される事でしょう(will be created)とおっしゃってるので無視。

” Environment test completed successfully ” の表示を確認する。(いいみたい!)

ここまで問題なければ [ Next ] アイコンをクリックします。

nagiosql-04

データベースの設定

MySQL関連の設定を入力します

nagiosql-05

無事にデータベース設定に成功したら、インストールディレクトリを

削除またはリネームします (installディレクトリのENABLE_INSTALLERを削除でも良い)

nagiosql-06

NagiosQLのログイン画面が表示されます。

データベース設定にて入力したIDとパスワードにてログインします。

nagiosql-07

ログインしますとメインメニューが起動しました。

(とりあえず今回はここまで。あとは使い倒すのみ)

nagiosql-08

Tagged with:
10月 19

Nagios インストール

By ststyle Nagios, Watch コメントは受け付けていません。

Nagios(なぎおす)とはオープンソースで開発されている

ネットワーク及び、サーバを監視するソフトウェアです。

Webブラウザからサーバやネットワークの状況を監視でき、異常があれば、メールを送信して

サーバ担当者やネットワーク担当者に状況を知らせる事ができます。

Nagiosの取得

公式サイト より本体・プラグインなどをダウンロードします。

今回は以下のファイルを取得しました。

nagios-3.1.0.tar.gz

nagios-plugins-1.4.14.tar.gz

nrpe-2.12.tar.gz (Nagios Remote Plugin Executor::リモートエージェント)

日本語化パッチも取得しておきます。

nagios-3.1.0-ja-utf8.patch.gz

※日本語パッチのバージョンとnagios本体のバージョンは必ずあわせておく!

事前準備

○apache と PHPをインストールしておく

○Nagiosの実行ユーザーの作成

useradd -d /usr/local/nagios -r nagios

展開


cd /usr/local/src
tar xvfz nagios-3.1.0.tar.gz

日本語化パッチ適用

# tar zxvf nagios-3.1.0.tar.gz
# cd nagios-3.1.0
# gzip -dc ../nagios-3.1.0-ja-utf8.patch.gz| patch -p0

展開&コンパイル&インストール


chown -R root.root nagios-3.1.0

cd nagios-3.2.0
./configure --prefix=/usr/local/nagios

*** Configuration summary for nagios 3.1.0 01-25-2009 ***:

General Options:
-------------------------
Nagios executable:  nagios
Nagios user/group:  nagios,nagios
Command user/group:  nagios,nagios
Embedded Perl:  no
Event Broker:  yes
Install ${prefix}:  /usr/local/nagios
Lock file:  ${prefix}/var/nagios.lock
Check result directory:  ${prefix}/var/spool/checkresults
Init directory:  /etc/rc.d/init.d
Apache conf.d directory:  /etc/httpd/conf.d
Mail program:  /bin/mail
Host OS:  linux-gnu

Web Interface Options:
------------------------
HTML URL:  http://localhost/nagios/
CGI URL:  http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):  /bin/traceroute

Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.

#make all

Enjoy.

と表示された(よさそう)

以下を実施


make install
make install-init
make install-commandmode
make install-config

Web用ベーシック認証の作成 (.htaccess)

○.htaccessの設定

/usr/local/nagios/sbin/.htaccess

/usr/local/nagios/share/.htaccess を viで作成する。

内容は下記のようにし、両方の.htaccessは同じ内容でよい。


AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
require valid-user

○Nagios閲覧用ユーザーの作成(htpasswd)

※セキュリティを考慮するならばnagiosadminではなく、他の任意の名前を付けること。

(ファイル権限は644)


cd /usr/local/nagios/etc
/usr/local/apache/bin/htpasswd -c htpasswd.users nagios

Nagios Pluginのインストール


# cd /usr/local/src/
# tar zxvf nagios-plugins-1.4.14.tar.gz
# cd nagios-plugins-1.4.14
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

サマリー表示


--with-apt-get-command:
--with-ping6-command:
--with-ping-command: /bin/ping -n -U -w %d -c %d %s
--with-ipv6: yes
--with-mysql: no
--with-openssl: yes
--with-gnutls: no
--enable-extra-opts: no
--with-perl: /usr/bin/perl
--enable-perl-modules: no
--with-cgiurl: /nagios/cgi-bin
--with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin

# make
# make install

Nagios設定ファイルの構文チェック

設定ファイルを修正する度に、エラーが無いか確認しましょう


<code>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</code>

Total Warnings: 0
Total Errors:   0

Nagios 自動起動設定


# chkconfig --add nagios
# chkconfig nagios on
# chkconfig --list nagios

Nagiosの起動


# service nagios start

Apacheの設定

httpd.confの編集(一番最後にでも追記)


vi /usr/local/apache/conf/httpd.conf

#nagios begin
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
&lt;Directory "/usr/local/nagios/sbin/"&gt;
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
&lt;/Directory&gt;

Alias /nagios/ /usr/local/nagios/share/
&lt;Directory "/usr/local/nagios/share"&gt;
AllowOverride AuthConfig
Options None
Order allow,deny
Allow from all
&lt;/Directory&gt;
#nagios end

Apacheの再起動

apacheを再起動します。


/usr/local/apache/bin/apachectl restart

Webブラウザへアクセス

http://<Nagiosサーバ>/nagios/ へアクセスします。

ベーシック認証が無事に行われるとNagiosの画面が表示されます。

nagios

あとはNagiosの面倒くさい設定ファイルをいじっていくだけですが、

その面倒を解消してくれるすばらしいツールがあります.

NagiosQLです。

これまでにも何回かNagiosを立てた事はありますが、

その設定ファイルの面倒さに苦労していました。

そこにGUIで設定がNagiosQLの登場です。

素敵です。

使わない手はありません。

CGI関連でエラーが出る場合の対処方法

要求したサービスを閲覧する権限が無いようです。
このメッセージが何らかのエラーである場合はHTTPサーバのこのCGIに対するアクセス権限の設定かNagiosのCGI用設定ファイルの認証に関するオプションを調べてみてください

Nagiosのサブメニューを起動したときに上記メッセージが表示された場合は以下のように対応

use_authenticationを ‘0 ‘ に修正


vi /usr/local/nagios/etc/cgi.cfg

#use_authentication=1
use_authentication=0

でnagiosを再起動


service nagios restart

アイコンのインストール


$ tar zxvf  imagepak-base.tar.gz
$ cd base/
$ chown nagios:nagios *
$ cp -p * /usr/local/nagios/share/images/logos

Tagged with:
preload preload preload