Versión de la plataforma Observer RMM de BrainCorp. Acumula todo lo trabajado desde la v1.4.4, y su cambio central es el modo mantenimiento: era un interruptor de silencio que suprimía alertas sin fecha, sin autor y sin decirlo en ninguna parte. Ahora se anuncia, se audita y avisa cuando se estira.
⚠️ Lea "Antes de actualizar" antes de desplegar. Esta versión cambia lo que el tablero pinta: sitios que hoy se ven verdes pasarán a mostrar su estado real.
Cambios en esta versión
Modo mantenimiento — visible, atribuible y con fecha de vencimiento humana
- Aviso permanente en el encabezado cuando hay equipos en mantenimiento: cuántos son, desde hace cuántos días está el más antiguo, y un botón que deja la lista filtrada por esos equipos. No se puede cerrar mientras haya equipos marcados: un aviso que se descarta vuelve a ser un olvido.
- El aviso respeta los permisos: un usuario que no ve un cliente tampoco ve sus equipos en el conteo.
- Cada equipo marcado muestra desde cuándo y quién lo activó, en el tooltip de la lista y en la ficha del equipo.
- Auditoría del cambio masivo. Activar o desactivar el modo mantenimiento por cliente o por sitio deja una entrada con el usuario, el alcance y los equipos afectados. Antes usaba una escritura directa a la base que no dejaba ningún rastro: nadie podía saber quién había silenciado un sitio entero.
- Aviso por correo cuando un equipo supera el umbral de días en mantenimiento. Configurable en Configuración global (3 días por omisión, se puede apagar). Un solo aviso por equipo y por ventana; bajar y volver a subir el modo mantenimiento empieza una ventana nueva.
- No se agregó caducidad automática, y es a propósito. Hay ventanas de mantenimiento que legítimamente duran días; apagarlas solas sería peor que el olvido. Lo que cambia es que el olvido ahora se ve.
- Los equipos que ya estaban en mantenimiento antes de actualizar aparecen con fecha "desconocido". La migración no inventa una fecha que no tiene; esos equipos igual cuentan en el aviso y igual disparan el correo.
- El color no cambia. El ícono de la fila y los nodos del árbol siguen en verde para los equipos en mantenimiento. El aviso lo carga el encabezado, no el color de las filas.
🔴 Corregido: un equipo en mantenimiento ocultaba a todo su sitio
Al calcular el estado de un sitio y de un cliente, el primer equipo en mantenimiento interrumpía la evaluación completa: los demás equipos del sitio no se miraban, y el sitio y el cliente se pintaban sanos aunque hubiera equipos fallando.
El impacto es proporcional a cuántos equipos estén marcados. En el ambiente donde se detectó, con 8 de 10 equipos en mantenimiento, explicaba buena parte de por qué la consola se veía tranquila durante cuatro días.
Al actualizar, sitios que hoy se ven verdes van a aparecer en rojo. Eso es el arreglo, no una regresión: esos equipos ya estaban fallando y estaban tapados. El equipo en mantenimiento se sigue ignorando y sigue verde — lo que deja de hacer es tapar a sus vecinos.
Seguridad de la configuración global
- La contraseña SMTP, los tokens de Twilio y de MeshCentral y la clave del asistente de IA ya no se pueden leer desde la consola: una vez guardados sólo se reemplazan o se borran. La consola indica si hay algo configurado, sin conocer el valor, y tampoco quedan en el registro de auditoría. Dejar el campo vacío significa "no lo toqué"; para quitar un secreto hay que borrarlo de forma explícita.
- Los datos de conexión con MeshCentral pasan a sólo lectura en la consola. Editarlos ahí nunca fue la vía correcta: el valor que manda lo despliega Ansible, la edición no persistía, y hasta el siguiente despliegue completo podía dejar "Tomar control" roto. Lo único que queda editable de esa pestaña es el nombre visible de la compañía.
Agentes e instaladores
- La consola marca los equipos con el agente de 32 bits instalado sobre un Windows de 64 bits. Ese equipo se ve perfectamente sano —está en línea, reporta, su registro dice que se está actualizando— pero la actualización nunca surte efecto: vuelve a descargar el mismo paquete cada hora, para siempre, y su inventario de software queda incompleto. Hasta ahora no había forma de distinguirlo en la consola.
- Los instaladores de Linux y macOS verifican la arquitectura del equipo y se niegan a instalar el agente equivocado. El modo de falla que esto ataja no es ruidoso: el binario de 32 bits corre sin error sobre un equipo de 64 bits, y el equipo queda pidiendo esa arquitectura indefinidamente.
- Corregido: el instalador de Windows
installer.ps1 no corría en Windows 7 de fábrica (PowerShell 2.0), que es justamente la única plataforma para la que existe el agente de 32 bits. Terminaba en un "Unable to connect to server" y cero instalación.
Operación
- Censo diario de nodos huérfanos de MeshCentral: registros que quedaron de un enrolamiento fallido y que, por definición, no aparecen en ninguna pantalla de la consola. El censo sólo informa, no borra; el borrado sigue siendo un procedimiento manual.
- Dos plantillas de scripts nuevas para censar y limpiar los archivos que quedan en Windows tras migrar un agente de 32 bits a 64. Ese residuo no es inerte: borrarlo sin cuidado deja tareas programadas rotas en silencio, y por eso el censo y la limpieza van separados y no se automatizan.
- Corregido: los correos de alerta se reportaban como enviados aunque el servidor SMTP los rechazara — conexión rechazada, login fallido, tiempo agotado. El botón "Probar" de la consola era la única ruta inmune al problema, así que el transporte podía verificarse verde mientras las alertas reales no salían.
- Corregido: cuando la hora de una desinstalación manual llegaba ilegible, el producto lo dejaba pasar en silencio. Ahora queda registrado.
Consola
- Corregido: al escribir un secreto en la configuración, el tabulador duplicaba el primer carácter.
- Corregido: tres textos quedaban en inglés con la interfaz en español.
- Corregido: el borrador de script generado con IA llegaba con el razonamiento interno del modelo mezclado en el código.
- Corregido: la plantilla de servicios reportaba FALLA a servicios que sí habían arrancado.
Antes de actualizar
⚠️ El tablero va a cambiar de aspecto. Por el arreglo descrito arriba, los sitios y clientes que hoy se ven sanos por tener un equipo en mantenimiento pasarán a mostrar el estado real de los demás equipos. Conviene avisarlo al equipo de operación antes del despliegue, para que no se lea como una falla del despliegue.
⚠️ Revise el modo mantenimiento antes de actualizar. Con esta versión el aviso aparecerá apenas alguien entre a la consola. Si hay equipos marcados desde hace tiempo, su fecha figurará como "desconocido" (el producto no la inventa) y entrarán en el primer correo de aviso, que es el comportamiento buscado: un mantenimiento sin fecha es uno que nadie está mirando.
Migraciones
Esta versión sí trae migraciones de base de datos: agents/0063 (metadatos del modo mantenimiento) y core/0061 (umbral y activación del aviso por correo). El propio despliegue las aplica. Ninguna borra ni reescribe datos existentes: los campos nuevos nacen vacíos.
Agente
LATEST_AGENT_VER no cambia en esta versión: sigue siendo la 2.15.1. La promoción de la 2.15.3 a producción es una decisión aparte.
Actualización
Despliegue con Ansible sobre la instalación existente (deploy-api.yml y deploy-frontend.yml).
El frontend debe redesplegarse: esta versión trae cambios de consola (el aviso del encabezado, el filtro y los tooltips) y sube APP_VER, que es lo que le pide al navegador recargar la aplicación.
---
Instalación y guía: ver README.md.
Licencia: uso interno BrainCorp.