自分のフォーラム用に作成した小さな 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
```\nソース、オプション、および cron の例は README に記載されています:
https://github.com/haydenjames/discourse-health-check
---
## **[新バージョン v1.0.4](https://github.com/haydenjames/discourse-health-check/)**:
2 つの修正:
1. Discourse は Unicorn を Pitchfork に置き換えました(2026.2 でデフォルトになり、2026.4 で Unicorn が完全に削除されました)。そのため、Web サーバーのチェックは両方を検出するように変更されました。6月にこの問題を指摘してくれた @RGJ に感謝します。
2. サービスのプロブが自身のコマンドラインと一致していました。`pgrep -f <name>` を使用すると、pgrep が自身と一致してしまい、サービスが実際に稼働しているかどうかに関わらずチェックがパスしてしまいました。**Sidekiq は 1.0.0 以降、常に「稼働中」と報告していました**。実際には停止している可能性があっても、緑色のチェックマークと cron からの終了コード 0 が返されていました。これは 1.0.1 の Puma の誤検知と同じ根本原因であり、修正されたのではなくリネームされていたことが判明しました。
