Implementación masiva de robots con un archivo XML

En este artículo se proporciona una explicación de cómo preparar un archivo XML para la implementación de robots de forma masiva. Una vez preparado, se debe procesar mediante su colocación en la carpeta de la sonda automatic_deployment_engine o utilizando USM.
uim901
En este artículo se proporciona una explicación de cómo preparar un archivo XML para la implementación de robots de forma masiva. Una vez preparado, se debe procesar mediante su colocación en la carpeta de la sonda automatic_deployment_engine o utilizando USM.
Contenido
Verificación de los requisitos previos
Verifique los siguientes requisitos previos antes de realizar la implementación masiva:
  • El concentrador principal es el sistema de fuente.
  • El archivo de archivado de CA UIM Server tiene los paquetes necesarios del archivo de archivado del instalador de robots:
    • robot_exe
    • robot_rpm
    • robot_deb
    • robot_sol
    • robot_aix
  • Los sistemas de destino son compatibles. Para versiones de software compatibles, consulte la Matriz de compatibilidad.
Asegúrese también de que se cumplan los siguientes requisitos específicos del sistema operativo:
Windows
  • Se deben configurar todos los puertos de cortafuegos y recursos compartidos de Windows adecuados para permitir las conexiones de WMI y DCOM remotas. Estos puertos están abiertos y disponibles en una instalación predeterminada de Microsoft Server.
  • Los robots de los sistemas Windows se deben implementar desde concentradores que se ejecutan en Windows. Los sistemas fuente y de destino también se deben encontrar en el mismo dominio de Windows, a menos que los sistemas de destino se encuentren en el
    grupo de trabajo
    del dominio de Windows predeterminado.
  • Se deben tener privilegios administrativos locales en los sistemas de destino. Además, el usuario que aparece en el archivo
    host-profiles.xml
    para los sistemas Windows de destino debe disponer de acceso remoto y de privilegios de ejecución remota. Se recomienda que este usuario sea un administrador.
Linux
  • Los sistemas fuente y de destino deben tener
    /bin/bash
    ,
    ssh
    (shell seguro) y
    glibc
    . La mayor parte de las distribuciones de Linux compatibles incluyen bash y ssh de forma predeterminada; todas las versiones incluyen glibc de forma predeterminada.
  • Se tiene acceso a una cuenta
    root
    o a una cuenta que no sea administrativa y que sea compatible con
    sudo
    para poder realizar operaciones mediante comandos a nivel root.
Solaris
Si se está utilizando
sudo
, configure el sistema Solaris para admitir las solicitudes sin contraseña a CA UIM. Para permitir solicitudes sin contraseña, introduzca los siguientes comandos en el archivo
etc/sudoer
:
Asegúrese de agregar los siguientes comandos a la sección
NOPASSWD:
para el usuario sudo. Además, asegúrese de que se está utilizando el comando
visudo
para editar el archivo
etc/sudoer
y no un editor de texto.
  • (root) /usr/bin/sh -c /usr/sbin/pkgadd -d /tmp/nimsoft-robot-amd64 -a /tmp/ask < /tmp/input
  • (root) /usr/bin/bash /opt/nimsoft/install/RobotConfigurer.sh
  • (root) /etc/init.d/nimbus start
