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
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 enComputer='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
$Trueo$Falseen PowerShell y1o0en 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.
{{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
{{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:
{{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
{{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.
{{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
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?