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/