KUSANAGIのWordPressを使ってるんですが、Webサーバー(nginx)が落ちて自動リカバリしなかったのでいろいろ調べてたら、KUSANAGIのリカバリはMonitを使ってた。
MonitはLinux系OSでよく使われるサービス監視のソフトウェアです。
Monitってなんだ?
Monitは、Linux系OSでよく使われるサービス監視のソフトウェアです。一般的にはサーバー監視とも言われますね?
LinuxOSに標準で付いているものではなく、自分で別途インストールします。
apt, yum, dnfコマンドなどでパッケージからインストールするとサービスが追加され、systemctlコマンドで確認できます。
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 日 2022-02-13 21:53:31 JST; 3 months 14 days ago
Docs: man:monit(1)
https://mmonit.com/wiki/Monit/HowTo
Main PID: 31787 (monit)
CGroup: /system.slice/monit.service
mq31787 /usr/bin/monit -I
Linux使いはもう気づいたかもしれませんが、サービスの設定などはいつもの通り、'/etc' ディレクトリ配下で行います。
/etc下のファイル | |
---|---|
monitrc | Monitのiniファイル。 拡張子が.iniでないのに注意。 |
monit.d | ディレクトリ。 Monitの設定ファイルを置く。 |
monit.d/***.conf | 設定ファイル。 自身でサービス監視設定を行う。 |
監視対象はソフトウェアが出力するログファイルや実行ファイルのプロセス、プログラム実行結果で、動きが止まってたら設定に従ってリカバリ作業を行うシンプルな作り。
Monitは、systemdに登録されていないサービス(ソフトウェア)も監視できます。設定で実行ファイルやプロセス、ログファイルを指定すれば。
KUSANAGIを利用する際は、クラウドやレンタルサーバーのOSイメージを設定するだけで、そのイメージにはmonitがインストール済みです。
KUSANAGIを自分が用意したOSにインストールする人はまずいないと思う。
それにそのやり方を知らない。
/etc下も初期設定が入ってます。また、プロビジョニングでサイト作成した際にも独自の設定が/etc/conf.d/下に作られます。
KUSANAGIが使うMonitはWebサーバーのみ
KUSANAGIのパッケージもMonitを使ってWebサーバーを監視してます。
監視しているのは Apache HTTP Server (httpd)とNginxだけ。データベースのMariaDBは監視していません。
DBは、systemctlで使うサービスファイルでRestartの設定を行い、Linux標準機能のsystemdで監視してます。
それと、KUSANAGI Premium Editionになると、WEXALの主要プロセスのひとつpstも監視しています。
これらの設定がどうなってるかは、/etc/monit.d/下のファイルを見れば分かる。
それについては、ちょっと気になるのでこちらに書きました。