CentOS/サーバ監視ツールmonitを導入する

CentOS/サーバ監視ツールmonitを導入する

バージョンと製造年月日

  • sakuraインターネット さくらのVPS 512
  • CentOS 5.5
  • 2011-11-29

インストール

甘い期待で調査

一応調べてみる

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で基本設定

まず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メールが飛ぶ

参考サイト

タグ

linux/distribution/centos/install_monit_to_monitor_server.txt · 最終更新: 2018-11-30 11:36 by ore