08Reglas de diagnóstico y blueprints
Qué es una regla
Una regla de diagnóstico es una condición que el motor de AuditX evalúa contra las métricas o el resultado de comandos ejecutados sobre un servidor, y dispara una acción cuando se cumple. Cada regla especifica:
- Métrica o comando a evaluar (CPU %, RAM %, disco %, salida numérica de un script).
- Operador de comparación (>, ≥, <, ≤, =).
- Umbral numérico contra el cual comparar.
- Severidad de la alerta resultante: info, warning o critical.
- Acción a tomar: notificación interna, registro en el historial, etc.
Editor de reglas del servidor
Desde la cabecera del detalle del servidor, el botón reglas abre el editor /dashboard/servers/[id]/rules. Existen dos tipos de reglas que el motor sabe evaluar:
- Reglas sobre métricas estándar: comparan CPU, RAM, disco o uptime contra un umbral fijo.
- Reglas basadas en comandos (command rules): ejecutan un comando SSH arbitrario, leen su salida estándar, intentan convertirla a número y comparan ese número contra el umbral. Esto habilita escenarios complejos: cantidad de procesos zombies, longitud de una cola, número de conexiones a la base, etc.

Nota. El editor de reglas se guarda como un único documento atómico por servidor en la base de datos, lo que garantiza coherencia entre lecturas concurrentes desde distintas pestañas o sesiones.
Ejemplo de regla basada en comando
Supóngase que se quiere alertar cuando la cantidad de conexiones TCP establecidas exceda doscientas. Se configura:
- Comando:
netstat -an | grep ESTABLISHED | wc -l - Operador: >
- Umbral: 200
- Severidad: warning
En cada ciclo de monitoreo, el motor ejecuta el comando vía SSH, convierte la salida (wc -l devuelve un entero) y compara. Si la condición se cumple, crea una notificación en la bandeja y, si el usuario tiene las notificaciones de escritorio activadas, dispara una Notification del sistema operativo.
Blueprints: plantillas reutilizables
Un blueprint es un conjunto de reglas guardadas con un nombre, exportables como JSON. Sirven para reutilizar configuraciones entre servidores: un usuario que monitorea cuatro servidores web idénticos puede definir un blueprint Linux Web Production y aplicarlo a todos en lugar de crear las mismas reglas cuatro veces.
Listado e importación de blueprints
La sección Schemas de la barra lateral muestra los blueprints disponibles. Desde /dashboard/schemas/new se puede crear uno nuevo pegando un JSON con la estructura esperada o construyéndolo desde cero con el formulario.

Nota. El repositorio incluye blueprints de ejemplo (docs/lab_blueprint_mac_dev.json, docs/lab_command_rules_facturacion.json, docs/schema_facturacion.json) que pueden importarse para probar el sistema.
Aplicación de un blueprint a un servidor
Desde el editor de reglas del servidor, el botón importar blueprint muestra la lista de blueprints del usuario; al seleccionar uno, sus reglas se vuelcan en el editor. El usuario puede revisar, ajustar y guardar.