> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/es/sonar/get-started/architecture.md).

# Arquitectura y componentes

Las partes que componen SONAR, en el servidor y en cada endpoint, cómo viaja un comando hasta un dispositivo y de vuelta, y qué deja de funcionar si una parte cae.

SONAR tiene dos mitades. En el **servidor**, operado por DataDike, un conjunto de servicios guarda los datos, sirve la consola y se comunica con los dispositivos. En cada **endpoint**, uno o varios servicios instalados por el instalador del agente mantienen una conexión con el servidor, informan sobre el equipo y ejecutan lo que la consola pide.

Saber qué parte hace qué convierte "SONAR no funciona" en "el escritorio remoto no responde en este equipo, todo lo demás sí".

{% hint style="info" %}
Esta página trata del software que hace funcionar el producto. Los objetos que usted gestiona (clientes, sitios, dispositivos, políticas) están en [Conceptos fundamentales](/es/sonar/get-started/core-concepts.md). La instalación de los agentes corresponde a Despliegue y operación.
{% endhint %}

## Los componentes

### En el servidor

| Componente                    | Qué hace                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Consola**                   | La aplicación web en la que usted inicia sesión. Todo lo que ve y hace en SONAR pasa por ella                                                                                                                                                                                                                                                                                          |
| **API**                       | Sirve la consola y sus integraciones, autentica cada solicitud, registra los cambios en el registro de auditoría y recibe los datos que los agentes envían por HTTPS: resultados de checks, resultados de tareas, salida de scripts, software instalado, actualizaciones de Windows, actividad de los usuarios                                                                         |
| **Servicio de mensajería**    | Mantiene una conexión persistente por agente. Los comandos viajan hacia el dispositivo por ella, y la señal de vida (heartbeat) y los informes de inventario del agente hacen el camino de vuelta, para escribirse en la base de datos a medida que llegan                                                                                                                             |
| **Servicio de tareas**        | Ejecuta el trabajo programado y en segundo plano: alertas y notificaciones de disponibilidad, acciones masivas, entrega de tareas automatizadas a los equipos Windows, tareas programadas en Linux y macOS, calendarios de aprobación e instalación de actualizaciones, actualizaciones automáticas del agente, distribución de las políticas de acceso y las cifras de los dashboards |
| **Servicio de acceso remoto** | Lleva las sesiones de escritorio remoto, terminal remoto y transferencia de archivos hasta el agente de acceso remoto de cada dispositivo, y proporciona el wake-on-LAN y el historial de encendido que muestra la pestaña **Uptime**                                                                                                                                                  |
| **Base de datos**             | Guarda la configuración, el inventario, el historial y el registro de auditoría                                                                                                                                                                                                                                                                                                        |

Estos servicios se ejecutan en el servidor que DataDike opera para usted. Su dimensionamiento, sus copias de seguridad y sus actualizaciones se definen con el soporte de implantación de DataDike.

### En el endpoint

| Componente                  | Plataformas           | Nombre del servicio en el equipo                                               | Qué hace                                                                                                                                                                                                                                                                                       |
| --------------------------- | --------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agente SONAR**            | Windows, Linux, macOS | `sonarrmm` (**Sonar Agent Service**) en Windows; `sonaragent` en Linux y macOS | Registra el equipo, envía la señal de vida y el inventario, ejecuta checks, comandos, scripts y tareas, busca e instala actualizaciones de Windows y se actualiza a sí mismo                                                                                                                   |
| **Agente de acceso remoto** | Windows, Linux, macOS | **Mesh Agent**                                                                 | Atiende las sesiones de escritorio remoto, terminal remoto y transferencia de archivos. Lo instala el instalador del agente                                                                                                                                                                    |
| **Módulo de productividad** | Windows               | `SonarProductivityService` (**Sonar Productivity Service**)                    | Registra las sesiones iniciadas, las aplicaciones y sitios web en uso y el tiempo de inactividad, y aplica las políticas de acceso en el equipo: bloquea un inicio de sesión fuera de la franja permitida, avisa antes de que termine una sesión y cierra la sesión del usuario cuando termina |

