Ir al contenido principal

Tarea Watchdog de Level

Level's backup recovery mechanism for the agent service. Runs every 10 minutes, restarts a service the OS service manager didn't recover, and surfaces environmental problems when it fires often.

Introducción

El watchdog es el mecanismo de recuperación de respaldo de Level para el servicio del agente. Si el servicio del agente se detiene, el administrador de servicios del SO gestiona la recuperación en la mayoría de los casos (el Administrador de Control de Servicios en Windows lo restaura en un plazo de 60 segundos mediante las opciones de recuperación del servicio). El watchdog se ejecuta de forma programada y existe para el raro caso en que el administrador de servicios no haya restaurado el servicio por sí solo.

Se ejecuta silenciosamente en segundo plano y no lo notará en condiciones normales. Si el watchdog reinicia el agente con frecuencia en un dispositivo determinado, tanto el administrador de servicios como el watchdog están trabajando más de lo que deberían, lo que significa que algo en el entorno está interfiriendo con Level.


Qué hace el watchdog

Dos sistemas trabajan juntos para mantener el servicio de Level en funcionamiento. El administrador de servicios del SO es la primera línea: cuando el servicio se detiene, lo reinicia automáticamente (normalmente en un plazo de 60 segundos en Windows mediante las opciones de recuperación del servicio). El watchdog es la segunda línea, ejecutándose cada 10 minutos como verificación de que el administrador de servicios hizo su trabajo.

En su ciclo de 10 minutos, el watchdog responde a una pregunta: ¿está en ejecución el servicio del agente de Level y, si no es así, se puede reiniciar? Utiliza el administrador de servicios para leer el estado actual y luego realiza una de las siguientes acciones:

  • Si el servicio está en ejecución, no hacer nada.

  • Si el servicio está detenido, iniciarlo.

  • Si el servicio está en pausa, reanudarlo.

  • Si el registro del servicio falta por completo (el agente fue desinstalado o está dañado), desinstalar el propio watchdog para que el dispositivo no quede atascado ejecutando una tarea huérfana.

El watchdog no informa a Level, no genera alertas y no reinstala el agente. Es un bucle de autocorrección local, nada más.

ℹ️ NOTA: El watchdog reinicia el servicio. No reinstala el agente. Si el binario ha sido eliminado, puesto en cuarentena por AV/EDR o está dañado, deberá reinstalarlo usando el instalador adecuado para la plataforma. Consulte Instalación en Windows, Instalación en macOS, o Instalación en Linux.


Comportamiento en Windows

Los detalles a continuación son específicos de Windows. En macOS y Linux, la recuperación la gestiona directamente el administrador de servicios del SO (consulte la siguiente sección).

En Windows, el watchdog es una Tarea Programada de Windows que se activa cada 10 minutos y ejecuta la rutina --check-service rutina. Cada ejecución pasa por tres pasos.

Paso 1: Consultar el estado del servicio

El watchdog utiliza el Administrador de Control de Servicios (SCM) para abrir el servicio de Level y leer su estado actual (En ejecución, Detenido, En pausa o ausente). Esta es la fuente de verdad sobre si el servicio está activo.

Paso 2: Validar la conexión de monitoreo local

Si el SCM informa que el servicio está En ejecución, el watchdog intenta brevemente conectarse al agente a través del canal local de monitoreo/RPC. Esto detecta los casos en que el proceso del servicio está activo pero ha dejado de responder internamente.

Si esa conexión falla, el watchdog registra un error y continúa. No detiene el servicio basándose únicamente en esta comprobación. La recuperación sigue siendo impulsada por el siguiente paso.

ℹ️ NOTA: Esta validación de conexión es una comprobación suave. Un fallo transitorio de RPC no activa un reinicio por sí solo, lo que evita que el watchdog fluctúe en sistemas saludables que brevemente no pudieron responder.

Paso 3: Ejecutar EnsureRunning

Tras la verificación de estado, el watchdog siempre llama a la rutina EnsureRunning rutina. Aquí es donde ocurre la recuperación real:

  • Tiempo de actividad del sistema inferior a 60 segundos. Omite toda la rutina para evitar conflictos durante el arranque temprano, donde el servicio puede no haberse iniciado todavía por diseño.

  • Registro del servicio ausente. Lo trata como un estado incorrecto o sin instalación y elimina la propia tarea del watchdog. El dispositivo ya no está siendo gestionado por un watchdog porque no hay nada que vigilar.

  • Servicio detenido. Inicia el servicio.

  • Servicio en pausa. Reanuda el servicio.

  • Esperando el estado En ejecución. Realiza un sondeo en un bucle breve hasta que el servicio informe que está En ejecución antes de salir.

La descripción de la tarea integrada lo resume: el watchdog existe para ayudar a mantener en ejecución el servicio de Windows de Level.


Comportamiento en macOS y Linux

Level depende del administrador de servicios del SO para la recuperación en plataformas similares a Unix. El agente no ejecuta una comprobación programada separada como lo hace en Windows.

🖥️ NOTA DE PLATAFORMA:

  • Windows: Implementado como una Tarea Programada de Windows que se ejecuta cada 10 minutos. La secuencia completa de comprobaciones se describe anteriormente.

  • macOS: Gestionado por el LaunchDaemon en /Library/LaunchDaemons/Level.plist. Si el servicio se detiene, launchd lo reinicia según la configuración del daemon.

  • Linux: Gestionado por systemd. Si el servicio se detiene, systemd lo reinicia según la configuración de la unidad de servicio.

El resultado final es el mismo en todas las plataformas: un servicio detenido vuelve a funcionar sin intervención manual. El mecanismo difiere.


