LoginSignup
6
2

More than 5 years have passed since last update.

monit.serviceをsystemdで常時起動処理をさせるために色々メモ

Last updated at Posted at 2017-06-21

systemdとは

linuxの起動処理やシステム管理を行う

前から使われていたのがSysvinit
現在、代替えとしてUbuntuはUpstart、Fedora 15やCentOS 7、Red Hat Enterprise Linux 7はSystemdです。

ユニットとは

centOS7でデーモンの制御対象のこと。systemctlコマンドで制御を行う。
以下のコマンドでファイル単位で確認できる。

$ systemctl list-unit-files -t service

monit.service                                 enabled
NetworkManager-dispatcher.service             enabled
NetworkManager-wait-online.service            disabled
NetworkManager.service                        enabled

ここでenableになっているユニットは自動起動が有効との意味。無効になっているユニットはつまり他のユニットに依存するものなので自動起動の設定が不可能とのこど。

# ユーザごと個別の設定が可能。
# ここに同名のファイル(/usr/libのシンボリックリンク)を配置することにより優先される。
$ /etc/systemd/system   
# RPMから直接ファイルが提供される場所であり、システムのデフォルト設定
$ /usr/lib/systemd/system   

monitのプロセスが落ちても自動で起動させる方法

$ sudo cp -p /usr/lib/systemd/system/monit.service /etc/systemd/system/
$ sudo vi /etc/systemd/system/monit.service
→ [Service]セクションに "Restart=always" を追加して保存する
→ discが変更されたのでreload
$ sudo systemctl daemon-reload 

monitを使うために注意するべき点

ネットワーク障害/アクセス集中による高負荷などで連続してモニタに失敗した場合monitのmonitorが止まることがあるため、以下のcronの設定が必要

*/30 * * * * /usr/sbin/monit monitor all

参考

http://www.unix-power.net/centos7/systemctl.html
http://equj65.net/tech/systemd-boot/

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2