Preparación del archivo XML para la implementación de robots
Antes de empezar a preparar un archivo XML, tenga en cuenta los siguientes elementos:
  • Los usuarios avanzados que deseen realizar una personalización adicional pueden especificar cualquier parámetro de robot compatible.
  • (Linux y Solaris)
    El campo XML que define la ruta relativa para la clave privada se encuentra en el sistema del concentrador en
    <rsakeyfile>/relative_path/to/private_key_file</rsakeyfile>
    .
  • (Linux y Solaris)
    El parámetro
    sudo_password
    solo es necesario para los usuarios que no son root con privilegios administrativos.
  • (Windows)
    Si el host de destino forma parte de un dominio, los nombres de usuario de Windows también pueden especificar el dominio (
    dominio\nombre de usuario
    ).
  • Para implementar un robot pasivo, agregue la siguiente línea a la sección <host>:
    <robot_mode>passive</robot_mode>
  • Si no se especifica, se utilizan valores predeterminados para algunos parámetros necesarios:
    • name
      : El nombre predeterminado es el nombre de host de destino.
    • IP_version
      : La dirección IP predeterminada es IPv4.
    • Origin
      : El valor predeterminado es el nombre del concentrador padre.
      El valor del origen se adjunta a todos los mensajes creados por las sondas de monitorización. Por ejemplo, es posible que los MSP deseen definir el origen como un nombre de cliente.
    • Robot mode
      : El valor predeterminado es activo.
      Los usuarios que desean implementar sondas de mercado pueden especificar el modo pasivo, ya que los robots pasivos requieren la ejecución de este tipo de sondas de forma predeterminada.
Archivo XML de ejemplo
<hosts>
<host>
<profile>
Windows
</profile>
<arch>
32
</arch>
<hostname>
customer1
</hostname>
<username>
domain\Administrator
</username>
<password>
admin_password
</password>
<domain>
AutoEnv
</domain>
<hubip>
10.10.10.10
</hubip>
<hub>
w2k8-x64-Primaryhub
</hub>
<hubrobotname>
w2k8-x64-Primary
</hubrobotname>
<hubport>
48002
</hubport>
<robotname>
w2k8-x86
</robotname>
<tempdir>
c:\tmp\supertmp
</tempdir>
</host>
<host>
<profile>
CentOS
</profile>
<arch>
64
</arch>
<hostname>
server1
</hostname>
<username>
root
</username>
<password>
root_password
</password>
<domain>
AutoEnv
</domain>
<hubip>
101.101.101.101
</hubip>
<hub>
w2k8-x64-Primaryhub
</hub>
<hubrobotname>
w2k8-x64-Primary
</hubrobotname>
<hubport>
48002
</hubport>
<robotname>
CentOS6-x64
</robotname>
<tempdir>
/opt/tmp
</tempdir>
</host>
<host>
<profile>
CentOS
</profile>
<arch>
64
</arch>
<hostname>
server1
</hostname>
<username>
username
</username>
<password>
user_password
</password>
<sudo_password>
sudo_password
</sudo_password>
<domain>
AutoEnv
</domain>
<hubip>
101.101.101.101
</hubip>
<hub>
w2k8-x64-Primaryhub
</hub>
<hubrobotname>
w2k8-x64-Primary
</hubrobotname>
<hubport>
48002
</hubport>
<robotname>
CentOS6-x64
</robotname>
<tempdir>
/opt/tmp
</tempdir>
</host>
</hosts>
Atributos obligatorios
En la tabla siguiente se muestran todos los atributos del robot que se deben especificar obligatoriamente al implementar un robot.
Atributo
Descripción
profile
Sistema operativo en el sistema de destino:
  • aix
  • centos
  • debian
  • hp-ux
  • linux (soporte heredado para paquetes RPM anteriores)
  • opensuse
  • rhel (Red Hat Enterprise Linux)
  • solaris
  • suse (SUSE Linux Enterprise Server)
  • ubuntu
  • windows
arch
Arquitectura del sistema de destino:
  • 32 (32 bits)
  • 64 (64 bits)
  • ia64 (HP-UX Itanium)
  • pa-risc (HP-UX PA-RISC)
  • ppc64 (AIX 64 bits)
  • s390x (zLinux)
  • sparcv9 (Solaris)
