InfraGuard

Cómo leer la pantalla de inicio Resumen

La consola principal convergente que reúne en una sola pantalla las puntuaciones compuestas de disponibilidad y seguridad, las tarjetas KPI, el anillo de detecciones y las bandas de servidores en vivo a todo lo ancho.

Resumen: qué hace esta pantalla

Resumen es la primera pantalla tras iniciar sesión (/). Recorre la disponibilidad y la seguridad en un único panel: la banda superior muestra los indicadores compuestos de salud, las tarjetas KPI y el anillo de detecciones; la banda inferior muestra las series temporales de carga / memoria / red / almacenamiento del parque de servidores.

Rasgos principales:

Todas las cifras son datos reales que los recolectores, ejecutados fuera de Laravel, cargan en la base de datos. Si la base de datos heredada no está accesible o está vacía, el controlador recurre de forma elegante a una maqueta (demo) estructuralmente idéntica; en ese caso source es mockup y rev es 0, por lo que el frontend omite el nuevo renderizado.

Cuándo usarla

Disposición

Cabecera superior

Título y lema («Respuesta inmediata · Listo por defecto · Siempre recuperable») y, a la derecha, la marca de tiempo de la recolección (stamp) y el número de hosts, un conmutador LIVE/PAUSED y un botón de pantalla completa.

Puntuación de salud (izquierda)

Dos indicadores en anillo (disponibilidad, seguridad) con un panel de evidencias a dos columnas debajo:

Columna 6 símbolos (información al pasar el ratón) Origen de la puntuación
Base de la disponibilidad actividad · carga · memoria · disco · RAID · copia de seguridad avail_parts de aggregate() (composición sensible a la duración, 0–100)
Base de la seguridad IDS · IA · web · cortafuegos · reputación · TLS PostureService (proporciones de residuo sin mitigar de 24 h normalizadas a puntuaciones de salud)

Cada símbolo se colorea según metric_cls: ≥90 good · ≥70 warn · por debajo crit · sin datos muestra — (na).

Tarjetas KPI (centro 3×2 + 2 condicionales)

Tarjeta Valor Línea secundaria
Servidores en línea/total número de fuera de línea o «todos en línea»
Pico de carga carga máxima del conjunto visible host · «hace N min»
Pico de memoria % máximo de memoria del conjunto visible host · «hace N min»
Pico de red máximo de paquetes (el mayor de entrada/salida) host · «hace N min»
Amenazas abiertas (= bloqueos de Kitsune) bloqueadas hoy
Copia de seguridad % de éxito a 14 días ejecuciones en 24 h · última duración · tipo dominante
Servicio web (condicional) up/total host más lento · ms
Base de datos (condicional) up/total base de datos más ocupada · lentas en 24 h · en cola

Los picos de carga/memoria/red se calculan en el frontend como «el máximo de la serie entre los servidores actualmente visibles (current_servers)». Es decir, cambiar la división o la página cambia qué servidores tienen en cuenta las tarjetas de pico. La etiqueta «hace N min» se deriva de la posición del seq (times[idx]) en la que se observó ese pico por primera vez.

Panel de rendimiento del servicio (derecha)

Muestra un servicio web y uno de base de datos como indicadores compactos: individuales, no sumados, para que un servicio desbocado no quede enterrado en una media. Use el desplegable («Elegir otro servicio») para cambiar de objetivo:

Anillo de detecciones (derecha)

Las detecciones de 24 horas en cuatro categorías (IDS/IA/web/escaneo). Anillo de ECharts + una leyenda HTML (nombre · recuento compacto · barra de proporción).

Parte inferior: bandas de servidores a todo lo ancho

Bajo la barra de herramientas Server stats (chip de RAID · chip «<1G libre» · deslizador de altura · etiqueta de rango · selector de rango temporal · botones de división) hay cuatro bandas:

Cómo usarla

  1. Primero los indicadores: lea el color de las dos puntuaciones. Si son bajas, pase el ratón por las celdas rojas (crit) o ámbar (warn) de los 6 símbolos de evidencia de abajo para ver qué eje está penalizado.
  2. Tarjetas KPI: busque valores atípicos (servidores fuera de línea, amenazas, tasa de éxito de la copia de seguridad). Use el «hace N min» de las tarjetas de pico para fijar el momento del incidente.
  3. Cambiar la ventana temporal: los botones 6h · 24h · 3d de la parte inferior derecha cambian la ventana de las bandas. La elección se guarda en localStorage (infr:range:overview) y se vuelve a consultar al servidor mediante el parámetro range. Las tarjetas KPI y los indicadores de salud se mantienen fijos en un concepto de 24 h (solo las bandas cambian de ventana).
  4. División de pantalla: los botones All · 2 · 3 reparten el parque en páginas (◀▶). Útil para repartirlo entre monitores.
  5. Altura y escala: el deslizador fija la altura de las bandas (80–360px); el Lin/Log de cada banda fija la escala del eje y (útil frente a hosts con muchos picos).
  6. En vivo / pantalla completa: el conmutador LIVE de la cabecera activa o desactiva el sondeo; full screen oculta la barra de navegación superior para el modo muro de monitorización.

Rango → número de puntos

La ventana de las bandas inferiores se convierte en un número de puntos de seq según la cadencia de recolección de server_status (unos 5 min).

range puntos de seq
6h 72
24h 288 (por defecto)
3d 864

Comportamiento de la actualización en vivo (sondeo)

