Custom Command Agent - HelpSystems

83
Custom Command Agent Guía de Usuario 1.6 VMC-Mxx

Transcript of Custom Command Agent - HelpSystems

Page 1: Custom Command Agent - HelpSystems

Custom Command AgentGuía de Usuario

1.6VMC-Mxx

Page 2: Custom Command Agent - HelpSystems

VISUAL Message Center Custom Command Agent - Guía de Usuario

El software descrito en este documento se distribuye bajo un contracto de licencia y puede utilizarse

únicamente de acuerdo a los términos de uso de dicho acuerdo.

Aviso de Copyright

Copyright © 2013 Tango/04. Todos los derechos reservados.

Fecha de documento: Abril 2013

Versión de documento: 1.02

Versión de producto: 1.6

Ninguna parte de esta publicación puede reproducirse, transmitirse, transcribirse, almacenarse en un

sistema de recuperación o traducirse a ningún idioma o lenguaje de programación, de ninguna forma ni

medio, electrónico, mecánico, magnético, óptico, químico, manual, o de cualquier otro tipo, sin el

permiso por escrito previo de Tango/04.

Marcas Registradas

Cualquier referencia a nombres de productos registrados son propiedad de las respectivas empresas.

Soporte Técnico

Para soporte técnico visite nuestra página web en www.tango04.com.

Tango/04 Computing Group S.L.

Avda. Meridiana 358, 5 A-B

Barcelona 08027

España

Teléfono: +34 93 274 0051

Page 3: Custom Command Agent - HelpSystems

Tabla de Contenidos

Tabla de Contenidos

Tabla de Contenidos.......................................................................... III

Cómo Usar esta Guía......................................................................... VI

Capítulo 1

Introducción ...................................................................................... 11.1. Qué Encontrará en este Documento ..............................................................2

Capítulo 2

Antes de Empezar .............................................................................. 3

Capítulo 3

Requisitos de Hosts Windows.............................................................. 43.1. Comprobar la Existencia de Recursos Compartidos en el Host Remoto .......4

3.2. Comprobar el Acceso al Administrador de Servicio Remoto en el Host Remoto .............................................................................................................5

Capítulo 4

Requisitos de los Hosts Basados en Linux/Unix ..................................... 74.1. Comprobar la Disponibilidad de una Conexión SSHv2 con el Cliente Putty ..7

4.1.1. Comprobar la Disponibilidad y Pesmisos sobre Mandatos ......................8

© 2013 Tango/04 Computing Group Página III

Page 4: Custom Command Agent - HelpSystems

Tabla de Contenidos

Capítulo 5

Configuración de Orígenes de Datos................................................... 105.1. General Settings ...........................................................................................10

5.1.1. Main Information .....................................................................................11

5.1.2. Target Host Settings ...............................................................................12

5.1.3. Connection Settings ................................................................................12

5.1.4. Linux/Unix Specific Settings....................................................................13

5.1.5. General Settings .....................................................................................14

5.2. Command Execution Settings (Origen de Datos Custom Command) ..........14

5.3. Command Execution Settings (Origen de Datos Advanced Custom Command)......................................................................................................17

5.4. Command Execution Settings (Origen de Datos Script Runner) ..................20

5.5. Variables (Origen de Datos Advanced Custom Command) .........................23

5.6. Command Output Settings............................................................................25

Capítulo 6

Configuración de Custom Command ThinAgent ................................... 296.0.1. General Settings ....................................................................................29

6.0.2. Parser Options ........................................................................................30

6.0.3. Table Settings .........................................................................................36

6.0.4. Ajustes de Salud por Defecto..................................................................40

6.0.5. Plantilla de Mensaje por Defecto ............................................................40

6.0.6. Variables Comunes.................................................................................40

6.0.7. Mapeo de Campos SmartConsole - ThinkServer ...................................41

Capítulo 7

Configuración de Advanced Custom Command ThinAgent..................... 427.0.1. General Settings ....................................................................................42

7.0.2. Parser Options ........................................................................................43

7.0.3. Table Settings .........................................................................................43

7.0.4. Ajustes de Salud por Defecto..................................................................43

7.0.5. Plantilla de Mensaje por Defecto ............................................................43

7.0.6. Variables Comunes.................................................................................43

7.0.7. Mapeo de Campos SmartConsole - ThinkServer ...................................44

Capítulo 8

Configuración de Script Runner ThinAgent .......................................... 468.0.1. General Settings ....................................................................................46

8.0.2. Parser Options ........................................................................................47

8.0.3. Table Settings .........................................................................................47

© 2013 Tango/04 Computing Group Página IV

Page 5: Custom Command Agent - HelpSystems

Tabla de Contenidos

8.0.4. Ajustes de Salud por Defecto..................................................................47

8.0.5. Plantilla de Mensaje por Defecto ............................................................47

8.0.6. Variables Comunes.................................................................................47

8.0.7. Mapeo de Campos SmartConsole - ThinkServer ...................................48

Apéndices

Apéndice A: Algunos Ejemplos de Ejecución y Parseo........................... 49A.1. Campos Delimitados: Comprobar la Conexiones de Interface de Red

en Windows ......................................................................................................49

A.1.1. Comprobar los Requisitos ......................................................................49

A.1.2. Configurar el Parseador..........................................................................50

A.1.3. Crear el Monitor ......................................................................................51

A.1.4. Hecho! ....................................................................................................57

A.2. Etiquetas XML: Leer el Registro de Auditoría de Solaris. ............................58

A.2.1. Comprobar los Requisitos ......................................................................58

A.2.2. Configurar el Parseador..........................................................................59

A.2.3. Crear el Monitor ......................................................................................59

A.2.4. Hecho! ....................................................................................................64

Apéndice B: Referencia..................................................................... 67

Apéndice C: Referencia de sintaxis de Expresiones Regulares................ 69C.1. Caracteres....................................................................................................69

C.2. Clases de caracteres o conjuntos de caracteres [abc].................................70

C.3. Punto ............................................................................................................71

C.4. Puntos de Anclaje ........................................................................................71

C.5. Posición de palabras ....................................................................................71

C.6. Alternado ......................................................................................................72

C.7. Cuantificadores ............................................................................................72

Apéndice D: Contactar con Tango/04 ................................................. 74

Acerca de Tango/04 Computing Group ............................................... 76

Aviso Legal...................................................................................... 77

© 2013 Tango/04 Computing Group Página V

Page 6: Custom Command Agent - HelpSystems

Cómo Usar esta Guía

© 2013 Tango/04 Computing Group Página VI

Cómo Usar esta Guía

Este capítulo explica cómo usar las Guías de Usuario de Tango/04 y comprender las convenciones

tipográficas usadas en toda la documentación de Tango/04.

Convenciones Tipográficas

Los siguientes términos, formatos de texto y símbolos convencionales se utilizan en toda la

documentación impresa de Tango/04:

Convention Descripción

Negrita Mandatos, botones en pantalla y opciones de menú.

Cursiva azul Referencias y enlaces a otras secciones en el manual o a otra documentación que contiene información relevante.

Cursiva Texto mostrado en pantalla, o variables donde el usuario debe sustituir sus propios detalles.

Monospacia Mandatos de entrada como mandatos o código System i, o texto que los usuarios deben teclear.

MAYUSCULA Claves de teclado, como CTRL para la tecla Control y F5 para la tecla de función que está etiquetada como F5.

Notas e información adicional de utilidad.

Consejos y pistas que mejoran la experiencia de usuario al trabajar con este producto.

Importante: información adicional que es altamente recomendable que el usuario tenga en cuenta.

Aviso: El no seguir esta información podría derivar potencialmente en serios problemas.

Page 7: Custom Command Agent - HelpSystems

Introducción

Capítulo 1 1 Introducción

Los Custom Command ThinAgents son un conjunto de monitores que le permiten ejecutar mandatos y

scripts remotos y procesar sus salidas o códigos de salida. Están soportados sistemas Linux/Unix y

Microsoft Windows.

Sobre la compatibilidad, el motor de conexiones utiliza las tecnologías más comunes disponibles como

RPC (Remote Procedure Call) para Windows y SSHv2 (Secure Shell protocol version 2) para Linux/

Unix. Esto significa que todos los requisitos de host remotos sean estándar.

El paquete Custom Command incluye los siguientes ThinAgents:

• Custom Command

• Advanced Custom Command

• Script Runner

Figura 1 – Los Custom Command ThinAgents tal y como se muestran en ThinkServer

El Custom Command ThinAgent le permite ejecutar un mandato sencillo contra una máquina remota

y recuperar su salida de una manera muy flexible. Es posible parsear la salida completa con un potente

parseador, incluyendo procesamiento multilínea.

© 2013 Tango/04 Computing Group Página 1

Page 8: Custom Command Agent - HelpSystems

Introducción

El Advanced Custom Command ThinAgent es inherentemente como el Custom Command ThinAgent,

sin embargo, tiene la posibilidad de ejecutar múltiples mandatos en único origen de datos (hasta 99

mandatos, de hecho).

El Script Runner ThinAgent es parecido al Custom Command, pero reemplazando el mandato por un

script mucho más complejo que puede almacenar directamente en el host ThinkServer.

Automáticamente envía el script a la máquina remota y lo ejecuta. Podrá eliminar el script tras su

ejecución. También es posible definir el interpretador que ejecutará el script (como Python, Perl, y

cmd.exe).

1.1 Qué Encontrará en este DocumentoEsta Guía de Usuario describe los Custom Command ThinAgents, las configuraciones para cada

componente y todas las variables preconfiguradas en los monitores.

También explica los ajustes de configuración mínimos necesarios para que los Custom Command

ThinAgents se ejecuten.

Para una descripción completa de las funcionalidades de VISUAL Message Center ThinkServer diríjase

a la Guía de Usuario de VISUAL Message Center ThinkServer.

© 2013 Tango/04 Computing Group Página 2

Page 9: Custom Command Agent - HelpSystems

Antes de Empezar

© 2013 Tango/04 Computing Group Página 3

Capítulo 2 2 Antes de Empezar

Los Custom Command ThinAgents son multiplataforma, lo que significa que los requerimientos

pueden cambiar dependiendo de la plataforma del objetivo remoto.

Normalmente un monitor debería poder crearse en un host Windows o Linux/Unix sin necesidad de

cambiar nada en el servidor remoto; de todas maneras, como regla general, existen dos requisitos

básicos:

• DEBE tener acceso de red al host remoto, permitiendo que se utilice el protocolo específico de

la plataforma.

• El servicio específico de la plataforma DEBE estar habilitado y disponible en el host remoto

(SSHv2, RPC, etc.).

• DEBE tener permisos de usuario en el host remoto para ejecutar los mandatos/scripts

solicitados y en plataformas Windows DEBE ser administrador.

Se explicará más sobre protocolos y servicios específicos de plataforma en los siguientes capítulos,

pero en la mayoría de casos, no necesitará configurar nada, ya que son las tecnologías estándar que

suelen estar habilitadas en cualquier sistema de archivos moderno.

Se explicará más sobre protocolos y servicios específicos de plataforma en los siguientes capítulos,

pero en la mayoría de casos, no necesitará configurar nada, ya que son las tecnologías estándar que

debe estar habilitadas en cualquier sistema de archivos moderno.

Se explicará más sobre protocolos y servicios específicos de plataforma en los siguientes capítulos,

pero en la mayoría de casos, no necesitará configurar nada, ya que son las tecnologías estándar que

debe estar habilitadas en cualquier sistema de archivos moderno.

Page 10: Custom Command Agent - HelpSystems

Requisitos de Hosts Windows

Capítulo 33 Requisitos de Hosts Windows

Los sistemas operativos Windows actualmente soportados, son casi todos los basados en tecnologías

NT (Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows 7 y Windows

2008).

Cuando nos conectamos a un host Windows local (donde está instalado ThinkServer), no hay requisitos

especiales necesarios para ejecutar mandatos: si el servicio ThinkServer está ejecutándose con una

cuenta localsystem (y por defecto es así), debido a que ya tendrá acceso al servicio de ejecución de

mandatos con privilegios de administrador. Si ThinkServer se está ejecutando con otra cuenta de

usuario, deberá tener permisos de administrador a dicho usuario.

Cuando nos conectamos a un host Windows remoto (un sistema de archivos, un controlador de

dominio, una estación de trabajo, etc…), los Custom Command ThinAgents usan el protocolo RPC

