[概要]
CentOS7にmonitを導入方法をまとめる。
アラート送信設定は、未確認です。
- monitとは
[事前準備]
- CentOS7を準備しておく
[作業内容]
monitのインストール
epelからインストールするので、epel-releaseをインストール
$ sudo yum -y install epel-release
monitをインストール
$ sudo yum -y install monit
関連ファイルを一応確認
$ rpm -ql monit
/etc/logrotate.d/monit
/etc/monit.d
/etc/monit.d/logging
/etc/monitrc
/usr/bin/monit
/usr/lib/systemd/system/monit.service
/usr/share/doc/monit-5.14
/usr/share/doc/monit-5.14/COPYING
/usr/share/doc/monit-5.14/README
/usr/share/man/man1/monit.1.gz
/var/log/monit.log
初期設定
設定ファイルのバックアップ
$ sudo cp -av /etc/monitrc{,.bak}
`/etc/monitrc' -> `/etc/monitrc.bak'
### -a 権限を出来る限りそのままにしてコピー
### -v コピー前にファイル名を表示する
### {,.bak} ブレース展開と言われる手法で.bakというファイル名でコピー
設定ファイルの編集
$ sudo vim /etc/monitrc
サンプル設定ファイル
allow のIPアドレス設定は、192.168.10.0/255.255.255.0
で設定も可能
# Monitデーモンによる、監視周期
set daemon 30
# ログ出力設定
set logfile syslog
# Monit Webインターフェースの設定
# `$ monit status` コマンドが実行するため必須の設定
set httpd port 2812 and # Webインターフェースポートを指定(2812は初期値)
allow 192.168.10.1 # アクセスを許可するIPアドレスを指定
allow localhost # アクセスを許可するIPアドレスを指定
allow admin:monit # インターフェイスのログインユーザ名とパスワード
# 設定フィアルをinclude
include /etc/monit.d/*
アラートチェック
$ sudo vim /etc/monit.d/mail-format
サンプル設定ファイル
set mailserver smtp.gmail.com port 587
username "メールユーザ名" password "メールパスワード"
using tlsv1
# アラートメールの送信用サーバを指定
set mailserver localhost
# アラート通知先のメールアドレスを指定
#「not on {INSTANCE}」でmonitの設定変更通知が来なくなる。
set alert [email protected] not on {INSTANCE}
# アラートメールのフォーマット
set mail-format {
from: monit@$HOST
subject: monit alert -- $SERVICE $EVENT at $DATE
message: $EVENT Service $SERVICE
Date: $DATE
Action: $ACTION
Host: $HOST
Description: $DESCRIPTION
Your faithful employee,
Monit
}
構文チェック
$ sudo monit -t
Generated unique Monit id 128bb93349595cbfea7cf065aac50a8c and stored to '/root/.monit.id'
Control file syntax OK
Monit起動と自動起動ON
$ sudo systemctl start monit
自動起動ON
$ sudo systemctl enable monit
Created symlink from /etc/systemd/system/multi-user.target.wants/monit.service to /usr/lib/systemd/system/monit.service.
起動確認
「Active:」が「active(running)」になっているので起動しています。
$ sudo systemctl status monit
● monit.service - Pro-active monitoring utility for unix systems
Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2016-11-27 06:29:53 JST; 2min 32s ago
Main PID: 30684 (monit)
CGroup: /system.slice/monit.service
└─30684 /usr/bin/monit -I
11月 27 06:29:53 server1 systemd[1]: Started Pro-active monitoring utility for unix systems.
11月 27 06:29:53 server1 systemd[1]: Starting Pro-active monitoring utility for unix systems...
11月 27 06:29:53 server1 monit[30684]: Starting Monit 5.14 daemon with http interface at [localhost]:2812
下記のURLにアクセスしてみる
※ログイン情報は「allow admin:monit」で設定したもの
http://{Monit Server IP}:2812/