[概要]
Monitによるcrondの監視方法をまとめます。
[事前準備]
- Centos7にmoniをインストールしておく
[作業内容]
監視設定ファイルを作成
通例で、設定ファイル名は「*.rc」とする。
$ sudo vim /etc/monit.d/crond.rc
設定ファイル
if 5 restarts within 5 cycles then unmonitor
を設定することによって、再起動を5回やったら諦めてくれるようになります。
何かしらの原因で起動->失敗->起動->失敗 を繰り返されても困るので
/etc/monit.d/crond.rc
check process cron with pidfile /var/run/crond.pid
group system
start program = "/bin/systemctl start crond"
stop program = "/bin/systemctl stop crond"
if 5 restarts within 5 cycles then unmonitor # 5回の監視中に、5回再起動を実施して監視を停止する
動作確認(CLI)
$ sudo monit status
The Monit daemon 5.14 uptime: 0m
Process 'cron'
status Running
monitoring status Monitored
pid 14122
parent pid 1
uid 0
effective uid 0
gid 0
uptime 4h 2m
children 0
memory 1.6 MB
memory total 1.6 MB
memory percent 0.3%
memory percent total 0.3%
cpu percent 0.0%
cpu percent total 0.0%
data collected Sun, 27 Nov 2016 10:02:49
System 'server1'
status Running
monitoring status Monitored
load average [0.00] [0.01] [0.05]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 81.4 MB [16.6%]
swap usage 1.2 MB [0.1%]
data collected Sun, 27 Nov 2016 10:02:49
動作確認(Web)
Web画面から確認してみる
- http://{Monit Server IP}:2812/
cron
からプロセスの詳細も確認可能です。
画面下の方にある、下記のボタンからプロセスを制御できます。
基本的にroot
権限で実行されます。
- Start service
- プロセスの起動
- Stop service
- プロセスの停止
- Restart service
- プロセスの再起動
- Disable monitoring
- プロセス監視の停止
プロセスkillされても起動するか確認
プロセスの確認
$ ps -aef | grep crond
root 31217 1 0 10:08 ? 00:00:00 /usr/sbin/crond -n
vagrant 31316 18008 0 11:05 pts/0 00:00:00 grep --color=auto crond
プロセスをkillする
$ sudo kill -9 31217
プロセスが死んでいることを確認
$ $ ps -aef | grep crond
vagrant 31322 18008 0 11:06 pts/0 00:00:00 grep --color=auto crond
monitからkillされたか確認(CLI)
$ sudo monit status cron
The Monit daemon 5.14 uptime: 1h 4m
Process 'cron'
status Does not exist
monitoring status Monitored
data collected Sun, 27 Nov 2016 11:07:20
monitからkillされたか確認(web)
プロセスが生き返るか確認(CLI)
uptime
が 0m
になっており、今さっき起動したのがわかる。
$ sudo monit status cron
The Monit daemon 5.14 uptime: 1h 12m
Process 'cron'
status Running
monitoring status Monitored
pid 31354
parent pid 1
uid 0
effective uid 0
gid 0
uptime 0m
children 0
memory 1.5 MB
memory total 1.5 MB
memory percent 0.3%
memory percent total 0.3%
cpu percent 0.0%
cpu percent total 0.0%
data collected Sun, 27 Nov 2016 11:15:26
プロセスが生き返るか確認(web)
Uptime
が 0m
になっており、今さっき起動したのがわかる。