(Remote Procedure Call. También debe instalarse un servicio en el equipo remoto a través de

SMB (Server Message Block), por lo que DEBE proporcionar una cuenta de administrador para instalar

automáticamente el servicio. También debe permitir una recurso compartido administrativo en el host

remoto y otorgar acceso al administrador de servicios remoto.

3.1 Comprobar la Existencia de Recursos Compartidos en el Host RemotoLos recursos compartidos administrativos son una característica especial de los Servidores Windows

NT que le permite acceder a directorios locales como recursos compartidos ocultos por defecto, pero

que están limitados únicamente a cuentas administrativas, y a veces están deshabilitados por políticas

de seguridad.

Los Custom Command ThinAgents necesitan accede al recurso compartido ADMIN$, que representa la

ruta a la instalación de Windows en la máquina remota (por defecto es C:\Windows). Para comprobar si

el recurso compartido Administrativo está habilitado, intente iniciar sesión en la carpeta remota admin

del host ThinkServer mediante Windows Explorer.

© 2013 Tango/04 Computing Group Página 4

Page 11: Custom Command Agent - HelpSystems

Requisitos de Hosts Windows

Figura 2 – Acceder a la carpeta ADMIN$ de una máquina remota

Aunque los recursos compartidos administrativos pueden estar deshabilitados por defecto en su host

remoto, si se habilitan, no tendrá que hacer nada más que disponer de una cuenta de administrador.

3.2 Comprobar el Acceso al Administrador de Servicio Remoto en el Host RemotoEl Administrador de Servicio del host remoto debe poder accederse desde el host ThinkServer. Para

comprobar si lo está, simplemente abra su administrador de servicios local en el host ThinkServer

(puede hacerlo ejecutando el mandato services.msc), y haga doble click en el árbol de servicios y

seleccione Conectarse a otro equipo:

Figura 3 – Intentando conectar a una máquina remota

Tras introducir las credenciales, debería poder ver el árbol de servicios de la máquina remota.

© 2013 Tango/04 Computing Group Página 5

Page 12: Custom Command Agent - HelpSystems

Requisitos de Hosts Windows

Figura 4 – Conectado al Administrador de Servicios de una máquina remota

© 2013 Tango/04 Computing Group Página 6

Page 13: Custom Command Agent - HelpSystems

Requisitos de los Hosts Basados en Linux/Unix

Capítulo 4 4 Requisitos de los Hosts Basados en Linux/Unix

Cuando el host remoto es una plataforma basada en UNIX, la configuración se limita a algunos

requisitos estándar. De hecho la mayoría de sistema UNIX ya tienen estos servicios habilitados y en

ejecución, lo que hace que normalmente no tenga que hacer ningún cambio en el host remoto.

El motor de conexiones utiliza por defecto el protocolo SSH (Secure Shell) versión 2 para comunicarse.

El Protocolo 1 NO está soportado por motivos de seguridad (es un protocolo vulnerable). También es

posible utilizar un conector TELNET, pero sólo se recomienda para hosts antiguos que no implementan

SSH.

Puede comprobar la disponibilidad del servicio SSH utilizando un cliente Windows SSH desde el host

de ThinkServer. En la siguiente sección utilizaremos el cliente gratuito Putty para verificar los servicios

(puede encontrar Putty en: http://www.chiark.greenend.org.uk/~sgtatham/putty/).

4.1 Comprobar la Disponibilidad de una Conexión SSHv2 con el Cliente PuttyPara verificar que tiene acceso completo a un servidor utilizando SSH versión 2, necesitará configurar

antes Putty: En el campo Category, pulse Session. Introduzca la dirección IP del host remoto, y

seleccione el Tipo de Conexión SSH.

Figura 5 – Uso de Putty para comprobar la conexión a un host remoto a través de SSH

© 2013 Tango/04 Computing Group Página 7

Page 14: Custom Command Agent - HelpSystems

Requisitos de los Hosts Basados en Linux/Unix

A continuación, bajo Connection, expanda SSH, y seleccione como Preferred SSH protocol version 2

only.

Figura 6 – Seleccione 2 only como Preferred SSH protocol version

Pulse Open para abrir la conexión.

Si el protocolo está disponible, se le pedirán sus credenciales de inicio de sesión. Los Custom

Command ThinAgents soportan tres tipos de métodos de autenticación:

• Autenticación por contraseña (el método más común)

• Autenticación por teclado interactivo

• Autenticación por clave privada (el método más seguro)

En este servidor, utilizaremos la autenticación por teclado interactivo sobre SSHv2.

Una vez conectado al servidor con estos ajustes, podrá verificar los mandatos que desea con los

Custom Command ThinAgents.

4.1.1 Comprobar la Disponibilidad y Pesmisos sobre Mandatos Es importante usar la misma cuenta de usuario que planea utilizar con los Custom Command

ThinAgents porque va a comprobar si tiene los permisos necesarios.

En este ejemplo, usamos el mandato netstat ‐lt para listar todas las conexiones TCP que están en

estado LISTEN.

© 2013 Tango/04 Computing Group Página 8

Page 15: Custom Command Agent - HelpSystems

Requisitos de los Hosts Basados en Linux/Unix

Figura 7 – Determinar que un usuario de Custom Command ThinAgents tiene permisos sobre mandatos

Como puede ver en este ejemplo, hemos comprobado los permisos del usuario, y estamos preparados

para utilizar este mandato en los Custom Command ThinAgents.

© 2013 Tango/04 Computing Group Página 9

Page 16: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Capítulo 5 5 Configuración de Orígenes de Datos

Este capítulo describe la configuración de los tres orígenes de datos: Custom Command, Advanced

Custom Command, y Script Runner.

Todos los orígenes de datos comparten la configuración de la pestaña General settings, y todos los

orígenes de datos comparten también los mismos ajustes de salida de Mandato, pero algunas opciones

específicas son distintas en cada origen de datos.

5.1 General SettingsLa pestaña general settings se utiliza para configurar las diferentes opciones de conexión al host

destino; aquí puede establecer la IP de host, credenciales de usuario, y algunos ajustes de conexión

específicos de Linux/UNIX. La pestaña General Settings tiene cinco secciones:

• Main information

• Target host settings

• Connection Settings

• Linux/UNIX-specific settings

• General Settings

© 2013 Tango/04 Computing Group Página 10

Page 17: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Figura 8 – Introducir un host remoto objetivo en un dominio Windows

5.1.1 Main InformationPor defecto, los orígenes de datos utilizan los nombres “Custom Command DataSource”, “Advanced 

Custom Command DataSource” y “Script Runner DataSource”, pero puede cambiarlos para que

encajen con sus necesidades de monitorización y añadir una descripción más detallada del origen de

datos si es necesario.

Variables de configuración y ajustes por defecto

Descripción

Name

Custom Command Datasource

Advanced Custom Command Datasource

Script Runner Datasource

Use el proporcionado por defecto o introduzca un nuevo nombre para el origen de datos.

Consejo: añada el Nombre del host que está monitorizando para ayudarle a identificar rápidamente dónde se pro-ducen los problemas.

Description Introduzca una descripción del origen de datos

© 2013 Tango/04 Computing Group Página 11

Page 18: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

5.1.2 Target Host SettingsEn este grupo de opciones, debe definir el tipo de plataforma a la que se está conectando, y las

credenciales de usuario para la autenticación.

En la opción Platform seleccione el tipo de plataforma de su host objetivo. Actualmente las opciones

soportadas son Windows, y Linux/UNIX. Cada tipo de conexión usa una tecnología diferente, -

Windows usa los protocolos SMB o RPC y Linux/UNIX usa SSHv2 o Telnet. Estas tecnologías son

completamente Agentless (aunque Windows instala automáticamente un servicio en el host remoto).

Si selecciona Linux/UNIX como tipo de plataforma, diríjase a la sección 5.1.3 - Connection Settings en

la página 12 para definir ciertas opciones de conexión específicas de la plataforma.

El resto de opciones son comunes a la mayoría de ThinAgents de ThinkServer, y se explican en la

siguiente tabla.

5.1.3 Connection SettingsPara todas las plataformas puede definir cómo se tratarán y gestionarán las conexiones desde este

origen de datos.

Dedicated session

La opción Dedicated session le permite realizar conexiones independientes para cada origen de

datos, incluso si múltiples orígenes de datos comparten el mismo host y credenciales. Esto es bueno

por motivos de rendimiento; si está trabajando con grandes volúmenes de datos, le recomendamos que

use únicamente sesiones dedicadas.

El único inconveniente de este método es que deberá tener un usuario conectado en el host remoto

para cada origen de datos conectado. De manera que si está trabajando con volúmenes pobres de

datos y tiene múltiples orígenes de datos trabajando con el mismo host, debería deshabilitar esta

opción.

Recuerde que las sesiones compartidas sólo funcionarán cuando tienen el nombre de host, nombre de

usuario, Puerto y contraseña exactos asociados al origen de datos.

Variables de configuración y ajustes por defecto

Descripción

Platform WindowsDebe seleccionar el tipo de plataforma del host destino, las opciones válidas son Windows o Linux/Unix.

IP / DNS NamePuede introducir la dirección IP o el nom-bre DNS del host.

Port *DEFAULT

El Puerto del servicio remoto, depen-diendo de la plataforma con la que se esté conectando. El parámetro *DEFAULT hace que el ThinAgent utilice el Puerto por defecto del tipo de servicio que está utilizando.

Domain Dominio del Host (válido sólo para plata-formas Windows).

User Usuario con el que conectarse al host.

PasswordContraseña del usuario que se conecta al host.

© 2013 Tango/04 Computing Group Página 12

Page 19: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Keep connection open

Si esta opción está, habilitada, el origen de datos conectará al host remoto la primera vez, y a

continuación se mantendrá conectado durante todo el tiempo de vida del origen de datos. Esto es útil

para monitores con tiempos de refresco cortos, ya que evita la autenticación a cada refresco. Si esta

opción no está habilitada, el origen de datos conectará con el host remoto antes de cada, y

desconectará del host remoto tras cada refresco; esto es útil para monitores con tiempos de refresco

largos.

5.1.4 Linux/Unix Specific SettingsSi ha seleccionado Linux/UNIX en las opciones de plataforma del cuadro de diálogo de ajustes del host

Target, quizá desee definir algunas configuraciones más avanzadas para el origen de datos.

Connections Type

La opción Connection Type le permite definir el protocolo que desea usar para conectarse al host

remoto Linux/UNIX. Actualmente se soporta SSHv2 y TELNET. TELNET se proporciona como una

opción para compatibilidad con sistemas heredados, aunque no se recomienda porque no es seguro y

comparado con SSH es muy lento.

Private Key

La opción Private Key permite el uso del método de autenticación mediante clave privada disponible en

daemons basados en OpenSSH. Este tipo de autenticación utiliza un par de claves públicas y privadas

de archivo que se utilizan al conectarse al servidor, sólo la clave privada es necesaria, ya que la clave

pública se deduce en tiempo de ejecución mediante el motor de conexiones. Una vez tiene su clave

privada almacenada en ThinkServer, introduzca la ruta complete al archivo dentro de esta opción. Si la

clave privada también utiliza protección por contraseña, introdúzcala en el campo Password del cuadro

de diálogo Target host settings.

La clave privada debe ser una clave criptográfica RSA o DSA compatible con OpenSSH y asociada con

el host remoto. Hay varias herramientas para generar y asociar pares de claves para autenticación. El

más común es ssh-keygen, que debe estar disponible en su host remoto. Si tiene una clave privada en

formato .ppk (de la popular herramienta Putty), puede exportarla a formato OpenSSH utilizando Putty

Key Generator.

Recuerde que la autenticación por clave privada es sólo una opción, no un requisito para los Custom

Command ThinAgents.

Variables de configuración y ajustes por defecto

Descripción

Dedicated session trueUse un socket dedicado o comparta la conexión con otros orígenes de datos.

Keep connection open

trueMantenga la conexión abierta entre refrescos o abra/cierre la conexión a cada refresco.

Variables de configuración y ajustes por defecto

Descripción

Connection Type SSHv2Debe seleccionar el driver de conexión (SFTP, Python, Perl o Native Shell).

Private Key La ruta de un archivo de clave SSH pri-vada (opcional)

© 2013 Tango/04 Computing Group Página 13

Page 20: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

5.1.5 General SettingsEl grupo General Settings es el conjunto de opciones más comunes de los ThinAgents de ThinkServer.

Normalmente no necesitará modificar nada, pero es bueno que eche un vistazo a las diferentes

opciones. Quizá necesite modificar el tiempo de refresco según las necesidades de su monitor Custom

Command.

5.2 Command Execution Settings (Origen de Datos Custom Command)Esta pestaña le permite definir algunos ajustes específicos sobre la ejecución de mandatos. Es decir,

qué mandato desea ejecutar, cómo desea ejecutarlo, y algunas opciones varias, como registro y

buffering.

Variables de configuración y ajustes por defecto

Descripción

Refresh Time 60El tiempo de refresco del origen de datos.

Number of Tries 1La cantidad de reintentos cuando se pro-duce un error

Interval Between Tries

10El intervalo entre reintentos cuando se produce un error

Error Retry Time 60Después que se ha detectado un error, la cantidad de tiempo que se espera hasta el siguiente refresco

Connection Timeout

5000Timeout interno de conexión en milise-gundos

Nota

El valor de Connection Timeout es el más crítico en este grupo, le recomendamos

encarecidamente que mantenga el valor por defecto (5000 milisegundos), y sólo lo cambie

si sabe lo que está haciendo.

© 2013 Tango/04 Computing Group Página 14

Page 21: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Figura 9 – Definir el mandato personalizado que deseamos ejecutar en este origen de datos

Command execution

La sección command execution le permite definir su mandato, el directorio de trabajo, prioridad y

algunos otros parámetros relacionados con la ejecución remota. Normalmente solo tiene que definir un

mandato para que se pueda ejecutar el monitor. El resto de parámetros son totalmente opcionales.

• Command: Defina un mandato válido a ejecutar en el host remoto. El mandato puede ser un

programa absoluto o relativamente ejecutable (si es relativo, lo será respecto al parámetro

Working  Dir),  como“/bin/ls”,  “C:\tools\runme.exe”,  “netstat”, etc. También

puede incluir en la llamada al programa todos los parámetros que desee, como “ls –lh”.

• Es posible definir algunas variables (la definición de variable se explica en este capítulo) a

reemplazar en el mandato, poniendo un símbolo ‘$’ delante de la variable.

• Working Dir: Puede definir el directorio de trabajo de su programa. Por ejemplo, si ejecuta el

mandato ls sin parámetros, se listará el directorio de trabajo actual, normalmente el inicial de

la cuenta de usuario. Si cambia el Working Dir por, digamos, el directorio raíz “/”, el mandato

ls sin parámetros listará el directorio raíz. Este parámetro es opcional.

• Priority: Esta opción sólo es válida para plataformas Windows. Puede cambiar la prioridad del

proceso creado por su mandato cambiando este valor. Si no está seguro, simplemente utilice

la prioridad NORMAL.

• Interactive execution: Por defecto, todos los programas se ejecutan en modo batch. Esto

significa que un proceso se instancia contra dos canalizaciones con nombre (named pipes)

dados: uno para la salida estándar y otro para errores estándar. El proceso se ejecuta y

esperamos hasta que finaliza de procesar la salida y el código de salida. Este es el método

más rápido y estable, excepto para aquellos programas que no soportan named pipes;

© 2013 Tango/04 Computing Group Página 15

Page 22: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

algunos programas simplemente escriben la salida en el dispositivo terminal (tty), como

algunas versiones del programa top, y algunos dispositivos de red con un Shell muy limitado.

En dichos casos, puede habilitar la opción Interactive execution, y la salida se procesará

directamente en el dispositivo terminal en lugar de en los named pipes.

• Impersonate: Por defecto, en plataformas Windows el proceso remoto se crear con la cuenta

localsystem, y se ejecuta bajo las credenciales localsystem. Si necesita ejecutar el proceso

con la misma cuenta de usuario que está utilizando para conectar al servidor, deberá habilitar

esta opción.

Enable variables

Las Variables le permiten cambiar algunas partes de su mandado directamente desde los monitores

adjuntos utilizando scripts Python estándar.

Para usar variables, primero debe habilitar esta opción. A continuación debe definir las variables que

desea en la tabla de variables, y finalmente, introducir dichas variables directamente en el mandato

como se muestra en la figura anterior.

Estructura de la tabla:

Explicación de la tabla:

Las variables son opcionales, puede utilizar una variable para modificar algunas partes de un mandato

directamente desde el script de salud del monitor, cambiando el valor de la variable directamente en

Python. Un uso común de esta funcionalidad es realizar un tipo de búsqueda incremental, donde

necesita actualizar un timestamp del monitor al mandato.

• VariableName: Puede definir aquí hasta 20 variables. Los nombres válidos están predefinidos

con el siguiente formato: CMDVARXX, comenzando en CMDVAR01 hasta CMDVAR20.

• InitialValue: Define un valor inicial para esta variable. Este valor se utilizará la primera vez que

se ejecute el origen de datos, y cada vez que se reinicie el origen de datos si el campo

Persist está deshabilitado.

• ReadOnly: Si está habilitado, esta variable no será editable por los monitores adjuntos. Para

poder cambiar el valor de una variable de los monitores adjuntos, la variable no puede estar en

modo de solo lectura. Si un monitor intenta escribir en una variable de sólo lectura, enviará un

mensaje de aviso al Configurador de ThinkServer.

• Persist: Si esta opción está habilitada, los cambios realizados a la variable persistirán en

disco, lo que significa, que se recordarán todos los cambios, incluso si se reinicia el monitor

(incluido un reinicio del servicio ThinkServer). Si esta opción no está habilitada, se utilizará el

valor de InitialValue cuando se reinicie el monitor.

Buffer size

VariableName InitialValue ReadOnly Persist

Un ID de variable único con un nom-bre predefinidos, comenzando en CMDVAR01 hasta CMDVAR20

Define el valor inicial para esta variable.

Si es de sólo lectura, los monitores no podrán cambiar este valor. Se mostrará un mensaje de error si un monitor falla al escribir la variable.

Si está habilitado, el valor más reciente será persistente en el disco, y se restaurará cuando se reinicie el monitor. Si no, el valor inicial se utilizará al rei-niciar el monitor.

© 2013 Tango/04 Computing Group Página 16

Page 23: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Puede definir el tamaño del buffer que el motor utilizará para recuperar datos del host remoto. Los

buffers se utilizan para solicitar paquetes en bucles de lectura, esta es una configuración a bajo nivel, y

le recomendamos que seleccione la opción Automatic.

Sólo cambie esta opción si está seguro de las posibles consecuencias; recuerde que dependiendo de la

plataforma objetivo, el driver que esté utilizando para conectar y la cantidad de información con la que

está trabajando, los tamaños óptimos del buffer pueden cambiar. Por ellos es siempre mejor utilizar la

opción Automatic.

Trace options

Las opciones de traza se utilizan para habilitar/deshabilitar el registro interno del motor. Esto es útil para

detector errores de conexión, problemas de filtrado o mensajes de aviso a bajo nivel que no puede ver

en ThinkServer. Aunque puede ser útil para depurar tareas de filtrado, le advertimos que NO lo utilice a

menos que se lo solicite un consultor técnico de Tango/04.

• La opción Enable tracing habilita /deshabilita el registro interno del origen de datos y de los

monitores adjuntos.

• La opción Overwrite at start define si el log se sobrescribe cada vez que se arranque el origen

de datos (después de que fue detenido, o ThinkServer fue reiniciado). Tenga en cuenta que si

deshabilita esta opción el archivo de log crecerá indefinidamente.

• La opción Log level define el nivel de trazabilidad. Actualmente, los valores posibles DEBUG,

INFO, WARNING, y ERROR. El valor recomendado es WARNING.

Los archivos de traza resultantes se almacenan en la carpeta logs de la ruta de instalación de

ThinkServer.

5.3 Command Execution Settings (Origen de Datos Advanced Custom Com-mand)Esta pestaña le permite definir algunos ajustes específicos sobre la ejecución de mandatos. Es decir,

qué mandato desea ejecutar, cómo desea ejecutarlo, y algunas opciones varias, como registro y

buffering.

Nota

Si habilita la opción DEBUG puede producirse una enorme cantidad de datos, y que se

consuman muchos recursos del sistema en el host de ThinkServer, por favor, úselo sólo si

se lo solicita un consultor de Tango/04.

© 2013 Tango/04 Computing Group Página 17

Page 24: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Figura 10 – Puede definir varios mandatos a ejecutar en el origen de datos Advanced Custom Command

Command settings

La sección command settings le permite definir una lista de mandatos, un directorio de trabajo, una

prioridad y algunos otros parámetros relacionados con la ejecución remota. Normalmente solo tiene que

definir una lista mandatos para que se pueda ejecutar el monitor. El resto de parámetros son totalmente

opcionales.

Estructura de la tabla:

Explicación de la tabla:

El Advanced Custom Command ThinAgent le permite ejecutar un conjunto de mandatos siguiendo

algunas condiciones básicas. Esta tabla le permite definir dichos mandatos y condiciones.

• CommandName: Defina un ID de mandato único con un nombre predefinidos, comenzando

en CMD01 hasta CMD99. Necesita al menso UN mandato para que funcione el monitor.

CommandName CommandValue ExecuteIf Impersonate Interactive

Un ID de mandato único con un nom-bre predefinidos, comenzando en CMD01 hasta CMD99

Define el man-dato a ejecutar.

Define una condición especial para que se ejecute este mandato

Especifica si el mandato utilizará la opción imper-sonate o no (sólo Win-dows).

Ejecuta el mandato en modo interactivo en lugar de en modo batch.

© 2013 Tango/04 Computing Group Página 18

Page 25: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

• CommandValue: Defina un mandato válido a ejecutar en el host remoto. El mandato puede

ser un programa absoluto o relativamente ejecutable (si es relativo, lo será respecto al

parámetro Working  Dir),  como“/bin/ls”,  “C:\tools\runme.exe”, “netstat”, etc.

También puede incluir en la llamada al programa todos los parámetros que desee, como “ls –

lh”.

• Es posible definir algunas variables (la definición de variable se explica en este capítulo) a

reemplazar en el mandato, poniendo un símbolo ‘$’ delante de la variable.

• ExecuteIf: Puede especificar una condición que se debe cumplir para que se pueda ejecutar

el mandato. Por defecto se establece el valor Always, lo que significa que este mandato

siempre se ejecutará. Puede desactivar la ejecución del mandato utilizando la condición

Never. Puede decidir ejecutar este mandato sólo si el último mandato en la lista devolvió OK

con la condición LastSucceeded, o, por contra, ejecutar el mandato sólo si falló el último

mandato en la lista con la condición LastFailed.

• Impersonate: Por defecto, en plataformas Windows el proceso remoto se crear con la cuenta

localsystem, y se ejecuta bajo las credenciales localsystem. Si necesita ejecutar el proceso

con la misma cuenta de usuario que está utilizando para conectar al servidor, deberá habilitar

esta opción.

• Interactive: Por defecto, todos los programas se ejecutan en modo batch. Esto significa que

un proceso se instancia contra dos canalizaciones con nombre (named pipes) dados: uno para

la salida estándar y otro para errores estándar. El proceso se ejecuta y esperamos hasta que

finaliza de procesar la salida y el código de salida. Este es el método más rápido y estable,

excepto para aquellos programas que no soportan named pipes; algunos programas

simplemente escriben la salida en el dispositivo terminal (tty), como algunas versiones del

programa top, y algunos dispositivos de red con un Shell muy limitado. En dichos casos, puede

habilitar la opción Interactive  execution, y la salida se procesará directamente en el

dispositivo terminal en lugar de en los named pipes.

• Working Dir: Puede definir el directorio de trabajo de su programa. Por ejemplo, si ejecuta el

mandato ls sin parámetros, se listará el directorio de trabajo actual, normalmente el inicial de

la cuenta de usuario. Si cambia el Working Dir por, digamos, el directorio raíz “/”, el mandato

ls sin parámetros listará el directorio raíz. Este parámetro es opcional.

• Priority: Esta opción sólo es válida para plataformas Windows. Puede cambiar la prioridad del

proceso creado por su mandato cambiando este valor. Si no está seguro, simplemente utilice

la prioridad NORMAL.

Enable variables

Las Variables le permiten cambiar algunas partes de su mandato directamente desde los monitores

adjuntos utilizando scripts Python estándar.

Para usar variables, primero debe habilitar esta opción. A continuación debe definir las variables que

desea en la tabla de variables, y finalmente, introducir dichas variables directamente en el mandato

como se muestra en la figura anterior.

Estructura de la tabla:

© 2013 Tango/04 Computing Group Página 19

Page 26: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Buffer size

Puede definir el tamaño del buffer que el motor utilizará para recuperar datos del host remoto. Los

buffers se utilizan para solicitar paquetes en bucles de lectura, esta es una configuración a bajo nivel, y

le recomendamos que seleccione la opción Automatic.

Sólo cambie esta opción si está seguro de las posibles consecuencias; recuerde que dependiendo de la

plataforma objetivo, el driver que esté utilizando para conectar y la cantidad de información con la que

está trabajando, los tamaños óptimos del buffer pueden cambiar. Por ellos es siempre mejor utilizar la

opción Automatic.

Trace options

Las opciones de traza se utilizan para habilitar/deshabilitar el registro interno del motor. Esto es útil para

detector errores de conexión, problemas de filtrado o mensajes de aviso a bajo nivel que no puede ver

en ThinkServer. Aunque puede ser útil para depurar tareas de filtrado, le advertimos que NO lo utilice a

menos que se lo solicite un consultor técnico de Tango/04.

• La opción Enable tracing habilita /deshabilita el registro interno del origen de datos y de los

monitores adjuntos.

• La opción Overwrite at start define si el log se sobrescribe cada vez que se arranque el origen

de datos (después de que fue detenido, o ThinkServer fue reiniciado). Tenga en cuenta que si

deshabilita esta opción el archivo de log crecerá indefinidamente.

• La opción Log level define el nivel de trazabilidad. Actualmente, los valores posibles DEBUG,

INFO, WARNING, y ERROR. El valor recomendado es WARNING.

Los archivos de traza resultantes se almacenan en la carpeta logs de la ruta de instalación de

ThinkServer.

5.4 Command Execution Settings (Origen de Datos Script Runner)Esta pestaña le permite definir algunos ajustes específicos sobre la ejecución del script. Es decir, qué

mandato desea ejecutar, cómo desea ejecutarlo, y algunas opciones varias, como registro y buffering.

VariableName InitialValue ReadOnly Persist

Un ID de variable único con un nom-bre predefinidos, comenzando en CMDVAR01 hasta CMDVAR20

Define el valor inicial para esta variable.

Si es de sólo lectura, los monitores no podrán cambiar este valor. Se mostrará un mensaje de error si un monitor falla al escribir la variable.

Si está habilitado, el valor más reciente será persistente en el disco, y se restaurará cuando se reinicie el monitor. Si no, el valor inicial se utilizará al rei-niciar el monitor.

Nota

Si habilita la opción DEBUG puede producirse una enorme cantidad de datos, y que se

consuman muchos recursos del sistema en el host de ThinkServer, por favor, úselo sólo si

se lo solicita un consultor de Tango/04.

© 2013 Tango/04 Computing Group Página 20

Page 27: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Figura 11 – Definir la ruta del script que se desea ejecutar en el origen de datos Script Runner, y entrar y habilitar las variables del script

Script execution

La sección script execution le permite definir su script, directorio de trabajo, prioridad y algunos otros

parámetros relacionados con la ejecución remota. Normalmente solo tiene que definir un script para

que se pueda ejecutar el monitor, el resto de parámetros son totalmente opcionales.

• Script path: Especifique una ruta local para el script que desea ejecutar en el host remoto. El

lenguaje del script no es importante aquí (lo definirá en el parámetro Interpreter).

• Keep on remote host: El script que define en el parámetro Script path se enviará al host

remoto antes de ser ejecutado. Por defecto el mismo script se eliminará una vez se ha

completado su ejecución. Puede cambiar este comportamiento si habilita esta. Mantener el

script en el host remoto puede incrementar el rendimiento entre refrescos, pero reduce la

seguridad, ya que cualquier podría modificar el script en el host remoto.

• Impersonate: Por defecto, en plataformas Windows el proceso remoto se crear con la cuenta

localsystem, y se ejecuta bajo las credenciales localsystem. Si necesita ejecutar el proceso

con la misma cuenta de usuario que está utilizando para conectar al servidor, deberá habilitar

esta opción.

• Arguments: Si su script usa argumentos en tiempo de ejecución, puede definir dichos

argumentos directamente aquí. Es posible usar algunas variables (la definición de variable se

explica en este capítulo) a reemplazar en los parámetros del argumentos, poniendo un

símbolo ‘$’ delante de la variable.

• Interpreter: Por defecto, el intérprete es el intérprete por defecto específico de la plataforma.

En Windows, es cmd.exe, en Linux, es sh. Estos interpretes serán llamadas si deja el

© 2013 Tango/04 Computing Group Página 21

Page 28: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

parámetro *DEFAULT. Si su script utiliza un lenguaje diferente, como Python o PowerShell,

puede cambiar el valor por defecto escribiendo aquí su intérprete personalizado. Por ejemplo

en Windows usando Python, C:\Python27\Python.exe llamará al intérprete Python

(asumiendo que esté instalado en el host remoto); su script deberá ser compatible con Python,

desde luego. Si necesita llamar al intérprete con algunos parámetros especiales, este es lugar

correcto para indicar dichos parámetros, por ejemplo: PowerShell  ‐ExecutionPolicy 

Unrestricted ‐File.

• Working Dir: Puede definir el directorio de trabajo de su programa. Por ejemplo, si ejecuta el

mandato ls sin parámetros, se listará el directorio de trabajo actual, normalmente el inicial de

la cuenta de usuario. Si cambia el Working Dir por, digamos, el directorio raíz “/”, el mandato

ls sin parámetros listará el directorio raíz. Este parámetro es opcional.

• Priority: Esta opción sólo es válida para plataformas Windows. Puede cambiar la prioridad del

proceso creado por su mandato cambiando este valor. Si no está seguro, simplemente utilice

la prioridad NORMAL.

Enable variables

Las Variables le permiten cambiar algunas partes de su mandato directamente desde los monitores

adjuntos utilizando scripts Python estándar.

Para usar variables, primero debe habilitar esta opción. A continuación debe definir las variables que

desea en la tabla de variables, y finalmente, introducir dichas variables directamente en los argumentos

del script.

Estructura de la tabla:

Explicación de la tabla:

Las variables son opcionales, puede utilizar una variable para modificar algunas partes de un mandato

directamente desde el script de salud del monitor, cambiando el valor de la variable directamente en

Python. Un uso común de esta funcionalidad es realizar un tipo de búsqueda incremental, donde

necesita actualizar un timestamp del monitor al mandato.

• VariableName: Puede definir aquí hasta 20 variables. Los nombres válidos están predefinidos

con el siguiente formato: CMDVARXX, comenzando en CMDVAR01 hasta CMDVAR20.

• InitialValue: Define un valor inicial para esta variable. Este valor se utilizará la primera vez que

se ejecute el origen de datos, y cada vez que se reinicie el origen de datos si el campo

Persist está deshabilitado.

• ReadOnly: Si está habilitado, esta variable no será editable por los monitores adjuntos. Para

poder cambiar el valor de una variable de los monitores adjuntos, la variable no puede estar en

modo de solo lectura. Si un monitor intenta escribir en una variable de sólo lectura, enviará un

mensaje de aviso al Configurador de ThinkServer.

VariableName InitialValue ReadOnly Persist

Una ID de variable única, con un nom-bre predefinidos, comenzando por CMDVAR01 hasta CMDVAR50

Define el valor inicial para esta variable.

Si es de sólo lectura, los monitores no podrán cambiar este valor. Se mostrará un mensaje de error si un monitor falla al escribir la variable.

Si está habilitado, el valor más reciente será persistente en el disco, y se restaurará cuando se reinicie el monitor. Si no, el valor inicial se utilizará al rei-niciar el monitor.

© 2013 Tango/04 Computing Group Página 22

Page 29: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

• Persist: Si esta opción está habilitada, los cambios realizados a la variable persistirán en

disco, lo que significa, que se recordarán todos los cambios, incluso si se reinicia el monitor

(incluido un reinicio del servicio ThinkServer). Si esta opción no está habilitada, se utilizará el

valor de InitialValue cuando se reinicie el monitor.

Buffer size

Puede definir el tamaño del buffer que el motor utilizará para recuperar datos del host remoto. Los

buffers se utilizan para solicitar paquetes en bucles de lectura, esta es una configuración a bajo nivel, y

le recomendamos que seleccione la opción Automatic.

Sólo cambie esta opción si está seguro de las posibles consecuencias; recuerde que dependiendo de la

plataforma objetivo, el driver que esté utilizando para conectar y la cantidad de información con la que

está trabajando, los tamaños óptimos del buffer pueden cambiar. Por ellos es siempre mejor utilizar la

opción Automatic.

Trace options

Las opciones de traza se utilizan para habilitar/deshabilitar el registro interno del motor. Esto es útil para

detector errores de conexión, problemas de filtrado o mensajes de aviso a bajo nivel que no puede ver

en ThinkServer. Aunque puede ser útil para depurar tareas de filtrado, le advertimos que NO lo utilice a

menos que se lo solicite un consultor técnico de Tango/04.

• La opción Enable tracing habilita /deshabilita el registro interno del origen de datos y de los

monitores adjuntos.

• La opción Overwrite at start define si el log se sobrescribe cada vez que se arranque el origen

de datos (después de que fue detenido, o ThinkServer fue reiniciado). Tenga en cuenta que si

deshabilita esta opción el archivo de log crecerá indefinidamente.

• La opción Log level define el nivel de trazabilidad. Actualmente, los valores posibles DEBUG,

INFO, WARNING, y ERROR. El valor recomendado es WARNING.

Los archivos de traza resultantes se almacenan en la carpeta logs de la ruta de instalación de

ThinkServer.

5.5 Variables (Origen de Datos Advanced Custom Command)La pestaña variables del origen de datos Advanced Custom Command es igual a las tablas de Variables

de los orígenes de datos Custom Command y Script Runner. La única diferencia es que incrementa el

número de variables disponibles hasta 50. Puede utilizar cualquiera de estas variables en cualquiera de

los 99 mandatos posibles.

Nota

Si habilita la opción DEBUG puede producirse una enorme cantidad de datos, y que se

consuman muchos recursos del sistema en el host de ThinkServer, por favor, úselo sólo si

se lo solicita un consultor de Tango/04.

© 2013 Tango/04 Computing Group Página 23

Page 30: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Figura 12 – Definir variables que se van a utilizar en un mandato que se ejecutará en el origen de datos Advanced Custom Command

Enable variables

Las Variables le permiten cambiar algunas partes de su mandato directamente desde los monitores

adjuntos utilizando scripts Python estándar.

Para usar variables, primero debe habilitar esta opción. A continuación debe definir las variables que

desea en la tabla de variables, y finalmente, introducir dichas variables directamente en los argumentos

del script.

Estructura de la tabla:

Explicación de la tabla:

Las variables son opcionales, puede utilizar una variable para modificar algunas partes de un mandato

directamente desde el script de salud del monitor, cambiando el valor de la variable directamente en

Python. Un uso común de esta funcionalidad es realizar un tipo de búsqueda incremental, donde

necesita actualizar un timestamp del monitor al mandato.

VariableName InitialValue ReadOnly Persist

Una ID de variable única, con un nom-bre predefinidos, comenzando por CMDVAR01 hasta CMDVAR50

Define el valor inicial para esta variable.

Si es de sólo lectura, los monitores no podrán cambiar este valor. Se mostrará un mensaje de error si un monitor falla al escribir la variable.

Si está habilitado, el valor más reciente será persistente en el disco, y se restaurará cuando se reinicie el monitor. Si no, el valor inicial se utilizará al rei-niciar el monitor.

© 2013 Tango/04 Computing Group Página 24

Page 31: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

• VariableName: Puede definir aquí hasta 50 variables. Los nombres válidos están predefinidos

con el siguiente formato: CMDVARXX, comenzando en CMDVAR01 hasta CMDVAR50.

• InitialValue: Define un valor inicial para esta variable. Este valor se utilizará la primera vez que

se ejecute el origen de datos, y cada vez que se reinicie el origen de datos si el campo

Persist está deshabilitado.

• ReadOnly: Si está habilitado, esta variable no será editable por los monitores adjuntos. Para

poder cambiar el valor de una variable de los monitores adjuntos, la variable no puede estar en

modo de solo lectura. Si un monitor intenta escribir en una variable de sólo lectura, enviará un

mensaje de aviso al Configurador de ThinkServer.

• Persist: Si esta opción está habilitada, los cambios realizados a la variable persistirán en

disco, lo que significa, que se recordarán todos los cambios, incluso si se reinicia el monitor

(incluido un reinicio del servicio ThinkServer). Si esta opción no está habilitada, se utilizará el

valor de InitialValue cuando se reinicie el monitor.

5.6 Command Output SettingsLa pestaña command output settings le permite definir algunos filtros de bajo nivel de salida del

mandato y publicar información de múltiples líneas como un sólo evento para los monitores adjuntos.

El control más interesante aquí es la tabla de filtros. Esta tabla le permite añadir tantos filtros como

desee, y deshabilitarlos sin necesidad de eliminarlos.

Figura 13 – Filtrar la salida del mandato

© 2013 Tango/04 Computing Group Página 25

Page 32: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Enable filters table

Esta opción le permite/deshabilitar la tabla de filtros. Si está deshabilitado, cualquier filtro definido en la

tabla no se procesará. Es útil cuando se prueban conjuntos de filtros.

Filters table

Esta tabla le permite definir un conjunto de filtros para incluir/excluir los datos recuperados por sus

mandatos. Además, puede habilitar los ajustes multilínea para formatear múltiples líneas en un solo

evento a publicar en los monitores adjuntos. Si la tabla está deshabilitada o no se ha definido ningún

filtro, todos los eventos se publicarán en los monitores adjuntos.

Estructura de la tabla:

Explicación de la tabla:

RegularExpression: el filtro que desea crear. Cree una expresión regular compatible con Perl, y

asegúrese que sólo la cumplen los datos que desea.

FilterType: define si las líneas que cumplen este filtro deben incluirse o excluirse. Recuerde que

cuando añade un filtro de exclusión, TODAS las líneas que NO cumplan el filtro se incluirán, y que

cuando añade al menos un filtro de inclusión, TODAS las líneas que NO cumplan el filtro se excluirán.

Puede establecer tantos filtros de inclusión/exclusión como desee. La prioridad es siempre de los filtros

de exclusión (si una misma línea cumple tanto los filtros de inclusión como de exclusión, será excluida).

Multiline: Habilite esta opción para procesar los datos en modo multilínea. Cuando está habilitado

multilínea, los filtros de expresión regular se evaluarán contra bloques de datos en lugar de líneas. Esto

cambia un poco la lógica de filtrado, porque en lugar de permitir o descartar líneas, extraerá piezas de

datos del texto principal cada vez que se encuentra una coincidencia.

RegularExpression FilterType Multiline Enabled

Una expresión regu-lar compatible con perl a comparar con los datos entrantes.

Define si la expresión regular es un filtro de Inclusión o de Exclu-sión.

Si está habilitado, trata este filtro como multilínea.

Habilita/des-habilita el fil-tro.

Ejemplo

Si desea coincidir las siguientes tres líneas en un mismo evento:

‐‐Access violation—

Application: someapp.exe

Exception Details: Index out of range.

Puede escribir un filtro de inclusión como el siguiente:

‐‐Access  violation‐‐[\r\n]*Application:.*[\r\n]*Exception Details:.*[\r\n]*

Habilite la opción multiline (sino no funcionará). Todos los monitores adjuntos recibirán un evento

único cada vez que este patrón encuentra esas tres líneas en un archivo. Puede crear tantos filtros

multilínea como desea; esto significa que se soportan múltiples definiciones stanza al leer logs

basados en multilínea.

© 2013 Tango/04 Computing Group Página 26

Page 33: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

De nuevo, recuerde que habilitando al menos un filtro multilínea para un archivo, se ignorarán los filtros

de exclusión para ese archivo.

Enabled: Puede habilitar/deshabilitar esta casilla en cualquier momento. Esto le permite comprobar la

efectividad de las expresiones regulares mientras está configurando su monitor, ya que puede habilitar

o deshabilitar cualquier de los filtros definidos en esta tabla en cualquier momento. Recuerde habilitarlo

de nuevo una vez haya finalizado sus pruebas.

Regular expression settings

Este grupo de opciones le permite definir cómo se procesarán las expresiones regulares de los filtros

que ha definido en la tabla. Esto significa que cualquier opción que establezca aquí afectará a TODOS

los filtros definidos en la tabla, incluyendo los patrones de archivo.

Match exact pattern: Esta opción significa, básicamente que las líneas entrantes deberán cumplir

totalmente con la expresión regular definida en los filtros (de principio a fin). Si el patrón es parte de una

cadena más larga, no pasará el filtro, para cambiarlo desactive esta opción.

Case sensitive: Esta opción hace que los patrones que ha definido sean sensibles a mayúsculas.

Deshabilitando la se ignorarán las mayúsculas, pero recuerde que esta puede no ser siempre la mejor

opción, especialmente cuando trabajamos con plataformas sensible a mayúsculas (casi todos los

sistemas basados en UNIX son sensibles a mayúsculas).

Ungreedy: Por defecto la coincidencia por defecto de patrón de casi todos los motores de expresiones

regulares es “insaciable”, lo que significa que se devuelve la coincidencia más larga posible. Por

ejemplo, si se aplica el patrón A.*c a AbcAbcA devuelve AbcAbc en lugar del más corto Abc.

Esta opción invierte la “insaciabilidad” de los cuantificadores de manera que por defecto no son

“insaciables”, pero se convierten en “insaciables” si van seguidos de ?. Esto no es compatible con

expresiones regulares Perl. También puede establecerse como una opción (?U) dentro del patrón.

Dot matches all: Con esta opción habilitada, un meta carácter punto en el patrón coincide con un

carácter de cualquier valor, incluyendo el que indica una nueva línea. De todas maneras, sólo puede

coincidir un carácter, incluso si se han codificado nuevas líneas como CRLF. Sin esta opción, un punto

no coincide cuando la posición actual está en una nueva línea. Esta opción es equivalente a la opción /

s de Perl, y puede cambiarse en un patrón por un ajuste de opción (?s). Una clase negativa como

[^a] siempre coincide caracteres de nueva línea, independientemente de los ajustes de esta opción.

Multiline settings

Este grupo de opciones es sólo válido cuando ha definido al menos un filtro como multilínea. Si no

existe ningún filtro multilínea se invalidan todos estos parámetros.

Split one event per line: Por defecto, todos los monitores derivados de Custom Command envían un

único evento con todos los datos de salida del mandato, incluso cuando se procesan filtros multilínea.

Si habilita esta opción, la salida se dividirá en líneas y cada línea se publicará como un evento aislado.

Si está trabajando con múltiples filtros, esta opción enviará un único evento por filtro de inclusión que se

cumpla.

Unbuffered processing: Esta opción le permite recuperar la salida completa del mandato antes de

procesar cualquier filtro. Use esta opción SÓLO cuando el contenido de un evento coincidente es tan

grande que una coincidencia puede exceder el tamaño de buffer configurado (normalmente 64 KB). Si

no está seguro, manténgala deshabilitada, ya que habilitarla puede reducir considerablemente el

rendimiento.

© 2013 Tango/04 Computing Group Página 27

Page 34: Custom Command Agent - HelpSystems

Configuración de Orígenes de Datos

Join text after exclusion: En modo multilínea, los filtros de exclusión se procesan primero, y los filtros

de inclusión al final, exactamente como en modo línea sencilla. Pero en modo multilínea, es un poco

más complejo. Si tiene un filtro multilínea que cumple un parágrafo complejo, cuando ese parágrafo

puede estar contaminado por algunas porciones de texto no deseable (el encabezado de un log por

ejemplo), puede definir un filtro de exclusión que busque el texto no deseado, y habilitar esta opción.

Esta opción provoca que los filtros de exclusión se procesen primero, se unirán las porciones de texto

resultante como un nuevo texto, y finalmente se procesarán los filtros de inclusión contra el nuevo texto.

Aviso

Esta funcionalidad puede ser muy cara en términos de rendimiento y uso de memoria. Úsela

únicamente para salidas pequeñas de mandatos.

Ejemplo

Tiene la siguiente salida de mandato multilínea:

[printer message: The tonner level is low, please contact your administrator]

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

New ticket: 15678

Name: John Smith

Date: 20120131

Time: 10:30:00

New ticket: 15679

Name: Pierre Joffre

[printer message: The tonner level is low, please contact your administrator]

Date: 20120131

Time: 10:30:22

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

Como puede ver, el parágrafo multilínea se divide por un molesto mensaje de impresión. De manera

que podemos utilizar esta expresión regular como un filtro de inclusión:

New 

ticket:[^\r\n]+[\r\n]+Name:[^\r\n]+[\r\n]+Date:[^\r\n]+[\r\n]+Time:[^\r\n]+[\r\n]

+ .

Y esta expresión regular como un filtro de exclusión:

\[printer message:.*. 

Seleccione Join text after exclusion, y todos los mensajes de impresora se eliminarán antes

de procesar las expresiones regulares de los filtros de inclusión.

© 2013 Tango/04 Computing Group Página 28

Page 35: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Capítulo 6 6 Configuración de Custom Command ThinAgent

El Custom Command ThinAgent es una potente herramienta que le permite leer y parsear datos de la

salida de mandatos, como si fuesen archivos. El ThinAgent no se involucra en la ejecución del

mandato, se basa en todo el trabajo realizado en el origen de datos, sólo procesa la salida del mandato.

Incluye un motor de parseo, un filtro adicional por evento (además de la tabla a bajo nivel incluido en el

origen de datos), y una tabla personalizada que le permite definir nombres, filtros por campo y tipos de

dato para cada filtro que cumpla el filtro.

Una vez ha seleccionado un origen de datos, se abre la ventana de configuración del monitor.

La configuración del monitor consta de las siguientes pestañas:

• General settings

• Parser options

• Table settings

6.0.1 General Settings La pestaña general settings le permite establecer el nombre del monitor, y opcionalmente una

descripción.

Figura 14 – Dar nombre a un Monitor Custom Command

Data source

Si necesita realizar cambios al origen de datos puede hacerlo en esta pestaña. Para seleccionar un

origen de datos deseado, pulse el botón Select Data Source y seleccione un origen de datos de la lista

que aparece. Para editar el origen de datos pulse el botón Edit Data Source.

Variables de configuración y ajustes por defecto

Descripción

NameCustom Command Monitor

Introduzca un nombre para su Monitor Custom Command

Description Introduzca una descripción para su monitor Custom Command

© 2013 Tango/04 Computing Group Página 29

Page 36: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

6.0.2 Parser OptionsEl parseador es el componente más relevante de este monitor. Le permite parsear las líneas entrantes

(o múltiples líneas) por evento, y dividirlas en campos. Estos campos pueden ser procesados de forma

separada con más filtros, o convertidos a otros tipos de valores (numérico, booleano, etc.). La línea

original (o parágrafo si trabaja con líneas múltiples) siempre permanecerá inalterada; todos los campos

resultantes se almacenarán en variables adicionales creadas especialmente por el parseador.

Figura 15 – La pestaña Parser Options del Custom Command Monitor

Entry Format

En la sección Entry Format se define cómo parsear la salida del mandato. Recuerde que cada evento

se procesará separadamente. Los datos llegan al monitor exactamente como se han publicado por el

origen de datos, si está habilitado multiline, un único evento puede tener varias líneas; si no, cada

evento será una línea. El parseador tiene las líneas en cuenta; simplemente divide la cadena según los

ajustes establecidos.

Los diferentes métodos de parseo son:

• None: el parseador está deshabilitado. Las líneas se almacenan exactamente como llegan del

origen de datos, y no se extrae ni convierte ningún campo.

• Delimited fields: en un log de valores separados por un carácter (o patrón), un campo

individual puede contener cualquier número de caracteres; por definición, un campo contiene

todos los caracteres que preceden a un separador.

Esta opción le permite cortar la cadena cada vez que encuentre un separador definido. Puede

definir un solo separador, o una lista separada por comas de separadores. Si define más de un

separador, también puede especificar:

Si la cadena se corta siguiendo el orden de los patrones, o

Si alguno de los patrones puede cortarse en cualquier momento.

Los separadores pueden ser un carácter sencillo o un patrón de cadena; también existe un

lista de caracteres especiales denominada con una convención especial:

© 2013 Tango/04 Computing Group Página 30

Page 37: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Recuerde que todos estos separadores se refieren e un carácter sencillo, si desea definir un

separador de doble espacio, debe utilizar <space><space> o \s\s como patrón separador.

Ejemplo 1 (sólo un separador):

Tenemos la siguiente línea a parsear:

“Peter is a consultant – Julia is a teacher – Marty is a lawyer.”

Si define el formato Delimited fields con un solo separador: ‐

El parseador creará los siguientes campos:

Field01: “Peter is a consultant ” 

Field03: “ Julia is a teacher ”

Field04: “ Marty is a lawyer.”

Como puede ver, los espacios se mantienen por defecto, ya que no se definieron como

separadores. Puede recortar los campos resultantes si lo desea.

Ejemplo 2 (múltiples separadores no ordenados):

Ahora imagine que tenemos una cadena más compleja, y tenemos más de un posible

separador, pero dichos separadores pueden estar en cualquier lugar de la cadena, sin ningún

orden en particular.

Nuestra cadena de prueba será:

“Beautiful is better than ugly / Explicit is better than implicit ‐ Simple is better than complex / Complex is better than complicated”

Como puede ver, tenemos más de un separador, y se repiten en cualquier parte, además sin

un orden definido, de manera que establecemos el formato Delimited fields de la siguiente

manera: ‐,/

El parseador creará los siguientes campos:

Field01: “Beautiful is better than ugly ”

Field03: “ Explicit is better than implicit ”

Field04: “ Simple is better than complex ”

Field04: “ Complex is better than complicated”

Separador Descripción

<tab> Define un carácter tabulador.

\t Otra manera de definir un carácter tabulador.

<space>

Define un carácter espacio.

NOTA: También es posible utilizar un carácter de espacio lite-ral (un carácter vacío), pero sólo en el medio de una lista de separadores; no puede utilizar un espacio literal al principio o al final de una lista de separadores.

\s Otra manera de definir un carácter espacio.

<comma>

Define un carácter coma ‘,’. Se necesita para definir un sepa-rador de coma literal, ya que las comas se utilizan para sepa-rar múltiples definiciones de patrón.

NOTA: Si define un solo carácter separador y es una coma, puede utilizar el carácter coma normal ‘,’.

© 2013 Tango/04 Computing Group Página 31

Page 38: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Hemos definido dos separadores: ‐ y / y no hemos definido un orden especial, lo que

significa que cada vez que el parseador encuentre uno de estos separadores, cortará

la cadena en un nuevo campo.

Ejemplo 3 (múltiples separadores ordenados):

Ahora, imagine que deseamos cortar la cadena siguiendo un orden especial de separadores,

en este ejemplo mostraremos cómo definir un separador multicarácter.

Nuestra cadena de prueba será:

“Logon event: Tom Parker – presales consultant ; result : success”

A continuación establecemos el formato de Delimited fields de la siguiente manera:

:,‐,; 

Y también seleccionamos la casilla Ordered matching.

El parseador creará los siguientes campos:

Field01: “Logon event”

Field03: “ Tom Parker ”

Field04: “ presales consultant ”

Field04: “ result : success”

Como puede ver, aunque añadimos : a la lista de separadores, el ultimo campo lo ignore,

porque hemos definido el patrón de coincidencia como ordenado, de manera que sólo se ha

separado el primer :.

Finalmente vamos a modificar nuestra lista de separadores para mostrar cómo utilizar

patrones multicarácter:

:,‐,; result : 

Esto redefine los delimitadores, pero mantiene tres separadores, la única diferencia es que el

ultimo es un patrón multicarácter: ;result : de ,amera que se utilizará la cadena completa

como delimitador.

El parseador creará los siguientes campos:

Field01: “Logon event”

Field03: “ Tom Parker ”

Field04: “ presales consultant ”

Field04: “ success”

Los separadores multicarácter se permiten tanto en coincidencias ordenadas como no

ordenadas, incluso puede definir un separador único con múltiples caracteres.

• Fixed width fields en un log de texto de tamaño fijo, los campos se delimitan por su longitud,

en lugar de por una coma u otro carácter separador.

Esta opción le permite cortar cada cadena por una cantidad específica de caracteres. Si sólo

se proporciona un valor, cortará la cadena cada vez que se alcance el valor. Si se indican más

de un valor (valores separados por comas), cortará la cadena siguiendo ese patrón, creando

un campo entero con la cadena restante.

© 2013 Tango/04 Computing Group Página 32

Page 39: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Ejemplo 1 (Un solo valor):

Imagine que establece la opción Fixed width fields con un único valor:

10

Entonces el monitor recibe una nueva línea con este valor:

“This is a test for the Log Reader Monitor”

El parseador creará los siguientes campos:

Field01: “This is a ” 

Field03: “test for t”

Field04: “he Log Rea”

Field05: “der Monito”

Field06: “r”

Como puede ver, la cadena se divide hasta que no hay suficientes caracteres y el último

campo contiene los caracteres restantes.

Ejemplo 2 (Valores separados por comas):

Utilizaremos la misma línea que hemos utilizado en el ejemplo anterior:

“This is a test for the Log Reader Monitor”

Pero esta vez, la opción Fixed width fields se define con estos valores:

10,5,2,8

El parseador creará los siguientes campos:

Field01: “This is a “

Field03: “test ”

Field04: “fo”

Field05: “r the Lo”

Field06: “g Reader Monitor”

Estos ejemplos no tienen mucho sentido en la práctica, ya que nadie deseará dividir la cadena

de esa forma, pero explica de forma comprensible cómo funciona.

• Regular expression: Este es el método de parseo más potente disponible. Le permite definir

una expresión regular personalizada y definir las sub-cadenas capturadas con paréntesis.

Todas las sub-cadenas capturadas se almacenarán en los campos resultantes, en el mismo

orden en el que aparecen en su expresión regular.

Ejemplo 1 (línea sencilla):

Queremos parsear la siguiente línea en de un archivo log:

“[2011‐03‐10  08:25:32]  ‐  username:  tparker  primary  group:  operators  – result failure return code(‐10)”

Definimos el campo Regular expression:

\[([0‐9]{4}‐[0‐9]{2}‐[0‐9]{2}\s[0‐9]{2}:[0‐9]{2}:[0‐9]{2})\]\s‐\susername:\s(\S+)\sprimary\sgroup:\s(\S+)\s‐\sresult\s(\S+)\sreturn\scode\((‐?[0‐9]+)\)

Esta expresión regular utilizando paréntesis, captura el timestamp; nombre de usuario, grupo

primario, resultado y el código de retorno.

© 2013 Tango/04 Computing Group Página 33

Page 40: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

El parseador creará los siguientes campos:

Field01: “2011‐03‐10 08:25:32”

Field03: “tparker”

Field04: “operators”

Field05: “failure”

Field06: “‐10”

Como puede ver, el enfoque aquí no es centrarse en los separadores, sino en el contexto de la

gramática definida con expresiones reglares definidas con Perl

Ejemplo 2 (multilínea):

Si selecciona un filtro multilínea en el origen de datos, y el monitor recibe eventos multilínea,

quizá desee averiguar como parsearlos con expresiones regulares. El parseador no tiene en

cuenta realmente si la cadena es sencilla o multilínea (incluso con las opciones de campo

delimitado y de ancho fijo).

De esta manera, en este ejemplo utilizaremos las mismas líneas utilizadas en el filtro

multilínea del origen de datos:

‐‐Access violation—

Application: someapp.exe

Exception Details: Index out of range.

En el origen de datos, utilizábamos este filtro para recuperar el parágrafo entero como evento

unificado:

‐‐Access  violation‐‐[\r\n]*Application:.*[\r\n]*Exception Details:.*[\r\n]*

‐‐Access  violation‐‐[\r\n]*Application:.*[\r\n]*Exception Details:.*[\r\n]*

Ahora, para el parseador, definiremos esta expresión regular:

‐‐(Access  violation)‐‐[\r\n]*Application:(.*)[\r\n]*Exception Details:(.*)[\r\n]*

El parseador creará los siguientes campos:

Field01: “Access violation”

Field03: “ someapp.exe”

Field04: “ Index out of range.”

Las expresiones regulares son muy potentes para este tipo de operaciones, de manera que

podrá parsear prácticamente cualquier línea que desee con ellas. Necesitará utilizar una

herramienta de expresiones regulares para depurar sus filtros y parsear expresiones antes de

crear un monitor.

• XML Tags: Este parseador le permite procesar una etiqueta de apertura XML y sus atributos.

Este parseador no está pensado para ser un lector XML, ya que tiene importantes limitaciones,

pero es una útil herramienta para leer elementos XML sencillos con su correspondiente

conjunto de atributos.

• Se publicará un evento por cada elemento encontrado en la salida del mandato. La condición

para que funcione este parseador es que el formato de salida no puede tener más de un

elemento por línea.

© 2013 Tango/04 Computing Group Página 34

Page 41: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Qué hace este parseador: Envía un evento con el nombre de elemento, y un campo

capturado para cada atributo encontrado.

Qué NO hace este parseador: No publica ninguna información sobre elementos hijo (todos

los elementos se etratan como etiquetas sencilloas), texto XML, o comentarios. Si necesita

procesar completamente una salida XML, use el Generic XML ThinAgent.

Misc settings

El cuadro de diálogo Misc settings le permite definir algunas configuraciones especiales para el

parseador:

• Header lines: define cuantas líneas ignorará el monitor a principio del archivo. Esto es útil

para salidas de mandatos que utilizan encabezados con nombres de columna o referencias. 0

significa deshabilitado. Si selecciona, por ejemplo un valor de 2, sólo la línea 3 y posteriores

serán procesadas por el monitor.

• Max process lines: define un umbral para la salida de procesamiento. Esto le permite evitar

procesar más de X líneas por refresco; por ejemplo, un valor de 10000 ignorará las líneas

10001 y posteriores en un mismo refresco. Esta opción es útil para evitar incidencias en el

rendimiento cuando la salida del mandato crece más de lo que se espera que haga. 0 significa

deshabilitado

• Trim parsed fields: cuando está habilitado, los espacios en blanco se eliminarán del inicio y el

final de los campos generados por el parseador, así como de la línea original.

• Ignore Empty lines: Las líneas en blanco NO se reportarán cuando esta opción esté

habilitada (recomendamos habilitarla).

Line filters

Los filtros de línea son una tabla de filtros a nivel de monitor, con las mismas características que la tabla

de filtros de origen de datos. Esta tabla le permite definir algunos filtros de inclusión y exclusión

mediante expresiones regulares compatibles con Perl

• RegularExpression: el filtro que desea crear. Cree una expresión regular compatible con Perl,

y asegúrese que sólo la cumplen los datos que desea.

• FilterType: seleccione si las líneas (o multilíneas) que cumplen este filtro deben incluirse o

excluirse:

cuando añade un filtro de exclusión, TODAS las línea que NO cumplan el filtro se incluirán.

cuando añade al menos un filtro de inclusión, TODAS las líneas que NO cumplan el filtro se

excluirán.

Puede establecer tantos filtros de inclusión/exclusión por salida de mandato como desee. La

prioridad es siempre de los filtros de exclusión (si una misma línea cumple tanto los filtros de

inclusión como de exclusión, será excluida).

RegularExpression FilterType CaseSensitive ExactPattern Enabled

Una expresión regu-lar compatible con Perl para comprobar los datos entrantes. (Línea o multi-línea).

Define si la expresión regu-lar es un filtro de Exclusión o de Inclusión.

Si está habili-tado, la expre-sión regular será sensible a mayúsculas, si no ignorará las mayúsculas.

Si está habili-tado, las líneas sólo coincidirán si cumplen por completo el patrón regex.

Habilita/deshabi-lita el fil-tro.

© 2013 Tango/04 Computing Group Página 35

Page 42: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

• CaseSensitive: Seleccione esta casilla para habilitar la comparación de mayúsculas en la

expresión regular.

• ExactPattern: seleccione esta opción para forzar que se cumpla el patrón exacto que ha

definido en la expresión regular. Si está habilitado el patrón debe cumplir el evento completo,

• Enabled: seleccione esta casilla para habilitar el filtro. Esto le permite comprobar la efectividad

de las expresiones regulares mientras está configurando su monitor, ya que puede habilitar o

deshabilitar en cualquier momento, cada una de las listas de filtros definidas en esta tabla

6.0.3 Table SettingsTras definir las opciones de parseo, los campos se generan automáticamente. Estos campos

generados tienen nombres predeterminados, comenzando con RecordFieldvalue01 a 20. Recuerde

que los campos SÓLO se completarán con datos si ha definido una opción de parseo, y en el parseador

ha encontrado datos válidos.

Si no ha definido un parseador, el evento se guardará igualmente, pero las variables

RecordFiledValueXX no tendrán valores.

Esta tabla le permite definir algunas cosas especiales con los campos resultantes generados por el

parseador:

• Definir filtrados a mayor detalle, definiendo filtros de inclusión/exclusión a nivel de campo.

• Definir un nombre para cada campo (útil para reportes).

• Definir conversión cast de los datos parseados.

Nota

Esta tabla proporciona funcionalidades extendidas que pueden utilizarse por el parseador,

pero es una herramienta opcional. Si lo prefiere puede utilizar el parseador y deshabilitar la

tabla con la mayoría de salidas de mandato. Use esta tabla únicamente si necesita las

funcionalidades que proporciona.

© 2013 Tango/04 Computing Group Página 36

Page 43: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Figura 16 – La pestaña de configuración de Tabla del Monitor Custom Command

Enable table

Seleccione la casilla Enable table para habilitar el uso de la tabla en cualquier momento. Por defecto

está deshabilitada (no olvide habilitarla tras definir sus entradas de tabla).

Discard fields not defined in table

Si el parseador genera más campos de los definidos en la tabla, esta opción le permite ignorar dichos

campos. Seleccione la casilla Discard fields not defined in table para no almacenar campos no

definidos en la tabla en los registros enviados a la SmartConsole. Si está deshabilitado, dichos campos

se mantendrán, pero no serán procesados por la tabla (no habrá filtrado, ni conversión cast).

Autodetect field names

Si está utilizando los parseadores de Expresión Regular o etiquetas XML, puede establecer

automáticamente los nombres de los campos desde el propio parseador en lugar de definirlos en la

tabla. El parseador de Expresión Regular necesita usar grupos capturados denominados para

reemplazar correctamente los campos definidos en la tabla. El parseador de Etiquetas XML usa el

nombre de atributo como el nombre del campo. Recuerde que los nombres de campos detectados se

utilizarán en lugar de aquellos definidos en la tabla (si hay alguno), pero el elemento sigue siendo válido

en la tabla para filtrado y conversión de tipos.

Table

Puede añadir hasta 20 entradas en la tabla; cada una es una de las variables predefinidas en

RecordFieldValueXX.

• FieldName: El nombre del campo debe ser una de las variables predefinidas

RecordFieldValueXX; debería asegurarse que esta variable se genera en los eventos

entrantes. Si define menos campos que el número de campos generados, los campos

restantes no serán procesados por la tabla.

© 2013 Tango/04 Computing Group Página 37

Page 44: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

• Description: la descripción que establece aquí, proporcionará el nombre de campo. Los

nombres de campo se almacenan en las correspondientes variables RecordFieldValueXX,

donde XX es el número de campo. Este es un valor opcional, útil para reportes.

• Filter: una expresión regular compatible con Perl que define los filtros de inclusión/exclusión

con los que comparar este campo (no la línea completa). Útil para realizar filtrado más fino a

nivel de campo.

• FilterType: seleccione si las líneas (o multilíneas) que cumplen este filtro deben incluirse o

excluirse:

cuando añade un filtro de exclusión, TODAS las línea que NO cumplan el filtro se incluirán.

cuando añade al menos un filtro de inclusión, TODAS las líneas que NO cumplan el filtro se

excluirán.

• Puede establecer tantos filtros de inclusión/exclusión para este ThinAgent como desee. La

prioridad es siempre de los filtros de exclusión (si una misma línea cumple tanto los filtros de

inclusión como de exclusión, será excluida).

• DataType: puede ejecutar una conversión de tipo cast de los datos parseados. Esto le permite

utilizar los campos resultantes con sus tipos nativos. Por ejemplo, un tipo de datos entero

puede utilizarse para evaluar condiciones aritméticas, como RecordFieldValue02 >= 23.

Los tipos de datos válidos son:

Entero

Real

Booleano

Fecha Hora (debe definirse)

Fecha (debe definirse)

Hora (debe definirse)

Cadena

Por defecto, todos los campos se crean como Cadena. Recuerde que si se produce un error al

intentar convertir los tipos de datos, el campo se mantendrá como una cadena, pero se

registrará un mensaje de aviso en el log de traza (si está habilitado).

FieldName Description Filter FilterType DataType

Una de las variables RecordFieldVa-lueXX predefi-nidas.

Establezca el nombre del campo. Se almacenará en el correspon-diente Record-FieldNameXX

Una expresión regular compati-ble con Perl que define un filtro para este campo

Define si la expresión regular es un filtro de Exclusión o de Inclusión.

Define una conversión de tipo cast a realizarse con los valo-res parsea-dos.

© 2013 Tango/04 Computing Group Página 38

Page 45: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Formato de fecha, hora y Fecha hora

Al seleccionar al menos un campo de tipo fecha, hora o fecha hora en la tabla, necesita definir cómo se

formatean los timestamp. Esta opción le permite definir el formato de fecha y/u hora utilizado en el

campo parseado. Para ello, utilizamos convenciones POSIX; la siguiente lista es una referencia de

formatos posibles (definidos por los estándares del lenguaje C):

Directiva Significado

%a Abreviación del día de la semana.

%A Día de la semana

%b Mes abreviado.

%B Nombre mes (completo)

%c Fecha pre-formateada.

%d Día del mes como número decimal [01,31].

%f Microsegundos como número decimal [0,999999], sin ceros a la

izquierda

%H Hora, de "00" a "23"

%I Hora como un número de 01 a 12

%j Día del año como un número de 001 a 366

%m Mes como un número de 01 a 12

%M Minuto en número [00,59].

%p 'AM' o ‘PM', según la hora dada, o las cadenas correspondientes

en el idioma actual.

%S Segundos en número [00,61].

%U Número de la semana en el año, empezando con el primer

domingo como el primer día de la primera semana [00,53]. Todos

los días en un Nuevo año que preceden al primer domingo se con-

siderarán de la semana 0.

%w Día de la semana en número (el domingo es el 0).

%W Número de la semana en el año, empezando con el primer lunes

como el primer día de la primera semana [00,53]. Todos los días en

un Nuevo año que preceden al primer lunes se considerarán de la

semana 0.

%x Representación preferida de la fecha sin la hora.

%X Representación preferida de la hora sin la fecha.

%y Año en número de 00 a 99.

%Y Año en número de cuatro cifras.

%zUTC offset en forma +HHMM o -HHMM

%Z Nombre o abreviatura de la zona horaria.

%% Un carácter '%' literal.

© 2013 Tango/04 Computing Group Página 39

Page 46: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

Por ejemplo, para coincidir un campo de fecha y hora con este formato:

date 2009‐03‐12 time 08:22:10

Necesita utilizar este formato para el tipo de dato DateTime:

date %Y‐%m‐%d time %H:%M:%S

6.0.4 Ajustes de Salud por DefectoEl script de salud por defecto detecta si el monitor pudo recuperar datos del origen de datos. Por

defecto la salud se establece como:

• Critical si ExitCode <> 0 y no es CommandOutput.

• Warning si ExitCode <> 0 y len(ErrorOutput) > 0.

• Success en el resto de casos.

Cambie las reglas de salud por defecto para cubrir sus necesidades de monitorización. Como puede

ver, la salud se establece como success por defecto, porque el Custom Command ThinAgent es muy

genérico, de manera que es imposible saber cuando un evento es crítico o no.

Normalmente deseará ver la criticidad con sus campos parseados como algo similar a:

RecordFieldValue02 == “failure”

6.0.5 Plantilla de Mensaje por DefectoPor defecto, el monitor siempre envía la línea en bruto (o multilíneas) que publica el origen de datos.

Estas líneas nunca son modificadas. El parseador las utiliza como sólo lectura para generar las

variables RecordFieldValueXX. Modifique esta plantilla según sus necesidades.

6.0.6 Variables ComunesLa lista de variables para el Custom Command ThinAgent:

Variable Descripción

Command El mandato ejecutado.

CommandOutput La salida del mandato ejecutado.

ErrorOutput La salida de error del mandato ejecutado.

ExitCode El código de salida del programa.

LineNumberLa posición de la línea en la salida en bruto, esta opción es sólo válida cuando la opción Split one event per line está habilitada.

Host El host donde se ejecuta el mandato.

NumberOfFields El número de campos capturados para la línea.

RecordFieldValue01...60

El valor de un campo personalizado obtenido con el parseador. Los campos se etiquetan como: RecordFieldValue01, RecordFieldValue02, RecordFieldValue20...

RecordFieldName01...60

El nombre de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldName01, RecordFieldName02, RecordFieldName20...

© 2013 Tango/04 Computing Group Página 40

Page 47: Custom Command Agent - HelpSystems

Configuración de Custom Command ThinAgent

6.0.7 Mapeo de Campos SmartConsole - ThinkServerThinkServer envía un mensaje a la SmartConsole cada vez que se ejecuta el monitor. Por defecto,

envía las siguientes variables:

(*) El patrón se repite hasta el campo 60.

Las Variables enviadas a la SmartConsole se configuran en la pestaña Event Variables de la sección

Templates, disponible en el asistente de Set Health and Actions.

En la pestaña de Variables de Evento Puede configurar un máximo de 99 variables.

La Variable  1 no puede cambiarse. Puede configurar una variable en cada uno de los campos

Variable  2 a Variable  7. En el campo Variable  8 puede añadir más variables como una lista

separada por comas. Cada variable se enviará a la SmartConsole, en el orden en que aparecen en la

lista: Var08, Var09…Var99.

RecordFieldType01...60

El tipo de dato de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldType01, RecordFieldType02, RecordFieldType20...

CMDVAR01...20Una variable personalizada utilizada para modificar el mandato del script del monitor adjunto.

Variable Descripción

SmartConsole ThinkServer Descripción

Var02 Host El host donde se ejecuta el mandato.

Var03 Command El mandato ejecutado.

Var04 CommandOutput La salida del mandato ejecutado.

Var05 ErrorOutputLa salida de error del mandato ejecu-tado.

Var06 ExitCode El código de salida del programa.

Var07 RecordFieldName01El nombre de campo para la variable RecordFieldValue.

Var08 RecordFieldValue01El valor de un campo personalizado obtenido con el parseador.

Var09 RecordFieldNameXX (*)

Var10 RecordFieldValueXX (*)

© 2013 Tango/04 Computing Group Página 41

Page 48: Custom Command Agent - HelpSystems

Configuración de Advanced Custom Command ThinAgent

Capítulo 77 Configuración de Advanced Custom Command ThinAgent

El Advanced Custom Command ThinAgent es una potente herramienta que le permite leer y parsear

datos de la salida de mandatos, como si fuesen archivos. El ThinAgent no se involucra en la ejecución

del mandato, se basa en todo el trabajo realizado en el origen de datos, sólo procesa la salida del

mandato.

Incluye un motor de parseo, un filtro adicional por evento (además de la tabla a bajo nivel incluido en el

origen de datos), y una tabla personalizada que le permite definir nombres, filtros por campo y tipos de

dato para cada filtro que cumpla el filtro.

Una vez ha seleccionado un origen de datos, se abre la ventana de configuración del monitor.

La configuración del monitor consta de las siguientes pestañas:

• General settings

• Parser options

• Table settings

7.0.1 General Settings La pestaña general settings le permite establecer el nombre del monitor, suscribir a un mandato

específico ejecutado por el origen de dato, y, opcionalmente una descripción.

Figura 17 – Filtrar el mandato ejecutado en el origen de datos, para que pueda leerse la salida

Variables de configuración y ajustes por defecto

Descripción

NameAdvanced Custom Command Monitor

Introduzca un nombre para su monitor Advanced Custom Command

Description Introduzca una descripción para su monitor Advanced Custom Command

Command filter CMD.*Una expresión regular, para suscribir el monitor a un mandato específico ejecu-tado por el origen de datos

© 2013 Tango/04 Computing Group Página 42

Page 49: Custom Command Agent - HelpSystems

Configuración de Advanced Custom Command ThinAgent

Command filter

Como el monitor Advanced Custom Command le permite ejecutar varios mandatos, quizá quiera

procesar cada mandato con un monitor diferente (por ejemplo, porque cada salida de mandato tiene un

formato distinto). Este filtro le permite definir una expresión regular para suscribir a los nombres del

mandato que desea procesar con este monitor. Por defecto, todos los nombre se procesan con CMD.*.

Data source

Si necesita realizar cambios al origen de datos puede hacerlo en esta pestaña. Para seleccionar un

origen de datos deseado, pulse el botón Select Data Source y seleccione un origen de datos de la lista

que aparece. Para editar el origen de datos pulse el botón Edit Data Source.

7.0.2 Parser OptionsTodas las opciones del parseador para este ThinAgent son exactamente las mismas que las del Custom

Command ThinAgent. Diríjase a la sección 6.0.2 - Parser Options en la página 30 para leer la

documentación del parseador.

7.0.3 Table SettingsTodas las opciones de tabla son exactamente las mismas que las del Custom Command ThinAgent.

Diríjase a la sección 6.0.3 - Table Settings en la página 36 para leer la documentación de la tabla.

7.0.4 Ajustes de Salud por DefectoEl script de salud por defecto detecta si el monitor pudo recuperar datos del origen de datos. Por

defecto la salud se establece como:

• Critical si ExitCode <> 0 y no es CommandOutput.

• Warning si ExitCode <> 0 y len(ErrorOutput) > 0.

• Success en el resto de casos.

Cambie las reglas de salud por defecto para cubrir sus necesidades de monitorización. Como puede

ver, la salud se establece como success por defecto, porque el Advanced Custom Command

ThinAgent es muy genérico, de manera que es imposible saber cuando un evento es crítico o no.

Normalmente deseará ver la criticidad con sus campos parseados como algo similar a:

RecordFieldValue02 == “failure”

7.0.5 Plantilla de Mensaje por DefectoPor defecto, el monitor siempre envía la línea en bruto (o multilíneas) que publica el origen de datos.

Estas líneas nunca son modificadas. El parseador las utiliza como sólo lectura para generar las

variables RecordFieldValueXX. Modifique esta plantilla según sus necesidades.

7.0.6 Variables ComunesLa lista de variables para el Advanced Custom Command ThinAgent:

Variable Descripción

Command El mandato ejecutado.

CommandName El nombre del mandato ejecutado (CMDXX).

© 2013 Tango/04 Computing Group Página 43

Page 50: Custom Command Agent - HelpSystems

Configuración de Advanced Custom Command ThinAgent

7.0.7 Mapeo de Campos SmartConsole - ThinkServerThinkServer envía un mensaje a la SmartConsole cada vez que se ejecuta el monitor. Por defecto,

envía las siguientes variables:

CommandOutput La salida del mandato ejecutado.

ErrorOutput La salida de error del mandato ejecutado.

ExitCode El código de salida del programa.

LineNumberLa posición de la línea en la salida en bruto, esta opción es sólo válida cuando la opción Split one event per line está habilitada.

Host El host donde se ejecuta el mandato.

NumberOfFields El número de campos capturados para la línea.

RecordFieldValue01..60

El valor de un campo personalizado obtenido con el parseador. Los campos se etiquetan como: RecordFieldValue01, RecordFieldValue02, RecordFieldValue20...

RecordFieldName01..60

El nombre de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldName01, RecordFieldName02, RecordFieldName20...

RecordFieldType01..60

El Tipo de dato de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldType01, RecordFieldType02, RecordFieldType20...

CMDVAR01..50Una variable personalizada utilizada para modificar el mandato del script de los monitores adjuntos.

Variable Descripción

SmartConsole ThinkServer Descripción

Var02 Host El host donde se ejecuta el mandato.

Var03 CommandNameEl nombre del mandato ejecutado (CMDXX).

Var04 Command El mandato ejecutado.

Var05 CommandOutput La salida del mandato ejecutado.

Var06 ErrorOutputLa salida de error del mandato ejecu-tado.

Var07 ExitCode El código de salida del programa.

Var08 RecordFieldName01El nombre de campo para la variable RecordFieldValue.

Var09 RecordFieldValue01El valor de un campo personalizado obtenido con el parseador.

Var10 RecordFieldNameXX (*)

© 2013 Tango/04 Computing Group Página 44

Page 51: Custom Command Agent - HelpSystems

Configuración de Advanced Custom Command ThinAgent

(*) El patrón se repite hasta el campo 60.

Las Variables enviadas a la SmartConsole se configuran en la pestaña Event Variables de la sección

Templates, disponible en el asistente de Set Health and Actions.

En la pestaña de Variables de Evento Puede configurar un máximo de 99 variables.

La Variable  1 no puede cambiarse. Puede configurar una variable en cada uno de los campos

Variable  2 a Variable  7. En el campo Variable  8 puede añadir más variables como una lista

separada por comas. Cada variable se enviará a la SmartConsole, en el orden en que aparecen en la

lista: Var08, Var09…Var99.

Var11 RecordFieldValueXX (*)

SmartConsole ThinkServer Descripción

© 2013 Tango/04 Computing Group Página 45

Page 52: Custom Command Agent - HelpSystems

Configuración de Script Runner ThinAgent

Capítulo 88 Configuración de Script Runner ThinAgent

El Script Runner ThinAgent es una potente herramienta que le permite leer y parsear datos de la salida

de scripts, como si fuesen archivos. El ThinAgent no se involucra en la ejecución del mandato, se basa

en todo el trabajo realizado en el origen de datos, sólo procesa la salida del mandato.

Incluye un motor de parseo, un filtro adicional por evento (además de la tabla a bajo nivel incluido en el

origen de datos), y una tabla personalizada que le permite definir nombres, filtros por campo y tipos de

dato para cada filtro que cumpla el filtro.

Una vez ha seleccionado un origen de datos, se abre la ventana de configuración del monitor.

La configuración del monitor consta de las siguientes pestañas:

• General settings

• Parser options

• Table settings

8.0.1 General Settings La pestaña general settings le permite establecer el nombre del monitor y, opcionalmente una

descripción.

Figura 18 – Crear un monitor para recuperar la salida de datos de nuestro origen de datos Script Runner

Data source

Si necesita realizar cambios al origen de datos puede hacerlo en esta pestaña. Para seleccionar un

origen de datos deseado, pulse el botón Select Data Source y seleccione un origen de datos de la lista

que aparece. Para editar el origen de datos pulse el botón Edit Data Source.

Variables de configuración y ajustes por defecto

Descripción

NameScript Runner Moni-tor

Introduzca un nombre para su Monitor Script Runner

Description Introduzca una descripción para su monitor Script Runner

© 2013 Tango/04 Computing Group Página 46

Page 53: Custom Command Agent - HelpSystems

Configuración de Script Runner ThinAgent

8.0.2 Parser OptionsTodas las opciones del parseador para este ThinAgent son exactamente las mismas que las del Custom

Command ThinAgent. Diríjase a la sección 6.0.2 - Parser Options en la página 30 para leer la

documentación del parseador.

8.0.3 Table SettingsTodas las opciones de tabla son exactamente las mismas que las del Custom Command ThinAgent.

Diríjase a la sección 6.0.3 - Table Settings en la página 36 para leer la documentación de la tabla.

8.0.4 Ajustes de Salud por DefectoEl script de salud por defecto detecta si el monitor pudo recuperar datos del origen de datos. Por

defecto la salud se establece como:

• Critical si ExitCode <> 0 y no es CommandOutput.

• Warning si ExitCode <> 0 y len(ErrorOutput) > 0

• Success en el resto de casos.

Cambie las reglas de salud por defecto para cubrir sus necesidades de monitorización. Como puede

ver, la salud se establece como success por defecto, porque el Script Runner ThinAgent es muy

genérico, de manera que es imposible saber cuando un evento es crítico o no.

Normalmente deseará ver la criticidad con sus campos parseados como algo similar a:

RecordFieldValue02 == “failure”

8.0.5 Plantilla de Mensaje por DefectoPor defecto, el monitor siempre envía la línea en bruto (o multilíneas) que publica el origen de datos.

Estas líneas nunca son modificadas. El parseador las utiliza como sólo lectura para generar las

variables RecordFieldValueXX. Modifique esta plantilla según sus necesidades.

8.0.6 Variables ComunesLa lista de variables para el Script Runner ThinAgent:

Variable Descripción

CommandEl mandato ejecutado completo (interprete + ruta del script + argumentos).

LocalScript La ruta local del script.

CommandOutput La salida del mandato ejecutado.

ErrorOutput La salida de error del mandato ejecutado.

ExitCode El código de salida del programa.

LineNumberLa posición de la línea en la salida en bruto, esta opción es sólo válida cuando la opción Split one event per line está habilitada.

Host El host donde se ejecuta el mandato.

NumberOfFields El número de campos capturados para la línea.

© 2013 Tango/04 Computing Group Página 47

Page 54: Custom Command Agent - HelpSystems

Configuración de Script Runner ThinAgent

8.0.7 Mapeo de Campos SmartConsole - ThinkServerThinkServer envía un mensaje a la SmartConsole cada vez que se ejecuta el monitor. Por defecto,

envía las siguientes variables:

(*) El patrón se repite hasta el campo 60.

Las Variables enviadas a la SmartConsole se configuran en la pestaña Event Variables de la sección

Templates, disponible en el asistente de Set Health and Actions.

En la pestaña de Variables de Evento Puede configurar un máximo de 99 variables.

La Variable  1 no puede cambiarse. Puede configurar una variable en cada uno de los campos

Variable  2 a Variable  7. En el campo Variable  8 puede añadir más variables como una lista

separada por comas. Cada variable se enviará a la SmartConsole, en el orden en que aparecen en la

lista: Var08, Var09…Var99.

RecordFieldValue01..60El valor de un campo personalizado obtenido con el parseador. Los campos se etiquetan como: RecordFieldValue01, RecordFieldValue02..20

RecordFieldName01..60El nombre de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldName01, RecordFieldName02..20

RecordFieldType01..60

El Tipo de dato de un campo personalizado definido en la tabla de parseo. Los campos se etiquetan como: RecordFieldType01, RecordFieldType02..20

CMDVAR01..20Una variable personalizada utilizada para modificar el mandato del script de los monitores adjuntos.

Variable Descripción

SmartConsole ThinkServer Descripción

Var02 Host El host donde se ejecuta el mandato.

Var03 LocalScript La ruta local del script.

Var04 Command El mandato ejecutado.

Var05 CommandOutput La salida del mandato ejecutado.

Var06 ErrorOutputLa salida de error del mandato ejecu-tado.

Var07 ExitCode El código de salida del programa.

Var08 RecordFieldName01El nombre de campo para la variable RecordFieldValue.

Var09 RecordFieldValue01El valor de un campo personalizado obtenido con el parseador.

Var10 RecordFieldNameXX (*)

Var11 RecordFieldValueXX (*)

© 2013 Tango/04 Computing Group Página 48

Page 55: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Apéndice A Apéndice A: Algunos Ejemplos de Ejecución y Parseo

Esta sección proporcionará algunos ejemplos de cómo utilizar los Custom Command ThinAgents de

forma práctica. Existen varias opciones para ejecutar y parsear un mandato. Aquí seleccionaremos las

mejores opciones que creemos que aplican a situaciones específicas.

Cada ejemplo presentará un método de parseo diferente:

• Campos delimitados: Comprobar las conexiones de interface de red en Windows.

• Expresiones Regulares: Leer el registro de auditoría Linux

• Etiquetas XML: Leer el registro de auditoría Solaris

A.1 Campos Delimitados: Comprobar la Conexiones de Interface de Red en WindowsEn este ejemplo, comprobaremos las conexiones activas de todas las interfaces de un host Windows.

Utilizaremos el mandato netstat sin parámetros.

A.1.1 Comprobar los RequisitosSimplemente necesitamos abrir una interface de línea de mandatos en el host Windows remoto, y

ejecutar el mandato para que podamos analizar su salida. Esto nos ayudará a configurar el parseador.

© 2013 Tango/04 Computing Group Página 49

Page 56: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 19 – Esta salida de línea de mandato de un host remoto tiene cuatro encabezados

A.1.2 Configurar el ParseadorNuestra salida de mandato es algo similar a esto:

Active Connections

  Proto  Local Address          Foreign Address        State

  TCP    127.0.0.1:443          BATCAVE:2326           ESTABLISHED

  TCP    127.0.0.1:443          BATCAVE:2337           ESTABLISHED

  TCP    127.0.0.1:2326         BATCAVE:https          ESTABLISHED

  TCP    127.0.0.1:2327         BATCAVE:2328           ESTABLISHED

  TCP    127.0.0.1:2328         BATCAVE:2327           ESTABLISHED

  TCP    127.0.0.1:2337         BATCAVE:https          ESTABLISHED

  TCP    127.0.0.1:2342         BATCAVE:2343           ESTABLISHED

  TCP    127.0.0.1:2343         BATCAVE:2342           ESTABLISHED

  TCP    127.0.0.1:4952         BATCAVE:4953           ESTABLISHED

  TCP    127.0.0.1:4953         BATCAVE:4952           ESTABLISHED

  TCP    127.0.0.1:6228         BATCAVE:6245           ESTABLISHED

  TCP    127.0.0.1:6245         BATCAVE:6228           ESTABLISHED

  TCP    192.168.0.192:6778     development:3690       ESTABLISHED

  TCP    192.168.0.192:6805     jgalak:50161           ESTABLISHED

  TCP    192.168.1.164:2331     a23‐56‐227‐51:https    CLOSE_WAIT

  TCP    192.168.1.164:2869     HERNAN‐PC:53987        TIME_WAIT

  TCP    192.168.1.164:5194     BCNSRV01:microsoft‐ds  ESTABLISHED

  TCP    192.168.1.164:6227     sn1msg3010817:msnp     ESTABLISHED

  TCP    192.168.1.164:6499     157.56.52.13:http      ESTABLISHED

© 2013 Tango/04 Computing Group Página 50

Page 57: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

  TCP    192.168.1.164:6521     213.146.189.203:http   ESTABLISHED

  TCP    192.168.1.164:6618     154:pptp               ESTABLISHED

  TCP    192.168.1.164:6791     lhr08s02‐in‐f22:https  ESTABLISHED

  TCP    192.168.1.164:6795     bru01m01‐in‐f125:5222  ESTABLISHED

  TCP    192.168.1.164:6796     channel‐id‐12‐01‐snc7:https  ESTABLISHED

  TCP    192.168.1.164:6801     www‐15‐08‐prn1:https   ESTABLISHED

  TCP    192.168.1.164:6807     190‐201‐108‐110:http   ESTABLISHED

  TCP    192.168.1.164:6808     139.30.123.188:http    ESTABLISHED

  TCP    192.168.1.164:6814     h‐91‐126‐102‐200:10649  ESTABLISHED

  TCP    192.168.1.164:6850     77‐240‐125‐115:http    ESTABLISHED

  TCP    [::1]:2332             BATCAVE:8307           ESTABLISHED

  TCP    [::1]:2338             BATCAVE:8307           ESTABLISHED

  TCP    [::1]:8307             BATCAVE:2332           ESTABLISHED

  TCP    [::1]:8307             BATCAVE:2338           ESTABLISHED

Como puede ver, la salida del mandato está formada por campos delimitados por espacios. Antes de

decidir utilizar este tipo de parseador, deberá comprobar que no hay ningún campo con un delimitador

“literal” dentro de su valor (en este caso, debemos asegurarnos que ningún campo incluye un espacio

en su interior).Para esta salida el delimitador apropiado será un carácter de espacio.

Esto capturará cuatro grupos en los correspondientes campos del monitor (variables

RecordFieldValueXX):

A.1.3 Crear el MonitorUna vez que hemos verificado que todos los requisitos de conectividad y autorización con el host y se

ha definido el parseador, podemos crear nuestro monitor.

General settings

Primero debemos crear el origen de datos y establecer la dirección IP y las credenciales de usuario

para conectar con el host; recuerde definir la plataforma como Windows.

Campo Descripción

RecordFieldValue01 Protocolo

RecordFieldValue02 Dirección Local

RecordFieldValue03 Dirección Externa

RecordFieldValue04 Estado

© 2013 Tango/04 Computing Group Página 51

Page 58: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 20 – Configurar un origen de datos para el mandato netstat

Command execution settings

A continuación establecemos el mandato que queremos ejecutar: netstat. No utilizaremos variables

en este ejemplo, de modo que deshabilitaremos la tabla de variables.

© 2013 Tango/04 Computing Group Página 52

Page 59: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 21 – Introducir el mandato deseado en la pestaña de configuración de la ejecución del mandato

Command output settings

No vamos a definir ningún filtro, pero cambiaremos el comportamiento por defecto del monitor. Por

defecto, el origen de datos envía un único evento a los monitores adjuntos con toda la salida del

mandato. En esta situación, queremos procesar cada línea como un evento diferente de manera que

posteriormente podamos parsear los campos para cada conexión. Con esto en mente, debemos

seleccionar la opción Split one event per line.

© 2013 Tango/04 Computing Group Página 53

Page 60: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 22 – La salida multilínea se dividirá por el monitor de manera que el usuario vea un evento por línea

General Settings

El monitor no necesita grandes cambios en la pestaña General Settings, simplemente cambiaremos el

nombre del monitor por uno más descriptivo.

© 2013 Tango/04 Computing Group Página 54

Page 61: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 23 – Se abre la ventana de configuración del monitor tras guardar los datos de configuración del origen de datos

Parser options

Aquí debemos configurar el parseador. Simplemente debemos definir nuestro delimitador de campos

con el comodín <space>. A continuación habilitamos Trim parsed fields para eliminar todos los

caracteres de espacio. También habilitamos Ignore empty fields para eliminar todos los campos NULL

creados entre espacios múltiples en la salida del mandato. Y finalmente, establecemos header lines

como 4 para descartar el texto en la parte superior de la salida del mandato:

Active connections

Proto  Local Address          Foreign Address        State.

© 2013 Tango/04 Computing Group Página 55

Page 62: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 24 – Parsear la salida del mandato

Table settings (paso opcional)

Finalmente, definiremos una tabla para establecer nombres personalizados para los campos.

Figura 25 – Los Eventos mostrados en la SmartConsole mostrarán información de los campos Protocolo, Dirección Local, etc.

© 2013 Tango/04 Computing Group Página 56

Page 63: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

A.1.4 Hecho!Una vez tenemos el monitor configurado, podemos empezar a monitorizar las conexiones de red del

host en tiempo real. Si uno de los parámetros de conexiones no está OK, o no tiene suficientes

permisos para trabajar con este mandato, verá inmediatamente el reporte de error en la Interface del

ThinkServer Configurator. Otra manera de consultar posibles mensajes de error relacionados con

configuraciones incorrectas del parseador es ver el archivo de log generado por este monitor; el

archivo de log se almacena en la carpeta logs de la ruta de instalación de ThinkServer.

Figura 26 – Verificar en el Configurador de ThinkServer que el monitor está produciendo eventos de la manera esperada

Para ver los eventos en la SmartConsole, cree una nueva Business View, filtrada con el código de

agente CMD y compruebe que las variables se registran con los campos separados que definió con el

parseador:

Nota

Las trazas deben estar habilitadas en el origen de datos para que se registre la información.

© 2013 Tango/04 Computing Group Página 57

Page 64: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 27 – Ver la salida de mandato en SmartConsole de la manera deseada

Si echamos un vistazo a la ventana de propiedades de un evento, las variables se listan exactamente

como deseamos, en el siguiente orden: Nombre del campo, Valor del Campo

Figura 28 – Las Variables se listan al lado de sus valores de campo

A.2 Etiquetas XML: Leer el Registro de Auditoría de Solaris.El sistema operativo Oracle Solaris le permite consultar los registros de auditoría generados por el

daemon audit en dos formatos: un formato línea a línea expresado en tokens, y un formato de nivel más

alto impreso como documento XML.

A.2.1 Comprobar los RequisitosLa auditoría Solaris no se cubrirá aquí, ya que está fuera de este tópico. La única cosa que necesitamos

saber es que los registros de auditoría se consultan mediante una herramienta de línea de mandatos

© 2013 Tango/04 Computing Group Página 58

Page 65: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

denominada auditreduce, y la salida necesita convertirse y formatearse por una herramienta de nivel

superior denominada praudit.

La herramienta praudit le permite obtener salidas en formato XML pasando el parámetro –x. Es

necesaria una cosa más: el parseador de etiquetas XML está limitado a un elemento por línea, de

manera que los elementos necesitan listarse en una línea. Esto puede hacerse con la opción –l.

El formato final del mandato sería algo como:

auditreduce –a <date_start> ‐b <date_end> ‐c <categories> | praudit –lsx

Donde <date_start> y <date_end> son timestamps posix indicando el rango de tiempo que desea

consultar, y <categories> son las categorías reales que desea listar (lo, ex, etc…).

Figura 29 – Leer la salida de la auditoría de Solaris con la herramienta Putty

A.2.2 Configurar el ParseadorSólo debemos seleccionar XML Tags y el parseador hará el resto: parsear los contenidos XML, dar

nombre a los campos con los atributos y publicar un evento por token.

La única cosa adicional que necesitamos hacer aquí es eliminar aquellos tokens que no necesitamos: el

token <audit>, el token <file>, y desde luego, el encabezado XML. En la imagen anterior, los tokens

importantes (uno por línea) son:

<record  version="2"  event="AUE_login"  host="vmsolaris10"  iso8601="2012‐04‐16  15:49:03.714  ‐03:00"><subject  audit‐uid="root"  uid="root" gid="root"  ruid="root"  rgid="root"  pid="902"  sid="902"  tid="0  0 vmsolaris10"/><text>successful  login</text><return  errval="success" retval="0"/></record>

<record version="2" event="AUE_ssh" host="vmsolaris10" iso8601="2012‐04‐16  15:51:06.582  ‐03:00"><subject  audit‐uid="root"  uid="root"  gid="root" ruid="root"  rgid="root"  pid="1302"  sid="2377120934"  tid="10437  202240 192.168.1.145"/><return errval="success" retval="0"/></record>

A.2.3 Crear el MonitorUna vez tenemos nuestro mandato definido, estamos preparados para crear monitor. Recuerde que

una consulta estática sin un timestamp no es realmente una solución de monitorización (debemos

realizar un mandato de lectura incremental, utilizando variables). Aquí estamos utilizando un mandato

estático sólo para explicar cómo funciona el parseador de etiquetas XML.

© 2013 Tango/04 Computing Group Página 59

Page 66: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

General settings

Primero debemos crear el origen de datos y establecer la dirección IP y las credenciales de usuario

para conectar con el host; recuerde definir la plataforma como Linux/Unix (Solaris es un SO basado en

Unix).

Figura 30 – Seleccionar un origen de datos Solaris

Command execution settings

A continuación establecemos el mandato que queremos ejecutar: auditreduce ‐a 20120416150000 

‐c lo | praudit –lsx. Deberíamos utilizar variables para modificar la consulta de timestamp entre

refrescos, pero para este ejemplo las mantendremos estáticas.

© 2013 Tango/04 Computing Group Página 60

Page 67: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 31 – Introducir el mandato que deseamos ejecutar en el origen de datos Solaris

Command output settings

Lo más importante aquí es habilitar la opción Split one event per line, ya que deseamos un registro

para cada evento de auditoría.

Para eliminar las líneas no necesarias mencionadas anteriormente (los tokens  <audit> y <file>),

deberíamos utilizar esta tabla general con una expresión regular como filtro de exclusión, pero lo

haremos más sencillo para este ejemplo y simplemente lo excluiremos de la tabla del monitor (nivel

más lato y más sencillo de definir).

© 2013 Tango/04 Computing Group Página 61

Page 68: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 32 – Ajustando la salida del mandato

General settings

El monitor no necesita grandes cambios en la pestaña General Settings, simplemente cambiaremos el

nombre del monitor por uno más descriptivo.

© 2013 Tango/04 Computing Group Página 62

Page 69: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 33 – Renombrando un monitor Custom Command

Parser options

Aquí debemos configurar nuestro parseador XML Tags. No es necesario nada más.

Figura 34 – La salida del mandato se mostrará en XML

Table settings

Finalmente, definiremos nuestra tabla, pero no los nombres de los campos, ya que se completarán

automáticamente por el parseador. Excluiremos las etiquetas <!DOCTYPE>, <audit> y <files>.

© 2013 Tango/04 Computing Group Página 63

Page 70: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Excluiremos estos nombres en Field01, porque este campo es siempre el nombre del elemento XML

cuando trabajamos con el parseador XML.

Además, no olvide seleccionar la opción Autodetect field names.

Figura 35 – Definir los campos de evento de SmartConsole para este monitor

A.2.4 Hecho!Una vez tenemos el monitor configurado, podemos empezar a leer los registros de Auditoría de Solaris

en tiempo real. Si uno de los parámetros de conexiones no está OK, o no tiene suficientes permisos

para ejecutar estos mandatos de auditoría, verá inmediatamente el reporte de error en la Interface del

ThinkServer Configurator. Otra manera de consultar posibles mensajes de error relacionados con

configuraciones incorrectas del parseador es ver el archivo de log generado por este monitor; el

archivo de log se almacena en la carpeta logs de la ruta de instalación de ThinkServer.

Nota

Las trazas deben estar habilitadas en el origen de datos para que se registre la información.

© 2013 Tango/04 Computing Group Página 64

Page 71: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 36 – Ver los mensajes como un evento por token

Para ver los eventos en la SmartConsole, cree una nueva Business View, filtrada con el código de

agente CMD y compruebe que las variables se registran con los campos separados que definió con el

parseador:

Figura 37 – Ver nuestra salida de mandatos Solaris en SmartConsole

Si echamos un vistazo a la ventana de propiedades de un evento, las variables se listan exactamente

como deseamos, en el siguiente orden: Nombre del campo, Valor del Campo

© 2013 Tango/04 Computing Group Página 65

Page 72: Custom Command Agent - HelpSystems

Apéndice A : Algunos Ejemplos de Ejecución y Parseo

Figura 38 – Puede ver los valores de cada variable en un solo evento

Eso es todo para el parseador de Etiquetas XML. Ahora puede intentar implementar un mandato

dinámico para cambiar el timestamp de los monitores después de que se realice cada refresco.

© 2013 Tango/04 Computing Group Página 66

Page 73: Custom Command Agent - HelpSystems

Apéndice B : Referencia

Apéndice BApéndice B: Referencia

Para documentación sobre expresiones regulares, el sitio Web http://www.regular-expressions.info es

un buen punto de partida, lleno de tutoriales y referencias.

Para más información sobre los drivers utilizados por los orígenes de datos, puede visitar los sitios de

los distintos proveedores:

Perl

www.perl.org

Python

www.python.org

SMB:

• Definición en Wikipedia: http://en.wikipedia.org/wiki/Server_Message_Block 

• Microsoft MSDN: http://msdn.microsoft.com/en‐us/library/

aa365233%28v=vs.85%29.aspx

SSHv2:

• Definición en Wikipedia: http://en.wikipedia.org/wiki/Secure_Shell#Version_2.x

Publicaciones de RFC por el grupo de trabajo IETF "secsh" documentando SSH-2 como un

estándar propuesto para Internet:

http://tools.ietf.org/html/rfc4250

http://tools.ietf.org/html/rfc4251

http://tools.ietf.org/html/rfc4252

http://tools.ietf.org/html/rfc4253

http://tools.ietf.org/html/rfc4254

http://tools.ietf.org/html/rfc4255

http://tools.ietf.org/html/rfc4256

http://tools.ietf.org/html/rfc4335

http://tools.ietf.org/html/rfc4344

http://tools.ietf.org/html/rfc4345

© 2013 Tango/04 Computing Group Página 67

Page 74: Custom Command Agent - HelpSystems

Apéndice B : Referencia

RPC:

• Definición en Wikipedia: http://en.wikipedia.org/wiki/Remote_procedure_call

• Microsoft MSDN: http://msdn.microsoft.com/en‐us/library/windows/desktop/

aa378651(v=vs.85).aspx

© 2013 Tango/04 Computing Group Página 68

Page 75: Custom Command Agent - HelpSystems

Apéndice C : Referencia de sintaxis de Expresiones Regulares

Apéndice C Apéndice C: Referencia de sintaxis de Expresiones Regulares

La siguiente tabla proporciona una referencia básica de la sintaxis de expresiones regulares, esta

información también está disponible online:

http://www.regular‐expressions.info

C.1 Caracteres

Carácter Descripción Ejemplo

Cualquier carácter excepto [\^$.|?*+()

Todos los caracteres excepto los caracteres especiales listados representan una instan-cia sencilla de ellos mismos. { y } son caracteres literales, a menos que sean parte de una expresión regular válida (por ejemplo el cuantificador {n} ).

a encontrará a

\ (contra barra) seguida por uno de los siguientes [\^$.|?*+(){}

Una contra barra hace el que los caracteres especiales pierdan su significado especial.

\+ encontrará +

\Q...\ERepresenta los caracteres entre \Q y \E lite-ralmente, suprimiendo el significado de caracteres especiales.

\Q+‐*/\E encontrará +‐*/

\xFF donde FF son 2 dígitos hexadeci-males

Representa el carácter con el valor ASCII/ANSI especificado, que depende de la página de códigos utilizada. Puede utilizarse en clases de caracteres.

\xA9 encontrará © al utilizar el código de página Latin-1.

\n, \r y \t

Representa un carácter de final de línea, carácter de retorno de carro y un carácter tabulador respectivamente. Puede utilizarse en clases de caracteres.

\r\n encontrará un salto de línea CRLF DOS/Win-dows.

\a, \e, \f y \v

Representa una “campana” o beep que se reproduce al imprimir este carácter (\x07), carácter “escape” (\x1B), salto de página (\x0C) y un tabulador vertical (\x0B) respec-tivamente. Puede utilizarse en clases de caracteres.

© 2013 Tango/04 Computing Group Página 69

Page 76: Custom Command Agent - HelpSystems

Apéndice C : Referencia de sintaxis de Expresiones Regulares

C.2 Clases de caracteres o conjuntos de caracteres [abc]

\cA hasta \cZ

Representa un carácter ASCII Control+A hasta Control+Z, equivalente a \x01 hasta \x1A. Puede utilizarse en clases de caracte-res.

\cM\cJ encon-trará un salto de línea CRLF DOS/Windows.

Carácter Descripción Ejemplo

[ (apertura de cor-chetes)

Marca una clase de caracteres. Una clase de caracteres representa un solo carácter fuera de todas las posibilidades ofrecidas por la clase de caracteres. Dentro de una clase de caracteres, aplican reglas diferen-tes. Las reglas en esta sección son sólo váli-das dentro de las clases de caracteres. Las reglas fuera de esta sección no son válidas en clases de caracteres, excepto unos pocos escapes que se indican con "pueden utili-zarse en clases de caracteres".

Cualquier carácter excepto ^-]\ añade ese carácter a las posibles coinciden-cias para la clase del carácter

Todos los caracteres excepto los listados como caracteres especiales.

[abc] encon-trará a, b o c

\ (contra barra) seguida por una de las siguientes ^-]\

Se utiliza para "marcar" el siguiente carácter de la expresión de búsqueda de forma que este adquiera un significado especial o deje de tenerlo.

[\^\]]encontrará ^ o ]

- (guión medio) excepto inmediata-mente después de apertura [

Representa un rango de caracteres. (repre-senta un guión si se encuentra inmediata-mente después de la apertura [)

[a‐zA‐Z0‐9] encontrará cual-quier letra o dígito

^ (acento circun-flejo) inmediata-mente después de apertura [

Niega la clase de carácter, permitiendo encontrar cualquier carácter que NO se encuentre dentro del grupo indicado. (Repre-senta el inicio de la cadena siempre que no se encuentre tras la apertura [)

[^a‐d] encon-trará x (cual-quier carácter excepto a, b, c o d)

\d, \w y \s

Abreviaciones de clases de caracteres que representan dígitos, caracteres de letra (letras, dígitos y guiones bajos), y espacia-dos (espacios, tabuladores, y saltos de línea). Pueden utilizarse dentro y fuera de clases de caracteres.

[\d\s] encon-trará un carácter que es un dígito o un espacio en blanco

\D, \W y \S

Versiones en negativo de las anteriores. Deben utilizarse fuera de las clases de caracteres. (Pueden utilizarse dentro, pero son confusas.)

\D encontrará un carácter que no es un dígito

[\b]Retroceso si está dentro de una clase de caracteres.

[\b\t] encon-trará un carácter retroceso o tabu-lador

Carácter Descripción Ejemplo

© 2013 Tango/04 Computing Group Página 70

Page 77: Custom Command Agent - HelpSystems

Apéndice C : Referencia de sintaxis de Expresiones Regulares

C.3 Punto

C.4 Puntos de Anclaje

C.5 Posición de palabras

Carácter Descripción Ejemplo

. (punto)

El punto se utiliza para concordar cualquier carácter excepto saltos de línea \r y \n. La mayoría de motores regex tienen una opción para marcar la coincidencia de punto como salto de línea.

. encontrará x o (casi) cualquier otro carácter

Carácter Descripción Ejemplo

^ (acento circun-flejo)

Define el comienzo de la cadena de expre-sión regular. Representa una posición en lugar de un carácter. La mayoría de motores regex tienen una opción para marcar el acento circunflejo como saltos de línea (por ejemplo al inicio de una línea en un archivo).

^. Encontrará a en abc\ndef. También encon-trará d en modo "multilínea".

$ (dólar)

Define el final de la cadena de expresión regular, en cadenas multilínea, encontrará la última ocurrencia. Representa una posición en lugar de un carácter. La mayoría de moto-res regex tienen una opción para marcar el dólar antes de saltos de línea (i. por ejemplo al final de una línea en un archivo). También coincide antes del último salto de línea si la cadena finaliza en un salto de línea.

.$ encontrará f en abc\ndef. También encon-trará c en modo "multilínea”.

\A

Representa el inicio de la cadena del patrón regex al que se aplica. Representa una posi-ción en lugar de un carácter. Nunca coincide después de saltos de línea.

\A. encontrará a en abc

\Z

Representa el final de la cadena del patrón regex al que se aplica. Representa una posi-ción en lugar de un carácter. Nunca coincide antes de saltos de línea, excepto el último salto de línea si la cadena finaliza en un salto de línea.

.\Z encontrará f en abc\ndef

\z

Representa el final de la cadena del patrón regex al que se aplica. Representa una posi-ción en lugar de un carácter. Nunca coincide antes de saltos de línea.

.\z encontrará f en abc\ndef

Carácter Descripción Ejemplo

\b

Encuentra la posición entre un "carácter de palabra" (cualquier concordancia con \w) y un carácter no palabra (cualquiera encon-trado por [^\W] o \W) así como el inicio y final de cadena si el primer o último carácter son "caracteres de palabra".

.\b encontrará c en abc

© 2013 Tango/04 Computing Group Página 71

Page 78: Custom Command Agent - HelpSystems

Apéndice C : Referencia de sintaxis de Expresiones Regulares

C.6 Alternado

C.7 Cuantificadores

\B

Encuentra la posición entre dos caracteres de palabra (es decir la posición entren \w\w) así como a la posición entre dos caracteres no palabras (por ejemplo \W\W).

\B.\B encon-trará b en abc

Carácter Descripción Ejemplo

| (barra vertical)Se utiliza para dar alternativas, concuerda con una de las opciones separadas por este carácter.

abc|def|xyz encontrará abc, def o xyz

| (barra vertical)La barra tiene la menor preferencia de todos los operadores. Use agrupaciones para alternar sólo parte de la expresión regular.

abc(def|xyz) encontrará abcdef o abcxyz

Carácter Descripción Ejemplo

? (interrogante)Marca la búsqueda del elemento anterior como opcional.

abc? encontrará ab o abc

??

Marca la búsqueda del elemento anterior como opcional, PERO intentará evitar incluir el elemento opcional. Esta construcción a menudo se excluye de la documentación debido a su limitado uso.

abc?? encon-trará ab o abc

* (asterisco)

Repite el elemento anterior cero o más veces. Se intentará encontrar el mayor número de elementos posible antes de inten-tar permutaciones con menos concordancias hasta el punto de que el elemento no coin-cida en absoluto.

".*" encontrará "def" "ghi" en abc "def" "ghi" jkl

*? (asterisco lazy)Repite el elemento anterior cero o más veces. Al contrario que el anterior, devolverá la concordancia mínima.

".*?" encon-trará "def" en abc "def" "ghi" jkl

+ (más)

Repite el elemento anterior una o más veces. Se intentará encontrar el mayor número de elementos posible antes de inten-tar permutaciones con menos concordancias hasta el punto de que el elemento no coin-cida en absoluto.

".+" encontrará "def" "ghi" en abc "def" "ghi" jkl

+? (más lazy)Repite el elemento anterior una o más veces. Al contrario que el anterior, devolverá la concordancia mínima.

".+?" encon-trará "def" en abc "def" "ghi" jkl

Carácter Descripción Ejemplo

© 2013 Tango/04 Computing Group Página 72

Page 79: Custom Command Agent - HelpSystems

Apéndice C : Referencia de sintaxis de Expresiones Regulares

{n} donde n es un entero >= 1

Repite el elemento anterior exactamente n veces.

a{3} encontrará aaa

{n,m} donde n >= 0 y m >= n

Repite el elemento anterior entre n y m veces. La repetición de m se intenta antes que la reducción a n.

a{2,4} encon-trará aaaa, aaa o aa

{n,m}? donde n >= 0 y m >= n

Repite el elemento anterior entre n y m veces. La repetición de n se intenta antes del incremento a m.

a{2,4}? encon-trará aa, aaa o aaaa

{n,} donde n >= 0Repite el elemento anterior como mínimo n veces, pero intentará encontrarlo el mayor número de veces posible.

a{2,} encon-trará aaaaa en aaaaa

{n,}? donde n >= 0Repite el elemento anterior como mínimo n veces, esta variación intentará mantener la concordancia al mínimo especificado.

a{2,}? encon-trará aa en aaaaa

Carácter Descripción Ejemplo

© 2013 Tango/04 Computing Group Página 73

Page 80: Custom Command Agent - HelpSystems

Apéndice D : Contactar con Tango/04

Apéndice DApéndice D: Contactar con Tango/04

North America

Tango/04 North America

PO Box 3301

NH 03458 Peterborough USA

Phone: 1-800-304-6872 / 603-924-7391

Fax: 858-428-2864

[email protected]

www.tango04.com

EMEA

Tango/04 Computing Group S.L.

Avda. Meridiana 358, 5 A-B

08027 Barcelona Spain

Phone: +34 93 274 0051

Fax: +34 93 345 1329

[email protected]

www.tango04.com

Italy

Tango/04 Italy

Viale Garibaldi 51/53

13100 Vercelli Italy

Phone: +39 0161 56922

Fax: +39 0161 259277

[email protected]

www.tango04.it

Sales Office in France

Tango/04 France

La Grande Arche

Paroi Nord 15ème étage

92044 Paris La Défense France

Phone: +33 01 40 90 34 49

Fax: +33 01 40 90 31 01

[email protected]

www.tango04.fr

Sales Office in Switzerland

Tango/04 Switzerland

18, Avenue Louis Casaï

CH-1209 Genève

Switzerland

Phone: +41 (0)22 747 7866

Fax: +41 (0)22 747 7999

[email protected]

www.tango04.fr

Latin American Headquarters

Barcelona/04 Computing Group SRL (Argentina)

Avda. Federico Lacroze 2252, Piso 6

1426 Buenos Aires Capital Federal

Argentina

Phone: +54 11 4774-0112

Fax: +54 11 4773-9163

[email protected]

www.barcelona04.com

© 2013 Tango/04 Computing Group Página 74

Page 81: Custom Command Agent - HelpSystems

Apéndice D : Contactar con Tango/04

Sales Office in Peru

Barcelona/04 PERÚ

Centro Empresarial Real

Av. Víctor A. Belaúnde 147, Vía Principal 140 Edificio Real Seis, Piso 6

L 27 Lima

Perú

Phone: +51 1 211-2690

Fax: +51 1 211-2526

[email protected]

www.barcelona04.com

Sales Office in Chile

Barcelona/04 Chile

Nueva de Lyon 096 Oficina 702,

Providencia

Santiago

Chile

Phone: +56 2 234-0898

Fax: +56 2 2340865

[email protected]

www.barcelona04.com

© 2013 Tango/04Computing Group Página 75

Page 82: Custom Command Agent - HelpSystems

Acerca de Tango/04 Computing Group

Acerca de Tango/04 Computing Group

Tango/04 Computing Group es una de las principales empresas desarrolladoras de software de gestión

y automatización de sistemas informáticos. El software de Tango/04 ayuda a las empresas a mantener

la salud operativa de sus procesos de negocio, mejorar sus niveles de servicio, incrementar su

productividad y reducir costes mediante una gestión inteligente de su infraestructura informática.

Fundada en 1991 en Barcelona, Tango/04 es IBM Business Partner y miembro de la iniciativa

estratégica IBM Autonomic Computing. Además de recibir numerosos reconocimientos de la industria,

las soluciones Tango/04 han sido validadas por IBM y tienen la designación IBM ServerProven™.

Tango/04 tiene más de mil clientes y mantiene operaciones en todo el mundo a través de una red de 35

Business Partners

Alianzas

Premios

Partnerships IBM Business Partner

IBM Autonomic Computing Business Partner

IBM PartnerWorld for Developers Advanced Membership

IBM ISV Advantage Agreement

IBM Early code release

IBM Direct Technical Liaison

Microsoft Developer Network

Microsoft Early Code Release

© 2013 Tango/04 Computing Group Página 76

Page 83: Custom Command Agent - HelpSystems

Aviso Legal

Aviso Legal

Este documento y su contenido son propiedad de Tango/04 Computing Group o de sus respectivos propietarios cuando así se

indique. Cualquier utilización de este documento con una finalidad distinta de aquella con la cual ha sido creado está prohibida sin la

autorización expresa de su propietario. Asimismo queda prohibida la reproducción total o parcial de este documento por cualquier

medio físico, óptico, magnético, impreso, telemático, etc., sin la autorización expresa de su propietario.

La información técnica aquí contenida fue obtenida utilizando equipamiento e instalaciones específicas, y su aplicación se limita a

esas combinaciones especiales de productos y niveles de versiones de hardware y software. Cualquier referencia en este documento

a productos, software o servicios de Tango/04 Computing Group, no implica que Tango/04 Computing Group planee introducir esos

productos, software o servicios en cada uno de los países en los que opera o está representada. Cualquier referencia a productos de

software, hardware o servicios de Tango/04 Computing Group no está hecha con el propósito de expresar que solamente pueden

utilizarse productos o servicios de Tango/04 Computing Group. Cualquier producto o servicio funcionalmente equivalente que no

infrinja la propiedad intelectual o condiciones de licenciamiento específicas se podría utilizar en reemplazo de productos, software o

servicios de Tango/04 Computing Group.

Tango/04 Computing Group puede tener patentes o estar pendiente de obtención de patentes que cubren asuntos tratados en este

documento. La entrega de este documento no otorga ninguna licencia de esas patentes. La información contenida en este

documento no ha sido sometida a ningún test formal por Tango/04 Computing Group y se distribuye tal como está. El uso de esta

información o la implementación de cualquiera de las técnicas, productos, tecnologías, ideas o servicios explicitados o sugeridos por

el presente documento es responsabilidad exclusiva del cliente a quien está dirigido este documento, y es el cliente quien debe

evaluar y determinar la aplicabilidad y consecuencias de integrar esas técnicas, productos, tecnologías, ideas o servicios en su

entorno operativo.

Si bien cada ítem puede haber sido revisado por Tango/04 Computing Group en cuanto a su exactitud en una situación específica, no

existe ni se otorga ninguna garantía de que los mismos o similares resultados puedan ser obtenidos en otras situaciones o

instalaciones. Los clientes que intenten adaptar esas técnicas en sus propias instalaciones lo hacen bajo su propia cuenta,

responsabilidad y riesgo. Tango/04 Computing Group no será en ningún caso responsable directo o indirecto de cualquier daño o

perjuicio causado por el uso de las técnicas explicitadas o sugeridas en este documento, incluso si se han efectuado notificaciones

de la posibilidad de esos daños.

Este documento puede contener errores técnicos y/o errores tipográficos. Todas las referencias en esta publicación a entidades

externas o sitios web han sido provistas para su comodidad solamente, y en ningún caso implican una validación, garantía o respaldo

a esas entidades o sitios.

Las marcas siguientes son propiedad de International Business Machines Corporation en los Estados Unidos y/o otros países: AS/

400, AS/400e, System i, iSeries, e (logo)Server, i5, Operating System/400, OS/400, i5/OS.

Microsoft, SQL Server, Windows, Windows NT, Windows XP y el logotipo de Windows son marcas registradas de Microsoft

Corporation en los Estados Unidos y/o otros países. Java y todos los logotipos y marcas basadas en Java son propiedad de Sun

Microsystems, Inc. en los Estados Unidos y otros países. UNIX es una marca registrada en los Estados Unidos y otros países y se

licencia exclusivamente a través de The Open Group. Oracle es una marca registrada de Oracle Corporation. Otras marcas,

productos o servicios pueden ser marcas registradas de otras empresas.

© 2013 Tango/04 Computing Group Página 77