はじめに
こんにちは、インフラエンジニアのやすです。
今回は、サーバの保守で必須な「システム監視」について、話したいと思います。
システム監視というのは、名前の通りなんですけれども、システムに異常が起きていないかを常に監視することです。
もちろん、人間がずーっと見張っている訳にはいかないので、Zabbixなどの監視製品を使って監視をします。
病院で入院している患者さんのそばにあるモニターみたいなイメージで、それのコンピュータ版です。
今回はそのうち、「監視する必要のあるサーバのプロセスってなに?」というテーマで話します。
監視した方が良いプロセスの一覧サマリー
プロセス監視は、基本的に「常に動いている必要のあるプロセス(常駐プロセス)」を監視します。常駐プロセスは、プロセス名が「~d」で終わるものです(デーモンとも言います)。
では、さっそく見ていきましょう!
プロセス名 | プロセスが止まった際の影響 |
---|---|
共通 | |
auditd | |
crond | cronのプロセス。 |
ntpd | NTP(刻合わせ)のプロセス。 |
sshd | SSH接続のプロセス。 |
systemd | システム |
rsyslogd | rsyslogのプロセス。 |
Webサーバ | |
httpd | Apacheのプロセス。 |
DBサーバ | |
mysqld | MySQLのプロセス |
postgres | PostgreSQLのプロセス |
各プロセスが停止した場合の影響
crond
影響
cronに登録されているタスクの実行がされなくなります。
逆に言えば、タスクが実行される予定時間までは、プロセスが止まっていても何の影響もありません。
(当然ですが、cronに何もタスクを登録していない場合は、監視する必要はありませんよ!笑)
また、cronに登録されている内容にもよりますが、1週間に1回動くOS再起動のタスクだったり、1日1回夜の間にだけ動くプロセスの再起動やDBのバックアップのタスクだったり、1時間に1回動くタスクが登録されていたりが定番です。
つまり、そこまで慌ててテンパらなくても多分大丈夫!
対処方法
1、cronに登録されているタスクの時間を確認。
・対象サーバにログイン。
・「crontab -l」または「ls -l /var/spool/cron」
2、プロセス停止からプロセス再開までの間に動くはずだったタスクがあるかを確認。
→ タスクないなら影響なし。
→ タスクがあるなら、それを手動実行かな。
3、プロセス再開
systemctl start crond
ntpd
影響
時刻同期ができない。
sshd
影響
ssh接続ができない。
逆に言うと、サーバにssh接続しての作業や他サーバからのリモートログインをしてのバッチ処理などがあるまでは影響がない。
rsyslogd、journald
影響
「rsyslogd」と「journald」は、Linuxのログ管理をしているプロセスです。
互いに協力する補完関係にあります。
「rsyslogd」が止まると「シスログ(/var/log/messages)への記録がされなくなる」という影響があります!
ただ、慌てなくて大丈夫。
「journald」も、シスログへ書き込む内容をメモリーに保管しています。
なので、「rsyslogd」を再起動させると、停止中にシスログに書き込まれるはずだったメッセージは、「journald」から情報を連携してもらって、遡って書き込みが再開されます。
(OS再起動されて、メモリーがリフレッシュしてしまわない限りは)ログメッセージは、失われません。
「rsyslogd」と「journald」が両方止まってたら、焦りましょう(笑)
対処方法
何らかの理由で止まった場合は、速やかに起動させましょう。
#稼働確認(止まっていること)
[root@localhost ~]# ps aux | grep rsyslogd | grep -v grep
[root@localhost ~]#
#起動
[root@localhost ~]# systemctl start rsyslog
[root@localhost ~]#
#稼働確認(動いていること)
[root@localhost ~]# ps aux | grep rsyslogd | grep -v grep
root 1765 0.0 0.1 216400 2564 ? Ssl 09:15 0:00 /usr/sbin/rsyslogd -n
[root@localhost ~]#
プロセスが落ちる原因は?
リソース負荷が高くなかったか?
毎回同じ時間に落ちていないか?
を確認する。
まとめ
今回は、Linuxで監視する必要があるプロセスについて紹介してみました。
あとは実際にサーバにログインして、「ps aux」などのコマンドで確認しながら監視対象のプロセスを調整してみましょう。
ではまた、バイバーイ♪