Un script del registro (ver «Gestionar los scripts») se lanza desde su ficha: muestra la versión deseada y pulsa Ejecutar. Estas pantallas están reservadas a los Administradores.
Lanzar una ejecución
La pantalla Ejecutar pide primero los Parámetros declarados por la versión (un asterisco marca los obligatorios) y después el Destino:
- Un solo agente: una máquina equipada con un agente Outpost activo;
- Grupo de máquinas: todos los agentes de un grupo de máquinas a la vez. Por encima del umbral de confirmación del script (25 máquinas por defecto, ver «Gestionar los scripts»), marca Confirmo el lanzamiento en varias máquinas a la vez.; si no, el lanzamiento se rechaza;
- Local, marcado Sensible: el script se ejecuta en el propio servidor de Portail ZAPP. Esta opción no se ofrece en una instancia alojada en SaaS.
Cuando el módulo Agentes Outpost no está activado, los destinos remotos aparecen desactivados y solo queda posible la ejecución local.
Ejecutar lanza el script y abre el seguimiento de la ejecución (o del lote, para un grupo de máquinas).
Qué puede bloquear un lanzamiento
Aparece un mensaje de error encima del formulario cuando:
- un valor de parámetro no respeta las reglas de la versión (obligatorio, formato, mínimo, máximo, lista de valores);
- el Alcance del script excluye el destino elegido (por ejemplo, un script Solo local lanzado en un agente);
- no te cubre ninguna regla de Autorización por destino para ese agente (ejecución remota);
- ya hay una ejecución del mismo script en curso en el mismo destino. Para un solo agente, la nueva solicitud queda en espera y sale en cuanto termina la anterior; para un grupo de máquinas o en local, se rechaza;
- has lanzado más de 20 ejecuciones en el último minuto;
- el script hace referencia a un secreto que no se encuentra, o el módulo Secretos no está activado;
- un administrador ha cortado todas las ejecuciones (ver más abajo).
El mensaje aparece en tu idioma e indica la causa (parámetro afectado, número de máquinas y umbral de confirmación…). La API de las ejecuciones (POST /api/v1/script-executions/local, /remote, /remote-group, /{id}/cancel) responde entonces 400 con el código estable (error, el de la tabla de resolución de problemas más abajo), una frase en inglés (message), la clave de traducción (messageKey) y sus valores (parameters); el mensaje técnico queda en el registro del servidor.
Seguir una ejecución
La pantalla Ejecución indica el Estado (En espera, En curso, Correcta, Fallida, Cancelada, Tiempo agotado), el Destino, la Máquina, el Código de salida, la Fecha y hora y la persona que la lanzó (Solicitado por), y después la Salida del script. Una salida demasiado larga se corta y lo indica con «Salida truncada.». Cuando una ejecución falla sin escribir nada, se muestra el Motivo del fallo (reportado por el agente). Un aviso señala también el caso en que el agente no pudo limitar el procesador y la memoria del script.
Mientras la ejecución no ha terminado:
- Actualizar consulta al agente para obtener el último estado;
- Cancelar pide detener la ejecución, tras una confirmación.
Una ejecución que supera el timeout del script pasa a Tiempo agotado.
Lotes e historial
- Un lanzamiento en un grupo de máquinas abre la pantalla Ejecución en un grupo de máquinas: una fila por máquina con su estado y su código de salida; Detalle abre la ejecución de esa máquina.
- Una máquina desactivada (revocada, en cuarentena o archivada) durante un lanzamiento en un grupo no detiene el lote: su fila queda en fallo, con «El agente Outpost estaba revocado, en cuarentena o archivado en el momento del envío: no se le envió el script.», y las demás máquinas del grupo ejecutan el script.
- Una máquina cancelada dentro de un lote permanece en el lote (estado Cancelada). Cuando todas las máquinas del lote han terminado y al menos una ha fallado, se ha cancelado o ha caducado, los destinatarios de las notificaciones de fallo del script reciben una sola notificación para el lote, incluso cuando el lanzamiento se interrumpió por una parada del servidor: el lote se retoma entonces al reiniciar o en el cuarto de hora siguiente.
- Historial (desde la ficha del script o desde una ejecución) lista todas las ejecuciones del script, de la más reciente a la más antigua, con la versión, el destino, la máquina, el estado y quién la lanzó.
Cuando el módulo Cuadrículas de datos está instalado, estas listas se muestran en cuadrícula (orden, filtros).
Cortar todas las ejecuciones en caso de urgencia
El parámetro ScriptRunner:KillSwitchEnabled de la pantalla Configuración, puesto a true, rechaza de inmediato cualquier nuevo lanzamiento de script, sea cual sea el destino. Las ejecuciones ya en curso no se detienen: cancélalas una a una si es necesario. Vuelve a poner el parámetro a false para permitir de nuevo los lanzamientos.
Resolución de problemas de las ejecuciones planificadas
Una ejecución planificada (creada con la API de ScriptRunner) es una tarea del Planificador (Administración › Instancia y operaciones › Planificador). Cuando el lanzamiento falla, el Historial de ejecución de la tarea muestra la causa en tu idioma; la API y las exportaciones reciben el código estable seguido de una frase en inglés. El mensaje técnico queda en el registro del servidor.
| Código | Causa | Qué hacer |
|---|---|---|
ScriptNotFound |
El script se eliminó | Eliminar o modificar la planificación |
VersionNotFound |
La versión planificada ya no existe | Eliminar o modificar la planificación |
InvalidParameterDefinition |
Un parámetro (se muestra su nombre) falta o no es válido | Corregir los parámetros de la planificación |
SecretResolutionUnavailable |
El script usa un secreto, pero el almacén de secretos no está instalado | Activar el módulo Secretos |
SecretResolutionFailed |
El secreto usado (se muestra su nombre) no existe o no se puede leer | Comprobar el secreto en el almacén |
MalformedSecretReference |
El script contiene una referencia de secreto mal formada | Corregir el script (nueva versión) |
VersionNotExecutable |
El Alcance del script excluye este tipo de ejecución | Modificar el alcance o la planificación |
DraftExecutionRequiresAuthor |
Una versión en borrador solo se ejecuta en local para su autor | Aprobar la versión o planificarla en nombre de su autor |
DraftExecutionRequiresTestGroup |
Una versión en borrador solo se ejecuta en un agente del grupo «test» | Aprobar la versión o apuntar al grupo «test» |
LocalExecutionDisabledInSaas |
La ejecución local está cerrada en SaaS | Apuntar a un agente Outpost |
ExecutionAlreadyInProgress |
Ya hay una ejecución del script en curso en el destino | Nada: el siguiente vencimiento relanzará el script |
RemoteExecutionChannelUnavailable |
El módulo de agentes Outpost no está instalado | Activar el módulo Outpost |
AgentNotFound |
El agente de destino ya no existe | Modificar la planificación |
NotAuthorizedForTarget |
Al autor de la planificación no lo cubre ninguna regla de autorización para este agente | Añadir una regla de Autorización por destino |
GroupConfirmationRequired |
El grupo supera el umbral de confirmación del script (se muestran el número y el umbral) | Subir el umbral del script o reducir el grupo |
RateLimitExceeded |
Demasiados lanzamientos recientes del autor de la planificación | Espaciar las planificaciones |
ExecutionsGloballyDisabled |
Un administrador ha cortado todas las ejecuciones | Volver a poner ScriptRunner:KillSwitchEnabled a false |
Un código que no figura en esta tabla se muestra como «Fallo al iniciar: código»; un error imprevisto se muestra como «Error inesperado» con su tipo, y el detalle queda en el registro del servidor.
Ver también
- «Gestionar los scripts»: crear un script, sus versiones y sus reglas de autorización.
- «Seguir los agentes Outpost»: los agentes y los grupos de máquinas.