hostname
Nombre de host o dirección IP del sistema de destino
username
Nombre de usuario de cualquier cuenta del destino que dispone de permisos administrativos o que es compatible con sudo para permisos a nivel raíz
password
Contraseña de la cuenta.
domain
Dominio al que pertenece el robot. Distingue entre mayúsculas y minúsculas.
hubip
Dirección IP del concentrador que gestiona el robot (denominado concentrador padre).
hub
Nombre del concentrador padre.
hubrobotname
Nombre del robot del concentrador padre. Distingue entre mayúsculas y minúsculas.
hubport
Puerto en el que se realiza la escucha del concentrador padre. El valor predeterminado es 48002.
Atributos opcionales
Se pueden especificar valores a estos atributos en función de la necesidad. En la tabla siguiente también se muestran los valores predeterminados, en el caso de que existan.
Atributo opcional
Descripción
Valor predeterminado
installdir
Ruta del directorio donde se instala el robot en el sistema de destino.
C:\Archivos de programa\Nimsoft\ o
C:\Archivos de programa (x86)\Nimsoft
(Windows)
/opt/nimsoft
(Unix)
robot_mode
Modo de comunicación con el concentrador:
  • Activo (predeterminado): El robot envía los mensajes al concentrador padre cuando los recibe de las sondas.
  • Pasivo: El robot envía los datos al concentrador a petición del concentrador. Se limita la cantidad de datos que el robot puede enviar.
  • Sin conexión: El robot no inicia ni espera ningún tipo de comunicación del concentrador.
Active
robotname
Nombre único que se debe asignar al robot implementado
Nombre de host del sistema de destino
rsakeyfile
Ruta relativa al certificado de clave privada RSA en el sistema que hospeda ADE con este formato. Los archivos clave con frases de contraseña no son compatibles.
Ninguno
sudo_password
Cadena de contraseña para sudo. Esta contraseña permite utilizar sudo sobre SSH durante la instalación. La contraseña de SSH todavía es obligatoria. Este parámetro no es aplicable a los usuarios raíz.
Ninguno
tempdir
Ruta deseada para un directorio temporal en el sistema de destino. Por ejemplo:
C:\tmp\supertmp
(Windows)
o
/opt/tmp
(Unix).
ip_version
Versión del esquema de la dirección IP:
IPv4
o
IPv6
IPv4
robotip
Dirección IP del robot. El robot se comunica únicamente con esta interfaz. Este valor se propaga a las sondas.
Si no se especifica ningún valor (comportamiento predeterminado), el robot encontrará automáticamente su dirección IP. Si el sistema dispone de varias interfaces, no se puede saber la interfaz que utilizará el robot.
robotip_alias
Dirección IP del robot en un entorno NAT
tz_offset
Anula el desplazamiento de la zona horaria en segundos, positivos o negativos.
0
autoremove
Especifica si el robot debe eliminarse del registro del concentrador por sí mismo después de que este termine. Valor:
yes
o
no
.
no
hub_dns_name
Nombre DNS completo del concentrador padre. Si se especifica un valor, se anula hubip, que entonces solamente se utiliza como un valor de la memoria caché si se produce un error durante la búsqueda DNS.
hub_update_interval
Intervalo, en segundos, en el cual el controlador debería enviar al concentrador información acerca de la lista de sondas activas.
900
hubdomain
Dominio del concentrador padre.
secondary_domain
Dominio del concentrador secundario que gestiona el robot si el concentrador padre asignado no está disponible.
secondary_hub
Concentrador que gestiona el robot si el concentrador padre asignado no está disponible
Ninguno. Robot que se adjunta al primer concentrador que encuentra si su propio concentrador padre no está disponible
secondary_hub_dns_name
Nombre DNS completo del concentrador secundario. Si se especifica un valor, se anula secondary_hubip, que entonces solamente se utiliza como un valor de la memoria caché si se produce un error durante la búsqueda DNS.
secondary_hubip
Dirección IP del concentrador secundario. (se anula si se especifica el nombre DNS)
secondary_hubport
Puerto del concentrador del concentrador secundario.
48002
secondary_hubrobotname
Nombre del robot del concentrador secundario.
secondary_robotip_alias
Las direcciones de NAT que el robot utiliza cuando se conecta al concentrador secundario. Los valores válidos son:
  • mismo
    , que utiliza la dirección NAT del concentrador padre (valor predeterminado)
  • Dirección IP
