10月 21

MRTG インストール

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

MRTGについて

CPU、ネットワーク、メモリ、HDD空き容量などの状態をグラフで視覚的に表すもの。
どれくらいの負荷がかかっているかの統計を取ることが出来ます。
ここではCPU、ネットワーク、メモリの3通り。

事前にnet-snmpをインストールする事

MRTGのインストール

ここから本体をDLします。

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/

このまま、普段の要領でインストールする訳ですが、

ちょこっと環境変数を指定してあげます


$ cd /usr/local/src
$ tar xzvf mrtg-2.16.2.tar.gz
$ cd mrtg-2.16.2
$ LDFLAGS=-lVFlib2
./configure
$ make ($ su)
# make install

MRTGの設定

ネット上にいろいろありましたが環境のあわないものもありますので
ネットワーク、CPU、メモリを表示する設定ファイルのサンプルを書きます。
また、表示に使う画像類を出すために以下のコマンドを。


# mkdir /home/XXXX/htdocs/mrtg
# cp -r images/ /home/XXXX/htdocs/mrtg/

基本的にそのままコピーして使えます。
主な変更箇所は
・「SetEnv」の192.168.0.2をサーバのIPに
・MaxBytes1[memory]: 45808
MaxBytes2[memory]: 196552
実メモリとSWAPは「free」とコマンドをうつと出てくるので当てはめてください

ページタイトルなどは自由に変更してOKです。

257460
530104


vi /usr/local/bin/mrtg.cfg

# MRTG configuration
# Template file made by SCN, http://www.scne.jp/

Imagedir: /home/XXXX/htdocs/mrtg/images
IconDir: images

# 300秒、つまり5分ごとに自動でリロード
Refresh: 300
# 日本語出力
Language: eucjp

# 統計グラフを設置する場所
WorkDir: /home/XXXXX/htdocs/mrtg

# Traffic status
Target[traffic]: 2:private@localhost:
SetEnv[traffic]: MRTG_INT_IP="10.0.21.111" MRTG_INT_DESCR="eth0"
MaxBytes[traffic]: 1250000
Title[traffic]: Traffic Analysis
PageTop[traffic]: <H1>Traffic Analysist</H1>

# CPU Load
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:private@localhost
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1分間平均
LegendO[cpu]: 5分間平均
Legend1[cpu]: 1分間平均(%)
Legend2[cpu]: 5分間平均(%)
Title[cpu]: CPU Load
PageTop[cpu]: <H1>CPU Load Average</H1>

#Memory free
Target[memory]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:private@localhost
MaxBytes1[memory]: 958668
MaxBytes2[memory]: 2097144
Unscaled[memory]: dwmy
Options[memory]: gauge, absolute, growright, noinfo
YLegend[memory]: Mem Free(Bytes)
ShortLegend[memory]: Bytes
kilo[memory]: 1024
kMG[memory]: k,M,G,T,P
LegendI[memory]: Real
LegendO[memory]: Swap
Legend1[memory]: 空き物理メモリ[MBytes]
Legend2[memory]: 空きスワップメモリ[MBytes]
Title[memory]: Memory Free
PageTop[memory]: <H1>Memory Free</H1>

#Disk Used
Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:private@localhost
MaxBytes[disk]: 100
Unscaled[disk]: dwmy
Options[disk]: gauge, absolute, growright, nopercent, noinfo
YLegend[disk]: Disk Used(%)
ShortLegend[disk]: (%)
LegendI[disk]: / Disk used
LegendO[disk]: / Disk Used
Legend1[disk]: / Disk used
Legend2[disk]: / Disk used
Title[disk]: ディスク使用率
PageTop[disk]: <H1>Disk Used</H1>

試しに実行してみます


# /usr/local/mrtg-2/bin/mrtg /usr/local/bin/mrtg.cfg

3回ほどWARNINGで「リネームできない」とか「過去の結果を読み込めない」とか言われますが無視してください。

次に、1個1個に参照がめんどいのでindex化します


# cd /usr/local/bin/
# /usr/local/mrtg-2/bin/indexmaker mrtg.cfg >> /home/XXXXX/htdocs/mrtg/index.html

これで http://localhost/mrtgですべての情報を一括で見れるようになります。

ページタイトルとかの編集


vi /home/sv01/htdocs/mrtg/index.html

<title>**********</title>
<H1>**********</H1>

あとは、定期的にデータを収集するようにCronに追記して完成!


# crontab -e

#-------------------
### Traffic MRTG ###
#-------------------
0-59/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/bin/mrtg.cfg

ブラウザへアクセスするとこんな感じでモニターできます。

mrtg

mrtg-02

Tagged with:
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月 20

freetype インストール

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

freetypeのインストール


# tar xzvf freetype-2.x.x.tar.gz
# cd freetype-2.x.x
# ./configure --enable-shared
# make
# make install
Tagged with:
10月 20

PHP インストール

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

PHPのインストール

公式サイトからPHPのソースファイルをダウンロードします.

ソースディレクトリに配置します(/usr/local/src等)

※オプションに明記しているモジュールは事前にインストールを済ませておく必要があります。

※gettext, ftpはnagiosQLで使用


cd /usr/local/src
wget http://jp.php.net/get/php-5.3.0.tar.gz/from/this/mirror
tar xvzf php-5.3.0.tar.gz
cd php-5.3.0

'./configure' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-pgsql=/usr/local/pgsql' \
'--with-mysql=/usr/local/mysql' \
'--with-zlib' \
'--with-zlib=/usr' \
'--with-zlib-dir=/usr/local/lib' \
'--with-gd' \
'--enable-gd-native-ttf' \
'--with-jpeg-dir=/usr/local/lib' \
'--with-freetype-dir=/usr/local/lib' \
'--with-png-dir=/usr/local/lib' \
'--enable-mbstring' \
'--enable-mbregex' \
'--enable-zend-multibyte' \
'--enable-shared' \
'--enable-calendar' \
'--enable-exif' \
'--enable-pcntl' \
'--enable-bcmath' \
'--enable-ftp' \
'--enable-sockets' \
'--with-gettext' \
;

'--with-oci8-instant-client=/usr/lib/oracle/11.1/client/lib/' \

make

make install

PHPの再コンパイル


.configure .......................

make clean
make
make install
Tagged with:
preload preload preload