Toda conexión se abre **desde el endpoint hacia el servidor**, por HTTPS en el puerto 443: el agente hacia la dirección de la API, y el agente de acceso remoto hacia la dirección de acceso remoto. Nada en la red tiene que entrar hasta el endpoint. Vea [Requisitos de red](/es/sonar/deploy-operate/network-requirements.md).

## Cómo llega un comando a un dispositivo

Ejecutar un comando en un dispositivo, desde la acción **Send Command** del panel del dispositivo:

1. **Usted envía el comando en la consola.** La API comprueba que su rol concede el permiso y le da acceso al cliente y al sitio de ese dispositivo.
2. **La API escribe una línea en la pestaña History del dispositivo** y entrega el comando al servicio de mensajería, dirigido a ese único agente.
3. **El servicio de mensajería lo entrega** por la conexión que el agente mantiene abierta. El agente ejecuta el comando en su propio proceso.
4. **El agente responde** por la misma conexión y además envía la salida a la API, que la guarda junto a la línea de History.
5. **La consola muestra la salida**, y el registro de auditoría anota quién ejecutó qué y en qué dispositivo.

Un script sigue el mismo camino. Una acción masiva del menú **Tools** difiere en un aspecto: la API no espera a los dispositivos. Pone el trabajo en cola, el servicio de tareas lo envía a la vez a todos los agentes seleccionados, y la salida de cada dispositivo llega a su propia pestaña **History** a medida que termina.

El trabajo programado va en sentido contrario. El agente pregunta a la API, según su propio calendario, qué checks tocan y devuelve cada resultado. En Windows, las tareas automatizadas se escriben en el programador de tareas del propio equipo, que las inicia a la hora prevista; en Linux y macOS, las inicia el servicio de tareas. En ambos casos el resultado vuelve a la API y aparece en las pestañas del dispositivo.

## Cuando un dispositivo está fuera de línea