misma
send_alive
Indica si desea enviar mensajes activos al concentrador. Valores:
  • 1
    : Se envía un mensaje cada vez que se actualiza el concentrador
  • 0
    : No envía mensajes activos (de utilidad si el robot se ejecuta en un modo sin conexión y se desea establecer el contacto entre el robot y concentrador solo cuando sea necesario)
  • -1
    : Se envía una lista completa de sondas. Se utiliza con los concentradores muy antiguos que no entienden el formato de mensaje activo
1
do_not_broadcast
Evita la difusión del robot para localizar cualquier concentrador. De forma predeterminada, un robot que no esté adjunto a un concentrador se difundirá para localizar un concentrador temporal. Valor:
yes
o
no
.
no
temporary_hub_broadcast
Evita la difusión del robot para localizar un concentrador temporal si el concentrador padre y el concentrador secundario no están disponibles. El robot pone en cola los mensajes hasta que el concentrador padre o el concentrador secundario están disponibles. De forma predeterminada, un robot que no esté adjunto a un concentrador se difundirá para localizar un concentrador temporal. Valor:
yes
o
no
.
no
unmanaged_security
Especifica los concentradores que el robot puede difundir para establecer contacto. Valores:
  • not_locked
    ,
    none
    u
    open
    : Cualquier concentrador
  • domain_locked
    o
    domain
    : Solo para concentradores del dominio del robot
  • hub_locked
    o
    hub
    : No se pemite la difusión. La sonda controller únicamente puede contactar con su concentrador padre.
domain_locked
controller_port
Puerto asignado a la sonda controller
48000
first_probe_port
Primer puerto asignado a una sonda por la sonda controller. Los puertos se asignan a las siguientes sondas en secuencia. Utilice esta opción si desea que las sondas tengan números de puerto en un intervalo específico para fines del enrutador/cortafuegos.
48000
port_alive_check
Intervalo, en segundos, para la comprobación activa del puerto.
330
port_alive_include_local
Especifica si se desea incluir los puertos que se han registrado desde sondas locales al realizar la comprobación de puertos. Valor:
yes
o
no
.
yes
spooler_port
Puerto asignado a la sonda spooler.
48001
logfile
Nombre del archivo de registro.
controller.log
loglevel
Nivel de registro para los mensajes del robot Valores: de
0
a
8
0
logsize
Tamaño máximo, en kilobytes, del archivo controller.log
100
proxy_log
Nivel de registro para las funciones de proxy en el archivo controller.log. (normalmente, de 1 a 5)
Valores: de 0 a 8
4
origin
Origen de los mensajes que identifica la fuente del mensaje. Se utiliza normalmente para datos de partición en un entorno multicliente. Valor: Cualquier cadena. Normalmente, un nombre concentrador o robot.
Nombre del concentrador padre
os_user1
Etiqueta agregada por la sonda controller al enviar mensajes internos directamente al concentrador y por la sonda spooler al poner en cola cualquier mensaje.
os_user2
Etiqueta agregada por la sonda controller al enviar mensajes internos directamente al concentrador y por la sonda spooler al poner en cola cualquier mensaje.
capture_output
Crea canalizaciones para que cada sonda iniciada capture los resultados que se envíen a stdout o stderr. Este resultado se añade al archivo de registro de la sonda. Valor:
yes
o
no.
La activación de esta funcionalidad introduce una sobrecarga extra en la sonda. En sistemas Windows, las sondas deben heredar recursos de la sonda controller, En algunas situaciones, esto puede evitar que el controlador termine de forma adecuada.
no
default_fail_window
Número de segundos que deben transcurrir en la sonda hasta el restablecimiento del contador de reinicios. Este valor de configuración se aplica a todas las sondas que gestiona el robot. Este valor se puede anular para una determinada sonda especificando
fail_window
en la configuración de la sonda.
15
default_priority_level
Valor numérico que especifica el nivel de prioridad de todas las sondas que no tienen el valor establecido a nivel de sonda. Se inician primero las sondas con un nivel de prioridad más bajo, con un retraso entre los diferentes niveles de prioridad.
La propiedad de sonda
start_after
ofrece más control sobre el orden de inicio de las sondas.
Ninguno
max_restarts
Número de inicios permitidos antes de que una sonda se establezca como estado Error. El contador de reinicio se restablece para una sonda si se ejecuta durante más tiempo que fail_window.
proxy_mode
Permite que el controlador actúe como un proxy para las sondas. Cuando se activa, todas las funciones de devolución de llamada a las sondas se llevan a cabo a través del puerto del controlador. Valor:
0
(desactivado) o
1
(activado)
0
suspend_on_loopback_only
Suspende todas las sondas si el bucle es la única red. Solo Windows. Valores:
  • Yes:
    El robot se establece en el modo de "suspensión" para que todas las sondas se suspendan hasta que haya de nuevo una conexión de red disponible.
  • No:
    Los mensajes de alarma se ponen en cola y se vacian cuando hay una conexión de red de nuevo disponible.
