NcStatusCheck
Monitoramento centralizado para múltiplas instâncias do Nextcloud
NcStatusCheck é uma ferramenta de monitoramento que permite acompanhar a saúde de vários servidores Nextcloud a partir de uma única interface web: versões do Nextcloud e do PHP em relação ao seu piso de segurança, fim de vida do branch, acessibilidade, avisos de configuração, aplicativos instalados, contêineres Docker e vulnerabilidades conhecidas.



🎯 Recursos
Monitoramento
- Três modos de coleta de dados por servidor: Básico (apenas versão do NC), Estendido (dados completos via API serverinfo) e Push (dados enviados pela instância remota)
- Análise de versão do Nextcloud e do PHP em relação a um piso de segurança que o cron mantém sincronizado com os lançamentos oficiais, com um atraso de carência (
nc_update_grace_days) para que uma instância só seja sinalizada alguns dias após a publicação de um patch
- Ciclo de vida dos branches: fim de vida de cada branch do Nextcloud (calendário oficial), próximas datas de lançamento e quantos dos seus servidores executam cada branch
- Rastreamento de disponibilidade: acessibilidade atual mais um diário limitado de transições confirmadas, que alimenta uma % de disponibilidade de 30 dias e uma lista de incidentes
- Expiração do certificado SSL, lida a partir da sonda HTTPS existente (sem requisição extra)
- Vulnerabilidades conhecidas (opcional): avisos do Nextcloud, Collabora e OnlyOffice comparados com as versões que sua frota realmente executa
- Auditoria de aplicativos instalados: cruza
occ app:list com a loja de aplicativos do Nextcloud (aplicativos que bloqueiam atualização ou incompatíveis, atualizações disponíveis, sinais de maturidade e turbulência)
- Contêineres Docker: contêineres parados, reiniciando ou não saudáveis, e atualizações de imagem verificadas contra o catálogo de tags do registro (patch no seu branch, branch mais recente). Quando várias instâncias monitoradas compartilham uma máquina, os contêineres são atribuídos à sua própria instância
- Alertas proativos (webhook e/ou e-mail): mudanças de estado de disponibilidade, além de sinais lentos (expiração de SSL, versão vulnerável, sonda Push desatualizada, relatório de auditoria crítico, constatação de aplicativo bloqueante,
occ quebrado). Um alerta por nova condição, sem spam de lembretes
- Pausar um servidor (migração, descomissionamento): sondas e alertas são suspensos, a linha permanece visível
- Monitoramento do cliente desktop: versão atual, release candidate em andamento, ritmo de lançamento medido
Painel
- Tabela da frota (Servidor | Nextcloud | PHP | Saúde) e tabela de ciclo de vida dos branches lado a lado em telas largas
- Coluna de saúde seguindo "silêncio = tudo bem": badges apenas quando há algo a fazer
- Cartões de síntese: atualizações a aplicar, vulnerabilidades, fim de vida do branch, próximos lançamentos, avisos ativos, aplicativos, Docker, cliente desktop. Cada um abre seus detalhes em uma janela
- Monitoramento da frota para aplicativos e imagens Docker, ordenado pelo que você precisa fazer: A revisar, A fazer, A planejar, e um grupo recolhido Contexto
- Filtros por status do Nextcloud, status do PHP, status geral (offline, manutenção, avisos, erro de sonda, atualizações Docker…), imagem Docker e busca textual
- Tags sob cada nome de servidor, clicáveis para filtrar (várias tags = todas ao mesmo tempo): suas próprias tags (
client:durand, lab…), mais uma tag 🖥 nomeando a máquina quando várias instâncias monitoradas rodam no mesmo servidor (detectado a partir do Push, script v12+), uma cor por máquina. Uma tag escrita type:value assume a cor do seu tipo, então toda tag client:… compartilha uma cor
- Interface FR / EN / DE
Página de detalhes
- Blocos de estado acima das abas: acessibilidade, disponibilidade de 30 dias (lista de incidentes em uma janela), certificado SSL, atualidade de cada sonda
- Visão geral: veredito de versão, alertas silenciados (reconhecimentos com seu motivo e expiração), resumo da instância (PHP, servidor web, banco de dados, cache, implantação e ferramentas satélites como a suíte de escritório, Talk HPB ou whiteboard, conforme visto a partir de aplicativos e contêineres), depois problemas agrupados por área
- Abas: informações técnicas, aplicativos, contêineres Docker, sondas
- Tags sob a URL, editáveis no local, com as outras instâncias rodando na mesma máquina
- Todo aviso pode ser reconhecido (motivo + expiração opcional)
- Relatório de auditoria do servidor quando a instância envia seu relatório mensal
nc-audit.sh
Administração
- Servidores: adicione um servidor pela sua URL (
https:// opcional), depois configure suas sondas no seu cartão (token serverinfo com um botão Testar, token Push e gerador de script pronto para uso), marque-o com tags, pause-o ou remova-o
- Hosts compartilhados: informe qual stack Docker compose pertence a qual instância quando vários Nextclouds monitorados compartilham uma máquina
- Versões NC / PHP: pisos de segurança, regras de status, ressincronização a partir dos lançamentos oficiais
- Avisos de aplicativos: uma lista manual de bugs conhecidos
- Notificações: a configuração efetiva de alertas (definida em
config.php, exibida somente leitura) e um botão de teste
- Filtragem de IP: gera regras de allowlist para nginx / Apache / ufw
- Silenciamentos: auditoria de todos os reconhecimentos em toda a frota, e quais ainda escondem algo
- Modos de coleta: ajuda para as três sondas
- Botão "Disparar Push" no painel: pede a cada servidor Push que envie seus dados na próxima execução do cron
🏗️ Arquitetura