나만의 포럼을 위해 만든 작은 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에서 확인하세요:
새 버전 v1.0.4:
두 가지 수정 사항:
-
Discourse가 Unicorn을 Pitchfork로 대체했습니다(2026.2 버전에서 기본값, 2026.4 버전에서 Unicorn 완전 제거). 따라서 웹 서버 체크는 이제 두 가지를 모두 감지합니다. 6월에 이 문제를 지적해 주신 @RGJ님께 감사드립니다.
-
서비스 프로브가 자신의 커맨드 라인을 매칭하고 있었습니다.
pgrep -f <name>을 사용했기 때문에 pgrep이 자기 자신을 매칭하여, 서비스가 실제로 실행 중이든 아니든 체크가 통과되었습니다. Sidekiq은 1.0.0 버전 이후로 조건 없이 "실행 중"으로 보고되었습니다. 서비스가 죽어 있더라도 cron에서 여전히 녹색 체크와 종료 코드 0을 받을 수 있었습니다. 이는 1.0.1 버전의 Puma 오탐(False positive)과 동일한 근본 원인으로, 당시에는 수정이 아닌 이름 변경이었음이 드러났습니다.
