menu
書いてる野郎
orebike@gmail.com
一応調べてみる
yum search monit
それっぽいのが無い・・・
rpmforgeをリポジトリに追加すればよいみたい。rpmforgeはredhatとかfedra用のパッケージ群があるリポジトリ
リポジトリ追加自体をrpmでやってみよう。
まず既存の共存関係にするために、優先度を決められるプラグインを導入
yum install yum-priorities
入れたら
/etc/yum.repos.d/CentOS-Base.repo
を編集して、登録されている全部のリポジトリに
priority=1
の設定を書きこむ
Index of /rpmforge-release ←ココらへんから
今回CentOS 5.5 x86_64なのでIndex of /rpmforge-releaseを導入する
ダウンロードしてインストール
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
でけた
確認してみる
yum search monit
お!、rpmforgeからキャッシュを落としてきてるOK
そして結果も
monit.x86_64 : Process monitor and restart utility
ってことで出てきた。
yum install monit
Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: monit x86_64 5.2.5-1.el5.rf rpmforge 567 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s)
ということみたいなんで特に依存性というものが無いみたいだ。ってことはrpmだけもってきてインストールすれば動くということか 簡単でよい
見てみると早速monitコマンドが使えるようになったのでバージョンでも見てみる
monit -V This is Monit version 5.2.5 Copyright (C) 2000-2011 Tildeslash Ltd. All Rights Reserved.
5.2.5だそうだ。OK。 インストール完了
・・・つまり単に入れるだけならIndex of /monitここらへんからダウンロードして突っ込めばいいだけだな
etcを眺めると
monit.conf monit.d/
という設定ファイル1個とディレクトリ1個ができていた。monit.confの一番最後でmonit.d/以下をincludeしていたので基本設定はconfで個々のアクションはdという書き方なのだろう
まずmonit.confを修正
動く優先で適当に設定する。
120秒間隔で監視
set daemon 120 # check services at 2-minute intervals with start delay 240 # optional: delay the first check by 4-minutes (by # default Monit check immediately after Monit start)
ログファイルを指定。デフォルトだとsyslogとゴチャゴチャになるので独自に指定
set logfile /var/log/monit
デフォルトのまま、何に使われるかよくわからん
set idfile /var/monit/id
デフォルトのまま、何に使われるかよくわからん
set statefile /var/monit/state
メールの送信サーバの設定。簡単にやりたいのでサーバ上のメールサーバを使う。mailコマンドとかで一応外部との疎通を確認しておく
set mailserver localhost
mailコマンドが使えないとメールサーバが入ってない率が高いので適当にsendmailでもpostfixでもyumでぶっコム。送信メールサーバが立ってればいいのでココらへんは超適当
イベントキューの設定
set eventqueue basedir /var/monit # set the base directory where events will be stored slots 100 # optionally limit the queue size
よくわからん。デフォルト
アラートメールフォーマット。日本語が使えるかどうかは知らん
set mail-format { From: monit-MESSANGER@$HOST Subject: $HOST monit alert -- $EVENT $SERVICE message:$EVENT Service $SERVICE Date: $DATE Action: $ACTION Host: $HOST Description: $DESCRIPTION monit detected alert. please check message or log. }
アラートメールの送信先。なにか起こった場合にメールを受け取りたいアドレスを設定。
set alert hoge@piyo.com
監視対象とそのアクションの設定を読み込む
include /etc/monit.d/*
こんな感じでしょう。ここで
/etc/init.d/monit start
と起動スクリプトをキックしたら起動してログファイルにその状況が吐かれるはず
ってことで
この設定は
/etc/monit.d/
以下に設定毎にファイルを分けて保存しておこう
サーバではログファイルとかキャッシュとかいろんなファイルが肥大化しますな。そうなった場合にどうしようかってやつ
check file fuga.log with path /hoge/piyo/fuga.log if size > 5 MB then alert
/hoge/piyo/fuga.logファイルが5MB以上になるとmonit.confで設定したメールアドレスへalertメールが飛ぶ
check process fuga with pidfile "/hoge/piyo/run/fuga.pid" if totalmem > 100 Mb then alert
fuga.pidにプロセスfugaのプロセスIDが書きこまれているとして、fugaプロセスのメモリ使用量が100MBを超えたらmonit.confで設定したメールアドレスへalertメールが飛ぶ