yes
set_qos_source
Indica si la sonda debe utilizar el nombre del robot como fuente de calidad del servicio en lugar del nombre de host. Este atributo no es compatible con todas las sondas. Valor:
yes
o
no
.
no
system_uptime_qos
Especifica si se desea enviar la calidad del servicio asincrónica cuando el robot está activo o inactivo. Valor:
yes
o
no
.
no
alarm_level_comfail_restart
La severidad de la alarma que se envía tras el cuarto intento erróneo de comunicación con la sonda que tiene un puerto registrado. La sonda controller reinicia la sonda después de enviar la alarma. Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
sin alarmas
alarm_level_dispatch_error
El nivel de severidad de una alarma interna indica un error en el sistema de socket. Esta alarma solo se envía si se establece el nivel de registro en un número mayor de 0. Valores:
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
grave
alarm_level_max_restarts
El nivel de severidad de una alarma se envía cuando una sonda se reinicia y se termina rápidamente 10 veces. Valores:
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
grave
alarm_level_postinstall
El nivel de seguridad de la alarma que se envía cuando se produce un error durante la distribución de la sonda. Este error se produce cuando la sonda controller no puede iniciar un script posterior a la instalación tras la distribución de una distribución de paquete o si el script posterior a la instalación no devuelve un estado de "tarea correcta" (0). Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
sin alarmas
alarm_level_request_error
El nivel de severidad de la alarma que se envía cuando el controlador no puede emitir una solicitud a distsrv. Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
grave
alarm_level_start_error
El nivel de severidad de una alarma que se envía cuando no se puede iniciar una sonda. Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
grave
alarm_level_suspended
El nivel de severidad de una alarma que se envía cuando se anula el inicio de una sonda porque el estado del robot es Suspendido. Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
sin alarmas
alarm_level_timed_error_return
El nivel de severidad de una alarma que se envía cuando se anula el inicio de una sonda porque el estado del robot es Suspendido. Valores:
  • sin alarmas
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
de advertencia
alarm_level_timed_not_finished
El nivel de severidad de una alarma que se envía cuando una sonda cronometrada no finaliza a la siguiente hora de inicio programada. La sonda cronometrada se reinicia cuando esto ocurre. Valores:
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
de advertencia
alarm_level_unregister
El nivel de severidad de una alarma que se envía cuando una sonda elimina el registro del puerto pero no termina. Valores:
  • desactivada
  • informativa
  • de advertencia
  • leve
  • grave
  • crítica
grave
alarm_timeout
Intervalo, en minutos, en el cual se repiten las alarmas para las sondas en el estado Error.
wait_after_unregister
Tiempo de espera, en segundos, después de que una sonda elimine un puerto del registro. Si el proceso todavía está en ejecución, se emite la alarma sin registro y se establece el estado Error para la sonda.
audit
Indica cuando y donde se envían mensajes de auditoría. Valores:
  • post:
    envía un mensaje de auditoría en eventos del controlador
  • yes:
    registra eventos del controlador en el archivo local
  • post_detail
    : envía un evento de auditoría en los eventos de controlador y cambios en el archivo de configuración
  • file_detail
    : registra los eventos de controlador y los eventos de cambios de archivo en el archivo local