every 30s  ──▶  GET /overview/rev   (cheap latest seq)
                   │  rev changed?
                   ├─ no  → skip (0 bandwidth)
                   └─ yes → GET /overview/live?range=<window>  → swap data + re-render charts

Orígenes de datos

Todos de solo lectura. La aplicación lee las tablas de recursos heredadas tal cual.

Eje Tabla / servicio Conexión Uso
Parque de servidores / series server_status (loadavg·free·df-*·traffic-out) legacy (MAIN) bandas de carga/memoria/disco/red, actividad
RAID storage_status (status_summary) legacy evidencia Optimal/Degraded/Failed
Copia de seguridad backup_history legacy tasa de éxito a 14 días · última · tipo
IDS suricata_alert_ct legacy_glory anillo de detecciones · base de la seguridad (sev 1·2)
Anomalía de IA kitsune_detail_log (is_blocked) legacy_glory detecciones · amenazas · base de la seguridad
Ataque web nginx_meta_ct (is_suspicious) legacy_glory detecciones · proporción de peticiones sospechosas
Reputación / bloqueo blacklist_info legacy_glory bloqueadas hoy · presión de bloqueos nuevos
Higiene TLS suricata_tls_ct (version) legacy_glory proporción de TLS débil (<1.2)
Rendimiento del servicio web WebMetricService::dashboard() (infr_web_metric) central KPI web · panel de rendimiento
Rendimiento de BD DbCollectorService::latest() · infr_db_metric · infr_collector (access=database) central KPI de BD · panel de rendimiento
Exposición del cortafuegos FirewallService::dashboard() (infr_instance_firewall) central base de la seguridad fw

Fórmulas de las puntuaciones compuestas

Disponibilidad = media ponderada de los ejes que tienen datos (los pesos se renormalizan). Cada eje observa toda la ventana mostrada y penaliza según «cuánto tiempo (duración) y con qué gravedad (pico)» se rebasó el umbral.

Eje Peso Base de la penalización
actividad 0.30 fracción de ciclos sin respuesta después del primer informe
carga 0.15 rebase de la carga media ≥ 8 (≥16 = totalmente sobrecargado)
memoria 0.15 uso > 99% (100% = presión total)
disco 0.15 espacio libre en la raíz < 1G (solo las particiones medidas; 0G = riesgo total)
RAID 0.15 un nodo Degraded/Failed puntúa 0
copia de seguridad 0.10 tasa de éxito a 14 días

Seguridad = media ponderada de las 6 métricas de evidencia (solo las presentes). Cada una normaliza una medición de 24 h de glory a una puntuación de salud (0–100): cuanto mayor es el volumen o la proporción, mayor es la penalización (penalización máxima 45 → suelo 55). Solo cuando ninguna métrica está disponible se recurre al escalar heurístico de detections().

Métrica Peso Origen (24 h) Penalización máxima en
ids 0.22 número de alertas IDS de gravedad alta (sev 1·2) 200
ai 0.22 número de bloqueos de Kitsune 500
web 0.20 proporción % de peticiones sospechosas de nginx 8%
rep 0.14 número de IP bloqueadas nuevas hoy 400
tls 0.12 proporción % de TLS débil (<1.2) 5%
fw 0.10 puertos críticos con IP pública ×2 + críticos + exposición no gestionada 200

TTL de la caché

Objetivo TTL Clave
Datos reales del resumen (build) 30s infr:overview:data:v1:{points}
Panel de rendimiento del servicio (web/db) 15s infr:ov:perf
Base de la seguridad (PostureService) 300s infr:sec:posture:v1:<range>

Acceso

Resolución de problemas y preguntas frecuentes

Q. Los indicadores y las tarjetas muestran valores que parecen de demostración. Es la maqueta de reserva que se activa cuando la conexión con la base de datos heredada (legacy/legacy_glory) falla o no tiene datos. Si el source de la carga útil es mockup y rev es 0, la base de datos real no está disponible. Compruebe la conectividad de la base de datos y la ingesta de los recolectores (Administración ▸ Recolectores).

Q. Un símbolo de evidencia muestra —. Ese eje no tiene datos (queda excluido de la ponderación). Por ejemplo, si la CMDB de cortafuegos (infr_instance_firewall) está vacía, fw muestra —: hacen falta activos de cortafuegos, no la antigua firewall_status. RAID se excluye cuando no existe un storage_status.host coincidente.

Q. Los datos no se actualizan. Compruebe (1) si el conmutador de la cabecera indica PAUSED y (2) si la pestaña está en segundo plano (el sondeo se pausa mientras está oculta). Los recolectores ingieren con una cadencia aproximada de 5 minutos fuera de Laravel, así que incluso con un sondeo de 30 s el valor real puede ir varios minutos por detrás. Si rev no ha cambiado, la carga pesada no se descarga.

Q. El servidor con el pico de carga cambia según la vista. El pico se calcula sobre el conjunto de servidores de la vista actual (división/página). Para razonar sobre todos los servidores, ponga la división en All.

Q. La entrada de red siempre es 0. server_status no tiene un origen de entrada por alias, así que net_in se rellena con 0 y solo se mide traffic-out (paquetes). Para el ancho de banda detallado, véase Tráfico (E/S de red).

Q. Cambiar el rango no mueve los KPI ni los indicadores. Es lo esperado. El range (6h/24h/3d) se aplica solo a las bandas inferiores; las tarjetas KPI y los indicadores de salud son un concepto fijo de 24 h.

Relacionado

개요 — 헬스 스코어·근거 심볼·서버 통계
개요 — 헬스 스코어·근거 심볼·서버 통계