Discourse-health-check: DiscourseサーバーのワンショットCLI概要

自分のフォーラム用に作成した小さな Bash スクリプトで、Discourse サーバーのワンショットなヘルスチェックを提供します。このような簡易的な概要が役立つ方と共有します。

システムリソースを確認:Docker、Discourse サービス(Postgres、Redis、Nginx、Unicorn、Sidekiq)、バックアップの鮮度、TLS、およびセキュリティの基礎事項。最後に「正常」「警告」「致命的」のサマリーと、cron で使用可能な終了コードで終了します。

インストール

curl -O https://raw.githubusercontent.com/haydenjames/discourse-health-check/main/discourse-health-check.sh
chmod +x discourse-health-check.sh
sudo ./discourse-health-check.sh

ソース、オプション、および cron の例については README を参照してください:

「いいね!」 9

Discourse は Puma を実行しません。

「いいね!」 3

ユニコーン。修正いただき、ありがとうございます。

「いいね!」 1

ピッチフォークかよ、今どき!

「いいね!」 2

素敵な提案、ありがとうございます!

バックアップについては、最新のバックアップが書き込まれてから読み込まれているかを確認することをお勧めします。これは、オフサイトにコピーされたかどうかを確認するための代理指標です(最新のものだけでなく、すべてを確認することも検討してください)。

もし1週間以上、どのバックアップもオフサイトにコピーされていない場合、それは警告に値します。

stat -c %Y から stat -c %X を引くか、あるいは単に比較することで確認できると思います。バックアップファイルが書き込まれてから読み込まれた場合、これらは異なる値になります。)

「いいね!」 5

@Ed_S 素晴らしい提案ですね。v1.0.2 で追加しました。最新のバックアップの atime と mtime を比較し、書き込まれてから読み込まれていない場合に警告を表示します。atime が信頼できない環境では、noatime チェックで適切にスキップします。クレジットを記載しました。ありがとうございます!

「いいね!」 4