> 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/deploy-operate/install-agent-macos.md).

# Instalar el agente en macOS

Instale el agente de SONAR en un Mac Intel o Apple silicon con el comando de Agents › Install Agent, revise lo que instala y verifique que el Mac se reporta.

## Qué es y cuándo usarlo

En macOS, **Agents › Install Agent** produce un comando de una línea para el Terminal, vinculado a un cliente y a un sitio. Ejecutado en el Mac, el comando descarga el agente de SONAR para la arquitectura elegida y lo ejecuta con `sudo`. A continuación, el agente instala el agente de acceso remoto, registra el dispositivo y crea su launch daemon. El mismo comando funciona en cualquier número de Mac de ese sitio mientras siga siendo válido.

## Antes de empezar

* Su rol tiene el permiso **Install Agents** en **Admin Center › Roles** y acceso al sitio de destino.
* El Mac ejecuta macOS 12 Monterey o posterior. Compruebe su procesador: `uname -m` devuelve `arm64` en Apple silicon y `x86_64` en Intel. Vea [Requisitos de los dispositivos](/es/sonar/deploy-operate/requirements.md).
* Puede ejecutar comandos con `sudo` en el Mac.
* El Mac puede alcanzar la dirección de la API y la dirección de acceso remoto de SONAR en 443/tcp. Vea [Requisitos de red](/es/sonar/deploy-operate/network-requirements.md).

## Pasos

### Obtener el comando

1. Abra **Agents › Install Agent**, o haga clic en **New Agent** en la lista de dispositivos de **Dashboard › Sysadmin**.
2. Elija el **Client** y el **Site**.
3. En **Operating system**, seleccione **macOS**.
4. En **Agent type**, seleccione **Workstation** o **Server**.
5. En **Architecture**, seleccione **Apple Silicon** o **Intel 64-bit**.
6. Si lo desea, active **Enable token expiration (hours)** e indique en **Hours** durante cuántas horas sigue siendo válido el comando.
7. Haga clic en **View macOS install instructions**. Se abre el cuadro de diálogo **Manual Installation** con *Run the following command in your terminal*.
8. Haga clic en **Copy Command Line**. Para añadir un argumento de **Optional Arguments** (por ejemplo `-desc "Design team iMac"`), añádalo al final del comando.

Las opciones de **Optional features** se aplican a los dispositivos Windows. La instalación en macOS no las usa.

### Ejecutarlo en el Mac

1. Abra **Terminal** en el Mac, en una carpeta en la que pueda escribir, como su carpeta de inicio.
2. Pegue el comando y pulse Return. Descarga el archivo del agente `sonaragent-v<version>-darwin-<architecture>`, lo hace ejecutable y lo ejecuta con `sudo`.
3. Escriba la contraseña de administrador cuando `sudo` la pida.
4. Espere a que aparezca *Installation was successful!* en la salida.

El agente se copia a sí mismo en `/opt/sonaragent/`, así que el archivo descargado puede eliminarse después.

### Carpetas que protege macOS

En un Mac, la ventana de acceso remoto de SONAR ofrece **Terminal**, **File Browser** y **Processes**. macOS mantiene algunas carpetas (entre ellas el Escritorio, los Documentos y las Descargas de un usuario) fuera del alcance de los servicios en segundo plano hasta que se autoriza el acceso. Para explorar o modificar esas carpetas desde **Terminal** o **File Browser**, autorice el agente de acceso remoto, `meshagent` en `/opt/sonarmesh/`, en **Full Disk Access** (acceso total al disco), en **System Settings › Privacy & Security**. En los Mac gestionados, un perfil de configuración de MDM (Privacy Preferences Policy Control) puede conceder el mismo permiso.

## Qué debe ver

Lo que crea la instalación:

| Elemento                 | Dónde                                                                                                                                  |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| Agente de SONAR          | `/opt/sonaragent/sonaragent`                                                                                                           |
| Launch daemon del agente | `/Library/LaunchDaemons/sonaragent.plist`, etiqueta `sonaragent`. Se inicia con el sistema y se reinicia automáticamente si se detiene |
| Configuración del agente | `/etc/sonaragent.json`                                                                                                                 |
| Registro del agente      | `/var/log/sonaragent.log`                                                                                                              |
| Agente de acceso remoto  | `/opt/sonarmesh/`, etiqueta de launch daemon `meshagent`                                                                               |

Si el Mac ya tenía un agente, el instalador elimina primero el agente antiguo y el agente de acceso remoto antiguo (*Existing meshagent found, attempting to remove...*, *Existing sonaragent plist found, attempting to remove...*) y después vuelve a instalar.

## Cómo verificar que funcionó

1. En el Mac:

   ```bash
   sudo launchctl print system/sonaragent | grep state
   sudo launchctl print system/meshagent | grep state
   ```

   Ambos deben mostrar `state = running`.