Suspensión, reanudación y para qué no sirve el watchdog

El watchdog no tiene lógica de suspensión ni de reanudación tras encendido. Ejecuta la misma comprobación de 10 minutos independientemente de si el dispositivo acaba de despertar o lleva una semana en funcionamiento.

El agente normalmente gestiona la suspensión por sí solo sin intervención. El proceso del servicio de Level sigue ejecutándose durante el modo de espera, por lo que la reanudación generalmente no requiere nada específico para recuperarse. La suspensión sí parece correlacionarse con problemas de red extraños (el estado DNS obsoleto es uno habitual), pero la recuperación de estos no es específica de la suspensión.

El agente tiene un monitor de conexión independiente que se ejecuta internamente. Su función principal es detectar conexiones obsoletas: cuando algunas conexiones salientes funcionan y otras no (el DNS en caché es un ejemplo típico), el monitor reinicia el agente para forzar un estado nuevo. Esta no es una función de recuperación tras suspensión, aunque a veces ayuda con los problemas de red provocados por la suspensión como efecto secundario.

💡 CONSEJO: Desactive la suspensión en los endpoints gestionados siempre que sea posible. Es lo que hacemos internamente en Level y lo que hacen la mayoría de nuestros clientes más grandes (más de 5.000 dispositivos). Elimina una clase de problemas de conectividad intermitentes que no merece la pena solucionar dispositivo por dispositivo.


Cuándo actúa el watchdog

Un reinicio ocasional es normal y rara vez merece investigación. Un fallo transitorio, un pico de recursos, un proceso interferente breve: cualquiera de estos puede causar un reinicio puntual, y el agente vuelve sin que nadie lo note.

Un patrón de reinicios frecuentes es diferente. El SCM debería gestionar la mayoría de los fallos del servicio en un plazo de 60 segundos, y el watchdog rara vez debería necesitar intervenir. Si el watchdog está restaurando el servicio repetidamente en el mismo dispositivo, algo en ese dispositivo está impidiendo que el agente funcione con normalidad.

Causas comunes:

  • Interferencia de AV/EDR. Software de seguridad que termina o pone en cuarentena el agente de Level. Esta es la causa más común y suele estar basada en el comportamiento, razón por la cual puede afectar a un único dispositivo en un conjunto de dispositivos por lo demás homogéneo. Consulte Detecciones falsas de AV/EDR.

  • Otras herramientas de gestión. Otra tarea programada, GPO o RMM que detiene el servicio de Level.

  • Problemas de hardware. Disco defectuoso, errores de memoria u otros fallos de hardware que provocan que el servicio falle.

⚠️ ADVERTENCIA: No recomendamos deshabilitar el watchdog. El SCM restaura el servicio de Level en un plazo de 60 segundos en casi todos los casos. El watchdog es la red de seguridad para el raro caso en que el SCM no lo hizo. Dejarlo habilitado no tiene ningún coste.


Preguntas frecuentes

  • ¿Puedo deshabilitar el watchdog? Puede hacerlo, pero no lo recomendamos. El SCM es el mecanismo de recuperación principal del servicio de Level y lo restaura en un plazo de 60 segundos en casi todos los casos. El watchdog es la red de seguridad para el raro caso en que el SCM no recuperó el servicio. Deshabilitarlo elimina esa red de seguridad. Dejarlo habilitado no tiene ningún coste.

  • El watchdog reinició el agente en uno de mis dispositivos. ¿Debería preocuparme? Un reinicio aislado generalmente no merece investigación. Puede deberse a un fallo transitorio, un pico de recursos u otro proceso que interfirió brevemente. Si ve que el watchdog reinicia el agente repetidamente en el mismo dispositivo, esa es la señal para investigar más de cerca. La interferencia de AV/EDR es la causa más común. Consulte Detecciones falsas de AV/EDR.

  • Mi dispositivo no vuelve a conectarse tras la suspensión. ¿No se supone que el watchdog debe gestionar eso? No. El watchdog no tiene lógica de suspensión ni de reanudación tras encendido. La recuperación tras reanudación la gestiona el monitor de conexión del agente y el cliente en tiempo real, además del hecho de que el proceso del servicio de Level suele seguir ejecutándose durante la suspensión. Si un dispositivo no vuelve a conectarse tras el despertar, el watchdog no es donde buscar. Comience por la red y el estado de conexión del agente. Consulte Solución de problemas sin conexión.

  • ¿El watchdog reinstala el agente si falta el binario? No. Solo inicia o reanuda un servicio existente. Si el registro del servicio falta por completo, el watchdog se elimina a sí mismo y el dispositivo necesita que se reinstale el agente. Consulte los artículos de instalación para su plataforma.

  • ¿Dónde puedo ver si el watchdog está en buen estado en un dispositivo? Ejecute el comando --check comando de diagnóstico del agente en el dispositivo. La salida incluye una sección de comprobaciones de Level que muestra si el servicio del agente y la tarea del watchdog están en el estado esperado (Running / Ready). Consulte Solución de problemas sin conexión para el recorrido completo de diagnóstico.

  • ¿Los técnicos necesitan permisos en Level para interactuar con el watchdog? El watchdog se ejecuta localmente en cada dispositivo y no es configurable desde la interfaz web de Level. No hay permisos que otorgar o revocar. Interactuar con él directamente (inspeccionar la tarea programada de Windows, el LaunchDaemon de macOS o la unidad systemd de Linux) requiere acceso administrativo local en el dispositivo.

¿Ha quedado contestada tu pregunta?