Ejecuta un descubrimiento de invitado

En este documento, se describen los pasos para ejecutar los diferentes métodos de descubrimiento de invitados que proporciona la CLI de mcdc.

Descripción general

El descubrimiento de invitados te permite analizar y recopilar datos sobre las aplicaciones en ejecución en tus máquinas, lo que incluye instancias de máquina virtual (VM) y servidores físicos. También recopila datos sobre la configuración de la máquina, el hardware y la red, así como archivos, servicios y procesos abiertos.

En el caso de las máquinas que se ejecutan en plataformas en las que la CLI de cliente de descubrimiento del Centro de migraciones no admite el descubrimiento de inventario, como las VMs que se ejecutan en Azure o las máquinas que se ejecutan de forma local, así como para una evaluación completa de las VM que se ejecutan en VMware y AWS, puedes ejecutar un descubrimiento de invitado. El descubrimiento de invitados usa una secuencia de comandos de recopilación de invitados para recopilar datos sobre la máquina y los escribe en un archivo tar de colección de invitados para máquinas de Linux o en un archivo ZIP para máquinas con Windows.

La máquina que aloja la CLI de mcdc sube la secuencia de comandos a la máquina de destino, la ejecuta y, luego, descarga los resultados. Puedes ejecutar la secuencia de comandos de forma local en la máquina de destino o de forma remota. Según tu infraestructura, puedes elegir usar la CLI de mcdc de las siguientes maneras:

  • Para las VM de Linux y Windows implementadas en VMware, la CLI de mcdc admite la ejecución remota con el comando discover vsphere.
  • En el caso de las máquinas de Linux a las que se puede acceder con la CLI de mcdc, puedes realizar un descubrimiento remoto mediante SSH con el comando discover ssh.
  • En el caso de las máquinas de Windows a las que se puede acceder con la CLI de mcdc, puedes realizar un descubrimiento remoto mediante Windows Management Instrumentation (WMI) con el comando discover wmi.
  • En las máquinas de Linux y Windows sin conexión a la CLI de mcdc, puedes descargar y ejecutar las secuencias de comandos de la colección de invitados de forma local y, luego, importar de forma manual los datos recopilados a la máquina que aloja la CLI de mcdc.

La secuencia de comandos de la recopilación de invitados ejecuta una serie de comandos para recopilar información sobre la máquina de origen y también recopila información de varios archivos en la máquina.

Antes de comenzar

  1. Revisa los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Revisa los requisitos para descargar y ejecutar las secuencias de comandos de la colección invitada.
  3. Completa los pasos para descargar la CLI de mcdc.

Recopila datos de forma remota con herramientas de VMware

En el caso de las VM alojadas en vSphere, la CLI de mcdc puede usar herramientas de VMware para implementar y ejecutar las secuencias de comandos de la colección de forma remota en las VM de Linux y Windows. Cuando se usan las herramientas de VMware, la herramienta de la CLI de mcdc hace lo siguiente:

  • Sube la secuencia de comandos de la recopilación a la VM.
  • Ejecuta la secuencia de comandos en la VM.
  • Descarga e importa los resultados.

Se requieren dos conjuntos de credenciales para recopilar datos de forma remota:

  • El nombre de usuario del servidor de vCenter que se pasa a la CLI de mcdc para conectarse a vSphere, que debe tener los siguientes privilegios en la VM:
    • Modificaciones de las operaciones de invitado
    • Ejecución del programa de operaciones de invitado
    • Consultas de operaciones de invitado
  • Credenciales de usuario para la VM:
    • En Windows, debes tener privilegios de administrador.
    • En Linux, no se requiere acceso con permisos de administrador, pero este último permite que la CLI de mcdc recopile los datos necesarios para realizar una evaluación completa.

Para recopilar datos con herramientas de VMware, sigue estos pasos:

  1. Accede a la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Asegúrate de que la VM esté encendida.
  4. Ejecuta el descubrimiento de invitado:

    Linux

    ./mcdc discover vsphere guest --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER VM_ID

    Windows

    mcdc.exe discover vsphere guest --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER VM_ID

    Reemplaza lo siguiente:

    • VCENTER_USER: el usuario del servidor de vCenter.
    • VM_USER: el usuario de la VM
    • VM_ID: Es el nombre de la VM o MOREF.
  5. Cuando se te solicite, ingresa la contraseña de VCENTER_USER y VM_USER.

