September 22 — Documentation updated for compatibility with the latest PAM version (5.3.0).
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Variables de script

Marcadores que SONAR sustituye en argumentos de script, variables de entorno, comandos de tarea, acciones de alerta y webhooks: dispositivo, cliente, sitio, campos personalizados, claves y alerta.

Qué es y cuándo usarlo

Una variable de script es un marcador entre llaves dobles, como {{agent.hostname}}, que SONAR sustituye por un valor de la base de datos justo antes de que el script se ejecute en un dispositivo. Así, el mismo script puede recibir, para cada dispositivo, su propio nombre de host, el nombre de su cliente, el valor de un campo personalizado o un secreto guardado en el almacén de claves, sin editar el script.

Las variables se resuelven en el servidor de SONAR, para el dispositivo que ejecuta el script. El cuerpo del script se envía tal cual, salvo los snippets, que usan las mismas llaves pero insertan código.

Dónde funcionan las variables

Lugar
Campos

Run Script en un dispositivo

Script Arguments, Environment vars

Tools › Bulk Script

Script Arguments, Environment vars, resueltos por separado para cada dispositivo

Valores predeterminados de la biblioteca de scripts y Test Script

Script Arguments, Environment vars

Tareas automatizadas

Acciones de script: Script Arguments, Environment vars. Acciones de comando: la línea Command

Checks de script

Policy Arguments, Environment vars

Plantillas de alerta

Failure script arguments, Resolved script arguments, Failure script environment vars. Las variables de alerta también están disponibles aquí

Acciones de URL y webhooks

URL, cuerpo y encabezados. Vea Acciones de URL y Webhooks

Sintaxis

  • Escriba el objeto, un punto y la propiedad: {{agent.hostname}}, {{client.name}}, {{global.BackupToken}}. Los espacios justo dentro de las llaves se ignoran.

  • Use una variable por argumento y una por valor de variable de entorno (las acciones de alerta y los webhooks aceptan varias). El texto que rodea la variable se conserva: Computer={{agent.hostname}} se convierte en Computer='WS-0001' en PowerShell (vea las comillas más abajo).

  • Las variables de entorno usan KEY=VALUE, con la variable en el valor: SITE_NAME={{site.name}}.

  • En los argumentos de script, los comandos de tarea y las acciones de alerta, los valores de texto van entre comillas simples, de modo que un valor con espacios llega al script como un solo argumento. Los scripts Batch y los comandos CMD reciben el valor sin comillas. En PowerShell, las comillas simples dentro del valor se duplican. Los valores de las variables de entorno no llevan comillas, salvo en las acciones de alerta, y los campos de webhook nunca las llevan.

  • Los valores que son listas, como un campo personalizado de selección múltiple, se unen con comas: 'A,B,C'.

  • Los valores de sí/no, como un campo personalizado de casilla de verificación, pasan a ser $True o $False en PowerShell y 1 o 0 en los demás shells.

  • Si una variable no se puede resolver (está mal escrita, o el campo personalizado o la clave no existe), el argumento se pasa sin cambios, llaves incluidas.

Variables de dispositivo

Estas variables leen el dispositivo que ejecuta el script. Los valores proceden del inventario más reciente del dispositivo.

Variable
Valor

{{agent.hostname}}

Nombre del dispositivo, por ejemplo WS-0001

{{agent.description}}

La Description del dispositivo

{{agent.operating_system}}

Nombre y versión del sistema operativo

{{agent.plat}}

Plataforma: windows, linux o darwin

{{agent.goarch}}

Arquitectura: amd64, 386, arm64 o arm

{{agent.version}}

Versión del agente

{{agent.monitoring_type}}

server o workstation

{{agent.timezone}}

La zona horaria del dispositivo, o la zona horaria predeterminada si no tiene ninguna

{{agent.public_ip}}

Última dirección IP pública informada

{{agent.local_ips}}

Direcciones IPv4 locales, separadas por comas

{{agent.logged_in_username}}

Usuario con sesión iniciada cuando el dispositivo informó por última vez

{{agent.last_logged_in_user}}

Último usuario que inició sesión

{{agent.total_ram}}

Memoria total, en GB

{{agent.boot_time}}

Hora del último arranque, como marca de tiempo Unix

{{agent.needs_reboot}}

Si hay un reinicio pendiente (valor de sí/no)