El estado de un dispositivo es el tiempo transcurrido desde su última señal de vida (heartbeat), que el agente envía aproximadamente una vez por minuto mientras está conectado. No hay una señal aparte de "desconectado": un dispositivo que deja de informar conserva su último estado hasta que se supera el umbral de offline. Los umbrales están en [Conceptos fundamentales](/es/sonar/get-started/core-concepts.md#estado-del-dispositivo).

Lo que eso significa para el trabajo que usted envía:

| Usted envía                                                                                         | Mientras el dispositivo está fuera de línea                                                                                                                                                                                                 |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Un comando, un script, un reinicio, un apagado, una lista de procesos, una acción sobre un servicio | Necesita el agente conectado. Una acción sobre un solo dispositivo falla con un mensaje como `Unable to contact the agent`. Una acción masiva se envía una vez; un dispositivo que está fuera de línea en ese momento no la ejecuta después |
| Checks                                                                                              | El agente recoge los checks pendientes cuando ejecuta su siguiente ciclo, así que se reanudan solos cuando el dispositivo vuelve                                                                                                            |
| Tareas automatizadas para Windows                                                                   | Se crean, cambian o eliminan en el equipo la próxima vez que esté en línea. Las tareas que ya están en el equipo mantienen su programación                                                                                                  |
| Políticas de acceso                                                                                 | Se retienen para el dispositivo. El módulo de productividad recibe la versión actual cuando se vuelve a conectar, la aplica y lo confirma                                                                                                   |
| Escritorio remoto, terminal, transferencia de archivos                                              | Necesita el agente de acceso remoto conectado, que aparece como **Remote Online** en el panel del dispositivo                                                                                                                               |

## Qué se detiene cuando una parte no está disponible

| No disponible                                 | Qué se detiene                                                                                                                                                                                                                                                                                           | Qué sigue funcionando                                                                                                                                                       |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Consola o API**                             | La consola, las integraciones y todo lo que los agentes envían por HTTPS: resultados, salida de scripts, actualizaciones de inventario                                                                                                                                                                   | Los agentes siguen ejecutándose en los equipos                                                                                                                              |
| **Servicio de mensajería**                    | Comandos, scripts, reinicios, vistas de procesos, servicios y registros de eventos, ejecución de checks bajo demanda. Las señales de vida dejan de registrarse, así que los dispositivos pasan a estar fuera de línea cuando se supera el umbral                                                         | Escritorio remoto, terminal y transferencia de archivos, que usan el servicio de acceso remoto                                                                              |
| **Servicio de tareas**                        | Alertas de disponibilidad y notificaciones por correo electrónico o SMS, acciones masivas, actualizaciones automáticas del agente, calendarios de actualizaciones, tareas programadas de Linux y macOS, entrega de los cambios de las políticas de acceso y el recálculo de las cifras de los dashboards | Las acciones sobre un solo dispositivo desde su panel, que pasan directamente por la API                                                                                    |
| **Servicio de acceso remoto**                 | Escritorio remoto, terminal remoto, transferencia de archivos, wake-on-LAN, la pestaña **Uptime**                                                                                                                                                                                                        | Todo lo que pasa por el agente                                                                                                                                              |
| **Base de datos**                             | Todo                                                                                                                                                                                                                                                                                                     | Nada en el lado del servidor                                                                                                                                                |
| **Agente SONAR en un dispositivo**            | Ese dispositivo deja de informar y de aceptar comandos, y queda fuera de línea                                                                                                                                                                                                                           | El escritorio remoto puede seguir respondiendo si el agente de acceso remoto está en ejecución                                                                              |
| **Agente de acceso remoto en un dispositivo** | Escritorio remoto, terminal y transferencia de archivos de ese dispositivo. El panel muestra **Remote Offline**                                                                                                                                                                                          | Todo lo que pasa por el agente SONAR. Con el agente en línea, **Restart Remote Service** en el panel del dispositivo pide al agente que reinicie el agente de acceso remoto |
| **Módulo de productividad en un dispositivo** | La actividad de los usuarios de ese equipo y la aplicación de las políticas de acceso en él                                                                                                                                                                                                              | Todo lo que pasa por el agente SONAR                                                                                                                                        |

## Por qué algunas cifras llegan con retraso

Las pantallas que resumen todo el parque no cuentan los dispositivos cada vez que usted las abre. El servicio de tareas calcula esas cifras en segundo plano, y las tarjetas del dashboard **Home** se recalculan cada cinco minutos. Un dispositivo que acaba de ponerse en línea aparece en la lista de dispositivos de **Sysadmin** en cuanto usted la recarga, y en los recuentos de Home en pocos minutos.

## Errores comunes

| Síntoma                                                                                                 | Causa                                                                                                           | Solución                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Unable to contact the agent` al enviar un comando                                                      | El agente no está conectado al servicio de mensajería                                                           | Revise **Agent Status** y **Last Response**. Si el dispositivo está apagado o fuera de línea, espere a que vuelva; el comando no se pone en cola |
| Una acción masiva indica que se ejecutará, pero algunos dispositivos no tienen resultado en **History** | Esos dispositivos estaban fuera de línea cuando se envió el trabajo                                             | Vuelva a ejecutar la acción en esos dispositivos cuando estén en línea                                                                           |
| **Take Control** está deshabilitado y el panel muestra **Remote Offline**                               | El agente de acceso remoto del dispositivo no está conectado                                                    | Si el dispositivo está en línea, use **Restart Remote Service**; si no, espere a que el dispositivo vuelva                                       |
| La lista de dispositivos muestra un dispositivo como en línea, pero se apagó hace una hora              | El estado es el tiempo transcurrido desde la última señal de vida, y aún no se ha superado el umbral de offline | Lea **Last Response**, que muestra la hora real del último contacto                                                                              |
| Un dispositivo nuevo está en la lista de dispositivos pero todavía no en los recuentos de Home          | Las cifras de Home se recalculan cada cinco minutos                                                             | Espere unos minutos y actualice el dashboard Home                                                                                                |

## Páginas relacionadas

* [Conceptos fundamentales](/es/sonar/get-started/core-concepts.md): los objetos sobre los que actúan los componentes
* [Un recorrido por la consola](/es/sonar/get-started/console-tour.md): dónde está cada pantalla
* [Requisitos de red](/es/sonar/deploy-operate/network-requirements.md): lo que los endpoints deben poder alcanzar
* [El módulo de productividad](/es/sonar/deploy-operate/productivity-module.md)
* [Solucionar problemas de los agentes](/es/sonar/deploy-operate/troubleshooting.md)