audit_checkpoint_count
Número de versiones de los archivos de configuración que deben conservarse.
audit_max_config_size
Tamaño máximo, en bytes, del archivo de configuración para la comparación del contenido
config_locking
Señala las herramientas de configuración que se deben bloquear durante el inicio y que se deben descartar tras la finalización. Valor:
yes
o
no
.
no
config_lock_timeout
Tiempo de espera, en segundos, para el bloqueo del archivo de configuración.
360
startup_timeout
Si el robot es un robot del concentrador, especifica el tiempo que debe esperar la sonda controller (en segundos) para que la sonda hub se inicie antes de iniciar otras sondas. Si se alcanza el tiempo de espera, se produce una conmutación por error en el robot.
Implementación del archivo XML
Para implementar robots mediante USM, consulte el tema Implementación de robots en USM.
Para implementar robots utilizando el motor automated_deployment, copie el archivo host-profiles.xml en el directorio de la sonda automated_deployment_engine. De forma predeterminada, este directorio es:
  • Windows
    : C:\Archivos de programa\(x86)\Nimsoft\probes\service\automated_deployment_engine
  • Linux
    ,
    Solaris
    ,
    AIX y HP-UX
    : /opt/nimsoft/probes/service/automated_deployment_engine
Una vez se ha actualizado el archivo host-profiles.xml, la implementación comienza automáticamente. Después de procesar el archivo host-profiles.xml, automated_deployment_engine lo renombrará a
host-profiles-AAAA-MM-DD_HH-mm-ss
para reflejar la fecha y la hora de la implementación. Al renombrar el archivo también se garantizará que la implementación no se reiniciará automáticamente si la sonda automated_deployment_engine se reinicia.
Notas de la implementación
  • La sonda automated_deployment_engine no puede implementar robots desde un archivo host-profiles.xml sin cambios. Para reiniciar una distribución, elimine la fecha y la hora del nombre del archivo y cambie el tamaño del archivo por una cantidad nominal (por ejemplo, edite el archivo y agregue una línea adicional). La implementación empezará 30 segundos después del cambio.
  • Tras la implementación de un robot, la exploración espera que se inicie el robot antes de comunicar el estado en la ficha del historial. El tiempo de espera predeterminado se establece en 100 segundos. Durante este período de 100 segundos, la sonda automated_deployment_engine sondeará al robot cada 25 segundos. Si el robot no responde después de 100 segundos, el concentrador considera que el robot se encuentra inactivo.
    La clave
    verifyDelay
    que se encuentra en el archivo de configuración automated_deployment_engine (
    automated_deployment_engine.cfg
    ) controla el tiempo de retraso. El cambiar este valor también cambiará el intervalo de sondeo, que siempre es 1/4 del tiempo de retraso.
  • Se puede ver el archivo de registro automated_deployment_engine (
    automated_deployment_engine.log
    ) para obtener más información sobre la actividad de la implementación del robot.
    Se puede utilizar el comando
    tail
    en los sistemas de Unix para ver el final del archivo de texto.
  • La sonda automated_deployment_engine instala los robots en grupos. El número de núcleos de CPU en el concentrador donde se está ejecutando la exploración determina el tamaño del grupo.
  • Si se están utilizando llamadas de
    ADE REST 1.30
    y las contraseñas están cifradas, incluya la siguiente línea en la parte de autenticación del XML de REST:
    "nimcrypt" , "true"
  • Si se implementa más de una instancia de la sonda automated_deployment_engine o si se especifica un concentrador secundario bajo
    hubname
    , las tareas se ejecutarán en este orden:
    1. La instancia principal de la sonda automated_deployment_engine ejecuta la implementación.
    2. La sonda automated_deployment_engine principal implementa las instancias secundarias.
    3. Las instancias de la sonda secundarias ejecutan sus tareas de implementación de robots.