2. En la consola, abra **Dashboard › Sysadmin**, elija el cliente y busque el nombre de host. La fila muestra **Agent Status** **Online**, el **OS** informado por el Mac, el **Client**, el **Site** y el **Type** que eligió, y la fecha de hoy en **First Seen**.
3. Seleccione la fila. La cabecera del panel de detalles muestra la versión del agente y, una vez que el agente de acceso remoto se ha conectado, **Remote Online**.
4. Haga clic en **Take Control**. La ventana de acceso remoto se abre en **Terminal**, con un shell en el Mac.
5. En **Reports & Audits › Audits**, una entrada **Agent Install** registra el nuevo agente con su nombre de host.

## Errores comunes

| Síntoma                                                                                                                         | Causa                                                                                       | Solución                                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| *must run as root*                                                                                                              | El agente se ejecutó sin `sudo`                                                             | Vuelva a ejecutar el comando completo tal como se copió; ya incluye `sudo`                                                        |
| El shell indica *Bad CPU type in executable*                                                                                    | La arquitectura elegida no corresponde a la del Mac                                         | Obtenga de nuevo el comando con la otra opción de **Architecture**                                                                |
| *Installer token has expired. Please generate a new one.*                                                                       | El comando se generó con caducidad del token y el plazo ya pasó                             | Obtenga un nuevo comando                                                                                                          |
| *Old installer detected (version …). Latest version is … Please generate a new installer from the RMM*                          | El comando se guardó antes de que cambiara la versión del agente de SONAR                   | Obtenga un nuevo comando                                                                                                          |
| *Unable to download the mesh agent from the RMM.*                                                                               | El instalador no pudo obtener el agente de acceso remoto a través de la dirección de la API | Compruebe la conectividad con la dirección de la API y vuelva a ejecutar el comando                                               |
| **Terminal** o **File Browser** recibe *Operation not permitted* en el Escritorio, los Documentos o las Descargas de un usuario | macOS protege esas carpetas                                                                 | Autorice `meshagent` en **Full Disk Access**                                                                                      |
| El dispositivo está en línea pero muestra **Remote Offline**                                                                    | El agente de acceso remoto no puede alcanzar la dirección de acceso remoto                  | Vea [Solucionar problemas de los agentes](/es/sonar/deploy-operate/troubleshooting.md#un-dispositivo-aparece-como-remote-offline) |

## Referencia de campos

| Campo                               | Qué hace                                                                                           | Valores aceptados                              | Valor predeterminado               |
| ----------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------- | ---------------------------------- |
| **Client**                          | Cliente en el que se registra el Mac                                                               | Clientes a los que su rol da acceso            | Primer cliente de la lista         |
| **Site**                            | Sitio en el que se registra el Mac                                                                 | Sitios del cliente elegido                     | Primer sitio del cliente           |
| **Operating system**                | Plataforma del instalador                                                                          | **Windows**, **Linux**, **macOS**              | **Windows**                        |
| **Agent type**                      | Registra el Mac como estación de trabajo o como servidor, lo que se muestra en la columna **Type** | **Workstation**, **Server**                    | **Workstation**                    |
| **Architecture**                    | Arquitectura de procesador del agente que descarga el comando                                      | **Intel 64-bit**, **Apple Silicon**            | **Intel 64-bit**                   |
| **Enable token expiration (hours)** | Si está activado, el comando deja de funcionar tras el número de horas indicado                    | Activado, desactivado; **Hours** de 1 a 999999 | Desactivado; 24 horas al activarlo |

### Argumentos opcionales

| Argumento                          | Qué hace                                                                                                                                       |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `-log debug`                       | Salida detallada durante la instalación                                                                                                        |
| `-silent`                          | Se acepta por compatibilidad con el instalador de Windows. No cambia nada en macOS: la instalación siempre escribe sus mensajes en el terminal |
| `-nomesh`                          | No instala el agente de acceso remoto. En ese caso, la ventana de acceso remoto no está disponible para el Mac                                 |
| `-desc "<text>"`                   | Define la **Description** del dispositivo                                                                                                      |
| `-proxy "http://proxyserver:port"` | Usa un proxy HTTP. Vea [Requisitos de red](/es/sonar/deploy-operate/network-requirements.md#proxies)                                           |

## Páginas relacionadas

* [Requisitos de los dispositivos](/es/sonar/deploy-operate/requirements.md)
* [Requisitos de red](/es/sonar/deploy-operate/network-requirements.md)
* [Terminal remoto](/es/sonar/administration/remote-access/remote-terminal.md)
* [Retirar agentes](/es/sonar/deploy-operate/remove-agents.md)
* [Solucionar problemas de los agentes](/es/sonar/deploy-operate/troubleshooting.md)
