NcStatusCheck
Централизованный мониторинг нескольких экземпляров Nextcloud
NcStatusCheck — это инструмент мониторинга, позволяющий отслеживать состояние множества серверов Nextcloud из единого веб-интерфейса: версии Nextcloud и PHP относительно их порога безопасности, окончание поддержки ветки, доступность, предупреждения конфигурации, установленные приложения, контейнеры Docker и известные уязвимости.



🎯 Возможности
Мониторинг
- Три режима сбора данных для каждого сервера: Basic (только версия NC), Extended (полные данные через API serverinfo) и Push (данные, отправляемые удалённым экземпляром)
- Анализ версий Nextcloud и PHP относительно порога безопасности, который cron синхронизирует с официальными релизами, с задержкой отсрочки (
nc_update_grace_days), чтобы экземпляр помечался только через несколько дней после выпуска патча
- Жизненный цикл веток: окончание поддержки каждой ветки Nextcloud (официальный график), даты следующих релизов и сколько ваших серверов работает на каждой ветке
- Отслеживание доступности: текущая доступность плюс ограниченный журнал подтверждённых переходов, который питает процент доступности за 30 дней и список инцидентов
- Срок действия SSL-сертификата, считываемый из существующей HTTPS-проверки (без дополнительного запроса)
- Известные уязвимости (опционально): рекомендации Nextcloud, Collabora и OnlyOffice, сопоставленные с версиями, которые фактически работают в вашем парке
- Аудит установленных приложений: сверяет
occ app:list с магазином приложений Nextcloud (приложения, блокирующие обновление или несовместимые, доступные обновления, сигналы зрелости и турбулентности)
- Контейнеры Docker: остановленные, перезапускающиеся или неработоспособные контейнеры, а также обновления образов, проверяемые по каталогу тегов реестра (патч в вашей ветке, более новая ветка). Когда несколько отслеживаемых экземпляров используют одну машину, контейнеры привязываются к своему экземпляру
- Проактивные оповещения (webhook и/или email): изменения состояния доступности, а также медленные сигналы (истечение SSL, уязвимая версия, устаревшая Push-проверка, критический отчёт аудита, блокирующая находка по приложению, сломанный
occ). Одно оповещение на новое условие, без спама напоминаниями
- Пауза сервера (миграция, вывод из эксплуатации): проверки и оповещения приостанавливаются, строка остаётся видимой
- Отслеживание десктопного клиента: текущая версия, выпускаемый релиз-кандидат, измеренный темп релизов
Панель управления
- Таблица парка серверов (Server | Nextcloud | PHP | Health) и таблица жизненного цикла веток рядом друг с другом на широких экранах
- Столбец Health, следующий принципу «тишина = всё хорошо»: значки только тогда, когда есть на что реагировать
- Сводные карточки: обновления к применению, уязвимости, окончание поддержки ветки, предстоящие релизы, активные предупреждения, приложения, Docker, десктопный клиент. Каждая открывает свои детали в окне
- Обзор парка для приложений и образов Docker, отсортированный по тому, что вам нужно сделать: To review, To do, To plan, и свёрнутая группа Context
- Фильтры по статусу Nextcloud, статусу PHP, общему статусу (offline, maintenance, warnings, probe error, Docker updates…), образу Docker и текстовому поиску
- Теги под именем каждого сервера, кликабельные для фильтрации (несколько тегов = все сразу): ваши собственные теги (
client:durand, lab…), плюс тег 🖥 с именем машины, когда несколько отслеживаемых экземпляров работают на одном сервере (определяется из Push, скрипт v12+), один цвет на машину. Тег, записанный как type:value, принимает цвет своего типа, поэтому все теги client:… имеют один цвет
- Интерфейс FR / EN / DE
Страница детализации
- Плитки состояния над вкладками: доступность, доступность за 30 дней (список инцидентов в окне), SSL-сертификат, свежесть каждой проверки
- Обзор: вердикт по версии, заглушённые оповещения (подтверждения с их причиной и сроком действия), сводка по экземпляру (PHP, веб-сервер, база данных, кэш, развёртывание и вспомогательные инструменты, такие как офисный пакет, Talk HPB или whiteboard, как видно из приложений и контейнеров), затем проблемы, сгруппированные по областям
- Вкладки: техническая информация, приложения, контейнеры Docker, проверки
- Теги под URL, редактируемые на месте, с другими экземплярами, работающими на той же машине
- Каждое предупреждение можно подтвердить (причина + опциональный срок действия)
- Отчёт аудита сервера, когда экземпляр отправляет свой ежемесячный отчёт
nc-audit.sh
Администрирование
- Серверы: добавьте сервер по его URL (
https:// опционально), затем настройте его проверки на его карточке (токен serverinfo с кнопкой Test, Push-токен и генератор готового к использованию скрипта), пометьте его тегом, приостановите или удалите его
- Общие хосты: укажите, какой стек Docker compose принадлежит какому экземпляру, когда несколько отслеживаемых Nextcloud используют одну машину
- Версии NC / PHP: пороги безопасности, правила статуса, повторная синхронизация с официальными релизами
- Предупреждения о приложениях: ручной список известных ошибок
- Уведомления: действующая конфигурация оповещений (задаётся в
config.php, отображается только для чтения) и кнопка тестирования
- Фильтрация IP: генерирует правила allowlist для nginx / Apache / ufw
- Заглушения: аудит всех подтверждений по всему парку и того, какие из них всё ещё что-то скрывают
- Режимы сбора: справка по трём проверкам
- Кнопка «Trigger Push» на панели управления: просит каждый Push-сервер отправить свои данные при следующем запуске cron
🏗️ Архитектура