LegGov Central

Infraestrutura e monitoramento das Câmaras
Servidor operacional
Instalações
{{ $totals['instalacoes'] }}
Online
{{ $totals['online'] }}
Usuários ativos
{{ $totals['usuarios'] }}
Laravel
{{ $totals['laravel'] }}
PHP puro
{{ $totals['php'] }}
Saúde do servidor · {{ $server['hostname'] }}
Recursos e serviços principais em tempo real
@foreach([ 'apache' => 'Apache', 'mariadb' => 'MariaDB', 'php_fpm' => 'PHP-FPM' ] as $key => $label) {{ $label }} @endforeach
Carga
{{ $server['load']['1m'] }}
5m {{ $server['load']['5m'] }} · 15m {{ $server['load']['15m'] }}
Memória
{{ $server['memory']['percent'] }}%
{{ $server['memory']['used_human'] }} de {{ $server['memory']['total_human'] }}
Disco
{{ $server['disk']['percent'] }}%
{{ $server['disk']['free_human'] }} livres
Uptime
{{ $server['uptime'] }}
Servidor em execução
Proteção e backups
Rotina automática diária e cópia externa
@php $runOk = ($backup['run']['status'] ?? null) === 'ok'; $remoteOk = (bool) ($backup['run']['remote_confirmed'] ?? false); @endphp
● {{ ($runOk && $remoteOk) ? 'BACKUP PROTEGIDO' : 'VERIFICAR BACKUP' }}
Sistemas protegidos
{{ $totals['backups_ok'] }}/{{ $totals['instalacoes'] }}
instalações com backup recente
Última execução
{{ $backup['run']['date_human'] }}
duração {{ $backup['run']['duration_human'] }}
Arquivos /var/www
{{ $backup['files']['size_human'] }}
{{ $backup['files']['date_human'] }}
Cópia externa
{{ $backup['run']['remote_confirmed'] ? 'Confirmada' : 'Não confirmada' }}
OneDrive

Instalações monitoradas

atividade considerada nos últimos 5 minutos
@php $categoryCounts = collect($apps) ->groupBy('category') ->map(fn ($items) => $items->count()); $categoryFilters = [ 'all' => 'Todos', 'leggov' => 'LegGov', 'legislativo' => 'Legislativo', 'transparencia' => 'Transparência', 'portal_legislativo' => 'Portal Legislativo', 'gabinete' => 'Gabinete', 'protocolo' => 'Protocolo', 'patrimonio' => 'Patrimônio', ]; @endphp
@foreach($categoryFilters as $categoryKey => $categoryLabel) @php $categoryCount = $categoryKey === 'all' ? count($apps) : ($categoryCounts[$categoryKey] ?? 0); @endphp @endforeach
@foreach($apps as $app)
{{ $app['name'] }}
{{ $app['technology'] }}
{{ $app['category_label'] ?? 'Outros' }}
@php $statusClass = match($app['status'] ?? 'unknown') { 'online' => '', 'detected', 'unknown' => 'detected', default => 'offline', }; $statusLabel = match($app['status'] ?? 'unknown') { 'online' => 'ONLINE', 'detected' => 'DETECTADO', 'unknown' => 'NÃO VERIFICADO', default => 'OFFLINE', }; @endphp
{{ $statusLabel }}
Usuários
{{ $app['active_users'] ?? 'N/D' }}
Banco
{{ $app['database_size'] }}
Arquivos
{{ $app['files_size'] }}
{{ $app['database'] ?? 'Banco não identificado' }} @if(($app['database_status'] ?? null) === 'online') ● DB online @elseif(($app['database_status'] ?? null) === 'not_monitored') ● DB não monitorado @else ● DB offline @endif
@if(($app['monitoring'] ?? null) === 'partial')
@if(($app['database_status'] ?? null) === 'online') Banco monitorado · atividade de usuários ainda não monitorada @else Monitoramento parcial · banco ainda não monitorado @endif
@endif
Último backup: {{ $app['backup']['date_human'] ?? '—' }} · {{ $app['backup']['size_human'] ?? '—' }} @if(($app['backup']['status'] ?? null) === 'ok') ● BACKUP OK @elseif(($app['backup']['status'] ?? null) === 'atrasado') ● ATRASADO @else ● AUSENTE @endif
@if(!empty($app['database']))
@endif
@endforeach