私の RedHat サーバーは、3 週間ごとに日曜日の午前 4:15 頃にクラッシュします。(正確には日曜日で、最後の 2 回は木曜日の午前 4:15 頃でした) ログ (mysql、httpd、メッセージ) を見ても、原因の手がかりはありません。ただ停止しているように見えます。
15 分ごとにメモリの読み取りを行う小さなスクリプトを実行しましたが、この時点では (通常の読み取りで) 停止します。
サーバーはプロバイダーのリモートにあるため、Web 経由でしかアクセスできません。私は Plesk を使用しています。
問題の原因は、設定されたジョブか何かのようです。crontab には何も表示されません。
そこで質問なのですが...他にも同じような経験をした方、アドバイスを頂ける方はいらっしゃいますか? いらっしゃらない方は、
メッセージ ファイルで提供されるものよりも詳細なログを取得する方法をご存知の方はいらっしゃいますか? ブラック ボックス スタイルの記録プログラム、またはメッセージ ログのレポート レベルを上げるためのオプションのような単純なものを考えています。
ありがとう
答え1
これはcron.dailyジョブがスケジュールされている時間なので、まず/etc/cron.daily、weekly、monthlyを調べます。
10分ごとにプロセスのスナップショットを記録するatopをインストールできます
あるいは、psacctをインストールし、acctonとlastcommを使用して何が実行されたかを確認することもできます。
監査をオンにすることもオプションです。auditd(8)を参照してください。
答え2
コア ダンプを有効にすると、サーバーがクラッシュしたときにシステム メモリがファイルにコピーされます。
次の問題は、コアダンプ ファイルをどうするかです... gdb についてすべて知っている人が近くにいる場合は、その人が何かできるかもしれません... または、"strings" コマンドを使用して、コアダンプ ファイルからすべてのテキストをダンプし、何かを見つけることができるかもしれません。
答え3
適切に接続されている別のボックスにログオンし、screen を実行し、サーバーに ssh して、kern.log、daemon.log、syslog、個々の screen ウィンドウのメッセージを追跡します。(control-A、c で新しいウィンドウを作成し、Control-A、D でデタッチし、screen -r で再開します)
サーバーが再びロックアップすると、マシンがハングしたときにログが適切にディスクにフラッシュされていなかったとしても、ログの末尾が screen セッションに残っているはずです。
カーネルパニックやエラーが疑われる場合
カーネル.パニック=5 カーネル.パニック_on_oops=5
sysctl.conf または同等のファイルでは、5 秒間待機し、ドライブがフラッシュされるのを待ってから再起動します。