Debian 11 (bullseye) - Monit でプロセス監視!
Updated:
Debian GNU/Linux 11 (bullseye) にプロセス監視ツール monit をインストールする方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 11.2.0 (bullseye; 64bit) での作業を想定。
- root ユーザでの作業を想定。
1. monit のインストール
# apt -y install monit
2. 設定ファイル編集
設定ファイル /etc/monit/monitrc
を編集する。
以下は当方の例。
File: /etc/monit/monitrc
set log /var/log/monit.log
をset log syslog facility log_daemon
とすると syslog での出力となる。- メールサーバは複数設定可能。
- メール通知先も複数設定可能。
set alert root@localhost only on { xxxx }
などとすれば、xxxx アクション発生時のみメール通知するようにする。set alert root@localhost but not on { xxxx }
などとすれば、xxxx 以外のアクション発生時のみメール通知するようにする。- その他の設定等については、 “monit.conf” 内のコメントや公式ドキュメントを参照のこと。
3. アラート機能の設定
以下は MariaDB サーバを監視する例。(パスは環境に合わせて適宜置き換えること)
File: /etc/monit/conf.d/mysqld
- `mysqld.pid~ ファイルを1サイクル(今回の設定では 120秒 * 1 = 60秒)毎に監視し、存在しなければ MySQL サーバを再起動する。
- TCP ポート 3306 への接続が4回中3回15秒のタイムアウトで失敗する場合は、 MariaDB サーバを再起動する。
- Unix ソケットへの接続が4回中3回失敗する場合は、 MariaDB サーバを再起動する。
- 5回中5回再起動となる場合は、タイムアウトする。
group xxxx
としてグループ単位で監視の制御をすることも可能。- CPU 使用量やメモリ使用量等を監視することも可能。
PID ファイルの存在を監視するのではなく、プロセス自体の存在を監視したければ、1行目を以下のようにする。(以下は、プロセス名に hoge
を含むプロセスを監視する例で、正規表現で指定する)
File: /etc/monit.d/hoge
4. 構文チェック
予め設定ファイルの構文をチェックすることができる。
# monit -t
Control file syntax OK
5. Monit の再起動
# systemctl restart monit
6. 監視状況の確認
# monit status
Monit 5.27.2 uptime: 0m
System 'vbox'
status OK
monitoring status Monitored
monitoring mode active
on reboot start
load average [1.27] [1.71] [2.43]
cpu 0.0%usr 0.0%sys 0.0%nice 0.0%iowait 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
memory usage 946.1 MB [96.9%]
swap usage 1.2 GB [31.3%]
uptime 1h 0m
boot time Wed, 22 Sep 2021 15:24:00
filedescriptors 1888 [0.0% of 9223372036854775807 limit]
data collected Wed, 22 Sep 2021 16:24:14
status
が Running
であれば、「監視中」である。
monit summary
だと status
だけを確認できる。
7. 個別監視の停止・起動
個別に監視を停止・起動するには以下のようにする。
# monit stop xxxx
# monit start xxxx
8. グループ単位での監視の停止・起動
個別の設定ファイル内で group xxxx
のように記述していれば、xxxx グループの単位で監視を停止・起動することができる。
# monit -g xxxx stop
# monit -g xxxx start
9. 参考サイト
- Easy, proactive monitoring of processes, programs, files, directories, filesystems and hosts - Monit
以上。
Comments