Para recopilar datos de varias VM de vSphere en paralelo mediante las herramientas de VMware, sigue estos pasos:

  1. Accede a la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Asegúrate de que todas las VMs estén encendidas.
  4. Ejecuta el descubrimiento de invitado:

    Linux

    ./mcdc discover vsphere guest all --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS

    Windows

    mcdc.exe discover vsphere guest all --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS

    Reemplaza TIMEOUT_IN_SECONDS por el tiempo de espera en segundos.

    De manera opcional, limita el descubrimiento solo a las VM de Windows o Linux con la marca --os-family, o cambia el nivel de paralelismo con la marca --max-parallelism.

  5. Cuando se te solicite, ingresa la contraseña de VCENTER_USER y VM_USER.

  6. También puedes definir el alcance del descubrimiento en VMs específicas mediante la marca --path, como se describe para VMware en la sección Ejecuta un descubrimiento de inventario.

Puedes exportar y evaluar estos datos recopilados en línea en el Centro de migraciones o ejecutar una evaluación sin conexión.

Recopila datos de forma remota a través de SSH

Si la máquina que aloja la CLI de mcdc tiene acceso SSH a la máquina Linux de destino (no se admiten máquinas de Windows), la CLI de mcdc puede conectarse a la máquina de destino a través de SSH para recopilar datos.

Cuando usas SSH, la CLI de mcdc hace lo siguiente:

  1. Sube la secuencia de comandos de la recopilación a la máquina.
  2. Ejecuta la secuencia de comandos en la máquina con las credenciales de usuario de la máquina que se pasan a la CLI de mcdc.

  3. Descarga e importa los resultados.

Modos de SSH compatibles

Si usas la CLI de mcdc en una máquina Linux, puedes utilizar dos modos para ejecutar SSH:

  • Predeterminado: Usa el objeto binario ssh y la configuración en la máquina CLI de mcdc. El modo predeterminado puede usar los archivos de configuración de SSH local de forma predeterminada, como ~/.ssh/config y ~/.ssh/known_hosts, de la estación de trabajo que lo aloja.

    Ingresa la contraseña cuando se te solicite o usa sshpass para pasar la contraseña o la frase de contraseña del archivo de claves privadas en la línea de comandos. Por ejemplo:

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Reemplaza IP_ADDRESS por la dirección IP de la máquina.

  • Incorporado: Usa la biblioteca SSH integrada. Este modo te permite usar el cliente SSH incorporado si el modo predeterminado funciona mal en tu entorno. Sin embargo, no usa los archivos de configuración SSH locales de forma predeterminada. Puedes usar la marca -i para especificar un archivo de clave privada SSH.

Si usas la CLI de mcdc en una máquina con Windows, solo se admite el modo incorporado.

Cómo ejecutar la colección

Para recopilar datos a través de SSH, sigue estos pasos:

  1. Accede a la máquina Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Recopilar datos:

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Reemplaza IP_HOSTNAME por el nombre de host de IP de la máquina.

  4. El archivo de claves privadas SSH del usuario que invoca la CLI de mcdc se usa para la autenticación SSH.

    Cuando se te solicite, ingresa el nombre de usuario de una cuenta en la máquina Linux. La secuencia de comandos de recopilación se ejecuta con estas credenciales. Si la clave privada SSH del usuario que invoca la CLI de mcdc no se puede autenticar en la máquina con el nombre de usuario, también se te solicitará una contraseña.

Situaciones adicionales cuando se usa SSH

Consulta las siguientes situaciones en las que podrías necesitar modificar el comando:

  • Para especificar el usuario de la máquina con el modo predeterminado, usa la marca -u:

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

    Reemplaza USER por el usuario de la máquina.

    Cuando se te solicite, ingresa la contraseña del usuario.

  • Para especificar el modo detallado, usa la marca -v:

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

  • Para especificar el archivo de clave privada SSH, usa la marca -i. Por ejemplo, para especificar .ssh/my_private_key, haz lo siguiente:

    Linux

    ./mcdc discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

  • Para especificar la contraseña en la línea de comandos, usa el modo incorporado:

    Linux

    ./mcdc discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME

    Windows

    mcdc.exe discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME

    Debido a que la forma incorporada del comando no usa los archivos de configuración SSH locales de forma predeterminada, asegúrate de que el usuario que especifiques en el comando pueda acceder a la máquina a través de SSH y tenga privilegios en la máquina para ejecutar la secuencia de comandos de recopilación.

  • Para especificar el archivo de claves privadas SSH con el modo incorporado, usa la marca -i:

    Linux

    ./mcdc discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

    Windows

    mcdc.exe discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

  • El comando mcdc de la CLI te permite especificar la mayoría de las marcas SSH. Luego, pasa estas marcas al comando ssh con la marca -a o --ssh-args. Por ejemplo, para usar un proxy de socks:

    Linux

    ./mcdc discover ssh -u USER -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p' IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p' IP_HOSTNAME

