Небольшой 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), поэтому проверка веб-сервера теперь обнаруживает оба варианта. Спасибо @RGJ за то, что обратил на это внимание ещё в июне.
-
Проверки сервисов сопоставляли свои собственные командные строки.
pgrep -f <name>, из-за чего pgrep находил сам себя, и проверка считалась пройденной независимо от того, запущен ли сервис на самом деле. Sidekiq отчётовал о состоянии «работает» безоговорочно с версии 1.0.0. Он мог быть остановлен, а вы всё равно получали зелёную отметку и код выхода 0 от cron. Та же причина, что и ложное срабатывание для Puma в версии 1.0.1, которое оказалось не исправлением, а переименованием.