{{agent.make_model}}

Marca y modelo

{{agent.serial_number}}

Número de serie

{{agent.cpu_model}}

Descripción del procesador (lista)

{{agent.graphics}}

Adaptadores gráficos

{{agent.physical_disks}}

Discos físicos (lista)

Variables de cliente y de sitio

Variable
Valor

{{client.name}}

Nombre del cliente del dispositivo

{{site.name}}

Nombre del sitio del dispositivo

Variables de campo personalizado

Los campos personalizados creados en Admin Center › Settings › Custom Fields se leen por su nombre, detrás del objeto al que pertenecen:

Variable
Valor

{{agent.<Field Name>}}

El valor del dispositivo para un campo personalizado de dispositivo

{{site.<Field Name>}}

El valor de un campo personalizado de sitio en el sitio del dispositivo

{{client.<Field Name>}}

El valor de un campo personalizado de cliente en el cliente del dispositivo

El nombre se escribe exactamente como se definió, espacios incluidos: {{client.Backup Server}}. Si el registro no tiene valor, se usa el valor predeterminado del campo. Un campo personalizado con el mismo nombre que una de las propiedades de dispositivo anteriores prevalece sobre la propiedad. Vea Campos personalizados.

Variables del almacén de claves

Variable
Valor

{{global.<Key Name>}}

El valor guardado con ese nombre en Admin Center › Settings › Key Store

Use el almacén de claves para los valores que no deben escribirse en los scripts, como contraseñas de servicio o tokens de API, y páselos como argumentos o variables de entorno. Vea Almacén de claves.

Variables de alerta

En las acciones de una plantilla de alerta y en los webhooks enviados para una alerta, también está disponible el objeto alert. Las variables de dispositivo, cliente, sitio, campo personalizado y almacén de claves se resuelven a través del dispositivo que generó la alerta.

Variable
Valor

{{alert.message}}

Texto de la alerta, por ejemplo WS-0001 in CLIENT-A, SITE-01 is overdue.

{{alert.severity}}

info, warning o error

{{alert.alert_type}}

availability, check o task

{{alert.alert_time}}

Cuándo se generó la alerta

{{alert.resolved_on}}

Cuándo se resolvió la alerta (acciones de resolución)

{{alert.get_result.retcode}}

Alertas de check y de tarea: código de retorno de la última ejecución

{{alert.get_result.stdout}}

Alertas de check y de tarea: salida estándar de la última ejecución

{{alert.get_result.stderr}}

Alertas de check y de tarea: error estándar de la última ejecución

{{alert.get_result.more_info}}

Alertas de check: el último detalle del check

{{alert.assigned_check.readable_desc}}

Alertas de check: la descripción del check

{{alert.assigned_task.name}}

Alertas de tarea: el nombre de la tarea

En los argumentos y las variables de entorno de las acciones de alerta, cada valor va entre comillas simples.

Ejemplos

Campo

Entrada

El script recibe, en WS-0001 de CLIENT-A

Script Arguments (PowerShell)

-Computer {{agent.hostname}}

-Computer 'WS-0001'

Script Arguments (PowerShell)

{{client.name}}

'CLIENT-A'

Script Arguments (Batch)

{{agent.hostname}}

WS-0001

Environment vars

CLIENT={{client.name}}

CLIENT con el valor CLIENT-A

Environment vars

API_TOKEN={{global.MonitoringToken}}

API_TOKEN con el valor del almacén de claves

Comando de tarea (Powershell)

Write-Output {{site.name}}

Write-Output 'SITE-01'

Errores comunes

Síntoma
Causa
Solución

El script recibe {{...}} literalmente

El objeto o la propiedad está mal escrito, o el campo personalizado o la clave no existe

Compruebe el nombre con las tablas anteriores, Custom Fields y Key Store

No se sustituyen dos variables en un mismo argumento de script

Cada argumento de script resuelve una sola variable

Divídalas en dos argumentos

El script recibe el valor con comillas

Los valores de texto van entre comillas en los argumentos

Use el valor como parámetro de tipo cadena, o páselo como variable de entorno

No se sustituye una variable en el cuerpo del script

Las variables funcionan en argumentos y variables de entorno; en el cuerpo, las llaves se leen como nombres de snippet

Pase el valor como argumento o como variable de entorno

Páginas relacionadas

Atualizado

Isto foi útil?