Puedes exportar y evaluar estos datos recopilados en línea en el Centro de migraciones o ejecutar una evaluación sin conexión.

Recopilar datos de forma remota mediante WMI

Si deseas realizar un descubrimiento de invitado en una máquina Windows de destino compatible con WMI, puedes usar el comando mcdc discover wmi en la máquina con Windows que aloja la CLI de mcdc. La recopilación de WMI solo es compatible con la versión de Windows de la CLI de mcdc.

Cuando se usa WMI, la CLI de mcdc hace lo siguiente:

  1. Sube la secuencia de comandos de la recopilación a la máquina.
  2. Ejecuta la secuencia de comandos en la máquina con las credenciales de usuario de la máquina pasadas a la CLI de mcdc.

  3. Descarga e importa los resultados.

Para recopilar datos a través de WMI, sigue estos pasos:

  1. Accede a la máquina de Windows que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Recopilar datos:

    mcdc.exe discover wmi IP_HOSTNAME
    

    Reemplaza IP_HOSTNAME por el nombre de host de IP de la máquina.

  4. Ingresa tus credenciales cuando se te soliciten.

Recopilar datos en máquinas individuales de Linux

Para realizar una recopilación de invitados de manera local en una máquina Linux, puedes ejecutar la secuencia de comandos mcdc-linux-collect.sh. Luego, puedes copiar el archivo tar que genera la secuencia de comandos en la máquina que aloja la CLI de mcdc y, luego, importarlo con el comando discover import.

Por lo general, debes ejecutar la secuencia de comandos si especificas la opción sudo. De manera opcional, puedes ejecutar la secuencia de comandos con los privilegios del usuario que ejecuta la CLI de mcdc. Sin embargo, es posible que la secuencia de comandos no pueda recopilar todos los datos necesarios.

  1. Accede a tu máquina.
  2. Cambia al directorio en el que descargaste la secuencia de comandos de la colección de invitados.
  3. Ejecuta la secuencia de comandos de recopilación en la máquina:

    sudo ./mcdc-linux-collect.sh
    

    La secuencia de comandos genera un archivo tar llamado mcdc-collect-MACHINE_NAME-TIMESTAMP.tar en el directorio actual. La marca de tiempo tiene el formato YYYY-MM-DD-hh-mm.

    Haz clic para ver el formato de archivo tar de la colección de invitados

    El archivo tar tiene el siguiente formato:

    collect.log # Log output of the script
     files # Directory containing files with their full path from root. For example:
       |- etc/fstab
       |- etc/hostname
       |- etc/network/interfaces
       |- ...
     commands # Output of commands run by the script:
       |- dpkg
       |- netstat
       |- ps
       |- ...
     found_paths # Text file with the list of installation directories
     machinename # Text file with machine name
     ostype # Text file with operating system type (Linux)
     timestamp # Text file with collection timestamp
     version # Text file with the version of the script
     

    De manera opcional, puedes pasar el argumento --output y especificar la ruta en la que deseas guardar el archivo tar.

  4. Copia los datos recopilados de la máquina de destino a la máquina anfitrión.

  5. Importa los datos recopilados en la máquina anfitrión:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Reemplaza PATH_TO_TAR por la ruta de acceso al archivo tar.

Puedes exportar y evaluar estos datos recopilados en línea en el Centro de migraciones o ejecutar una evaluación sin conexión.

Recopilar datos en una máquina de Windows individual

Para realizar una recopilación de invitados de manera local en una máquina Windows, puedes ejecutar la secuencia de comandos mcdc-windows-collect.ps1. Luego, puedes copiar el archivo ZIP que genera la secuencia de comandos en la máquina que aloja la CLI de mcdc y, luego, importarlo con el comando discover import.

  1. Accede a tu máquina.
  2. Abre PowerShell mediante la opción Ejecutar como administrador.
  3. Cambia al directorio en el que descargaste la CLI de mcdc.
  4. Ejecuta la secuencia de comandos de recopilación en la máquina:

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. La secuencia de comandos genera un archivo ZIP llamado mcdc-collect-MACHINE_NAME-TIMESTAMP.zip en el directorio actual.

    De manera opcional, puedes incluir una ruta de salida para especificar una ubicación diferente:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importa los datos recopilados en la máquina anfitrión:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Reemplaza PATH_TO_TAR por la ruta de acceso al archivo tar.

Puedes exportar los datos recopilados y evaluarlos en línea en el Centro de migraciones o ejecutar una evaluación sin conexión.

¿Qué sigue?