Solución de problemas de máquina sin sistema operativo mediante el comando az networkcloud baremetalmachine run-data-extract
Puede que haya situaciones en las que un usuario necesite investigar y resolver problemas con una máquina sin sistema operativo local. Azure Operator Nexus proporciona un conjunto preestablecido de comandos de extracción de datos a través de az networkcloud baremetalmachine run-data-extract
. Estos comandos permiten a los usuarios obtener datos de diagnóstico de una máquina sin sistema operativo.
El comando genera un archivo de salida que contiene los resultados de la extracción de datos que se encuentra en la cuenta de Azure Storage del administrador de clústeres.
Antes de empezar
- En este artículo se supone que ha instalado la interfaz de la línea de comandos de Azure y la extensión de la interfaz de la línea de comandos
networkcloud
. Para obtener más información, consulte Cómo instalar extensiones de la CLI. - La máquina de destino sin sistema operativo está activada y tiene el valor readyState establecido en True.
- La sintaxis de estos comandos se basa en la versión 0.3.0 o versiones posteriores de la CLI de
az networkcloud
.
Ejecución de un comando run
El comando run-data-extract ejecuta uno o varios scripts predefinidos para extraer datos de una máquina sin sistema operativo.
Esta es la lista de comandos admitidos:
Colección SupportAssist/TSR para la solución de problemas de Dell
Nombre de comando:hardware-support-data-collection
Argumentos: tipo de registros solicitadosSysInfo
: información del sistemaTTYLog
: almacenamiento de datos de TTYLogDebug
: registros de depuración
Recopilación de información del agente de Microsoft Defender para punto de conexión (MDE)
Nombre de comando:mde-agent-information
Argumentos: NingunoRecopilación de registros de soporte técnico de diagnóstico de MDE
Nombre de comando:mde-support-diagnostics
Argumentos: NingunoRecopilación del estado de acumulación de hardware Dell
Nombre de comando:hardware-rollup-status
Argumentos: Ninguno
La sintaxis del comando es la siguiente:
az networkcloud baremetalmachine run-data-extract --name "<machine-name>" \
--resource-group "<resource-group>" \
--subscription "<subscription>" \
--commands '[{"arguments":["<arg1>","<arg2>"],"command":"<command1>"}]' \
--limit-time-seconds <timeout>
Especifique varios comandos con formato JSON en la opción --commands
. Cada valor command
especifica el comando y los argumentos. En el caso de un comando con varios argumentos, proporciónelos como una lista al parámetro arguments
. Consulte la sintaxis abreviada de la CLI de Azure para obtener instrucciones sobre cómo crear la estructura --commands
.
Estos comandos pueden ser de larga duración, por lo que se recomienda establecer --limit-time-seconds
en al menos 600 segundos (10 minutos). La opción Debug
o la ejecución de varios extractos puede tardar más de 10 minutos.
En la respuesta, la operación se realiza de forma asincrónica y devuelve un código de estado HTTP de 202. Consulte la sección Visualización de la salida para obtener más información sobre cómo realizar un seguimiento de la finalización del comando y ver el archivo de salida.
Recopilación de datos de soporte técnico de hardware
En este ejemplo, se ejecuta el comando hardware-support-data-collection
y se obtienen los registros SysInfo
y TTYLog
del servidor Dell. El script ejecuta un comando racadm supportassist collect
en la máquina sin sistema operativo designada. El archivo tar.gz que se obtiene contiene los resultados del archivo de comandos de extracción comprimido en hardware-support-data-<timestamp>.zip
.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "resourceGroupName" \
--subscription "subscription" \
--commands '[{"arguments":["SysInfo", "TTYLog"],"command":"hardware-support-data-collection"}]' \
--limit-time-seconds 600
Salida hardware-support-data-collection
====Action Command Output====
Executing hardware-support-data-collection command
Getting following hardware support logs: SysInfo,TTYLog
Job JID_814372800396 is running, waiting for it to complete ...
Job JID_814372800396 Completed.
---------------------------- JOB -------------------------
[Job ID=JID_814372800396]
Job Name=SupportAssist Collection
Status=Completed
Scheduled Start Time=[Not Applicable]
Expiration Time=[Not Applicable]
Actual Start Time=[Thu, 13 Apr 2023 20:54:40]
Actual Completion Time=[Thu, 13 Apr 2023 20:59:51]
Message=[SRV088: The SupportAssist Collection Operation is completed successfully.]
Percent Complete=[100]
----------------------------------------------------------
Deleting Job JID_814372800396
Collection successfully exported to /hostfs/tmp/runcommand/hardware-support-data-2023-04-13T21:00:01.zip
================================
Script execution result can be found in storage account:
https://cm2p9bctvhxnst.blob.core.windows.net/bmm-run-command-output/dd84df50-7b02-4d10-a2be-46782cbf4eef-action-bmmdataextcmd.tar.gz?se=2023-04-14T01%3A00%3A15Zandsig=ZJcsNoBzvOkUNL0IQ3XGtbJSaZxYqmtd%2BM6rmxDFqXE%3Dandsp=randspr=httpsandsr=bandst=2023-04-13T21%3A00%3A15Zandsv=2019-12-12
Lista de ejemplos de archivos de soporte técnico de hardware recopilados
Archive: TSR20240227164024_FM56PK3.pl.zip
creating: tsr/hardware/
creating: tsr/hardware/spd/
creating: tsr/hardware/sysinfo/
creating: tsr/hardware/sysinfo/inventory/
inflating: tsr/hardware/sysinfo/inventory/sysinfo_CIM_BIOSAttribute.xml
inflating: tsr/hardware/sysinfo/inventory/sysinfo_CIM_Sensor.xml
inflating: tsr/hardware/sysinfo/inventory/sysinfo_DCIM_View.xml
inflating: tsr/hardware/sysinfo/inventory/sysinfo_DCIM_SoftwareIdentity.xml
inflating: tsr/hardware/sysinfo/inventory/sysinfo_CIM_Capabilities.xml
inflating: tsr/hardware/sysinfo/inventory/sysinfo_CIM_StatisticalData.xml
creating: tsr/hardware/sysinfo/lcfiles/
inflating: tsr/hardware/sysinfo/lcfiles/lclog_0.xml.gz
inflating: tsr/hardware/sysinfo/lcfiles/curr_lclog.xml
creating: tsr/hardware/psu/
creating: tsr/hardware/idracstateinfo/
inflating: tsr/hardware/idracstateinfo/avc.log
extracting: tsr/hardware/idracstateinfo/avc.log.persistent.1
[..snip..]
Recopilación de información del agente de MDE
Se recopilan datos con el comando mde-agent-information
y se formatean como JSON en /hostfs/tmp/runcommand/mde-agent-information.json
. El archivo JSON se encuentra en el archivo ZIP de extracción de datos ubicado en la cuenta de almacenamiento. El script ejecuta una secuencia de comandos mdatp
en la máquina sin sistema operativo designada.
En este ejemplo, se ejecuta el comando mde-agent-information
sin argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "resourceGroupName" \
--subscription "subscription" \
--commands '[{"command":"mde-agent-information"}]' \
--limit-time-seconds 600
Salida mde-agent-information
====Action Command Output====
Executing mde-agent-information command
MDE agent is running, proceeding with data extract
Getting MDE agent information for bareMetalMachine
Writing to /hostfs/tmp/runcommand
================================
Script execution result can be found in storage account:
https://cmzhnh6bdsfsdwpbst.blob.core.windows.net/bmm-run-command-output/f5962f18-2228-450b-8cf7-cb8344fdss63b0-action-bmmdataextcmd.tar.gz?se=2023-07-26T19%3A07%3A22Z&sig=X9K3VoNWRFP78OKqFjvYoxubp65BbNTq%2BGnlHclI9Og%3D&sp=r&spr=https&sr=b&st=2023-07-26T15%3A07%3A22Z&sv=2019-12-12
Ejemplo de objeto JSON recopilado
{
"diagnosticInformation": {
"realTimeProtectionStats": $real_time_protection_stats,
"eventProviderStats": $event_provider_stats
},
"mdeDefinitions": $mde_definitions,
"generalHealth": $general_health,
"mdeConfiguration": $mde_config,
"scanList": $scan_list,
"threatInformation": {
"list": $threat_info_list,
"quarantineList": $threat_info_quarantine_list
}
}
Recopilación de diagnósticos de soporte técnico de MDE
Los datos que se recopilan del comando mde-support-diagnostics
usan la herramienta de analizador de clientes de MDE para agrupar la información de los comandos mdatp
y de los archivos de registro pertinentes. El archivo de la cuenta de almacenamiento tgz
contendrá un archivo zip
denominado mde-support-diagnostics-<hostname>.zip
. El archivo zip
debe enviarse junto con las solicitudes de soporte técnico para asegurarse de que los equipos correspondientes puedan usar los registros para la solución de problemas y el análisis de la causa principal, si es necesario.
En este ejemplo, se ejecuta el comando mde-support-diagnostics
sin argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "resourceGroupName" \
--subscription "subscription" \
--commands '[{"command":"mde-support-diagnostics"}]' \
--limit-time-seconds 600
Salida mde-support-diagnostics
====Action Command Output====
Executing mde-support-diagnostics command
[2024-01-23 16:07:37.588][INFO] XMDEClientAnalyzer Version: 1.3.2
[2024-01-23 16:07:38.367][INFO] Top Command output: [/tmp/top_output_2024_01_23_16_07_37mel0nue0.txt]
[2024-01-23 16:07:38.367][INFO] Top Command Summary: [/tmp/top_summary_2024_01_23_16_07_370zh7dkqn.txt]
[2024-01-23 16:07:38.367][INFO] Top Command Outliers: [/tmp/top_outlier_2024_01_23_16_07_37aypcfidh.txt]
[2024-01-23 16:07:38.368][INFO] [MDE Diagnostic]
[2024-01-23 16:07:38.368][INFO] Collecting MDE Diagnostic
[2024-01-23 16:07:38.613][WARNING] mde is not running
[2024-01-23 16:07:41.343][INFO] [SLEEP] [3sec] waiting for agent to create diagnostic package
[2024-01-23 16:07:44.347][INFO] diagnostic package path: /var/opt/microsoft/mdatp/wdavdiag/5b1edef9-3b2a-45c1-a45d-9e7e4b6b869e.zip
[2024-01-23 16:07:44.347][INFO] Successfully created MDE diagnostic zip
[2024-01-23 16:07:44.348][INFO] Adding mde_diagnostic.zip to report directory
[2024-01-23 16:07:44.348][INFO] Collecting MDE Health
[...snip...]
================================
Script execution result can be found in storage account:
https://cmmj627vvrzkst.blob.core.windows.net/bmm-run-command-output/7c5557b9-b6b6-a4a4-97ea-752c38918ded-action-bmmdataextcmd.tar.gz?se=2024-01-23T20%3A11%3A32Z&sig=9h20XlZO87J7fCr0S1234xcyu%2Fl%2BVuaDh1BE0J6Yfl8%3D&sp=r&spr=https&sr=b&st=2024-01-23T16%3A11%3A32Z&sv=2019-12-12
Después de descargar el archivo de resultados de ejecución, los archivos de soporte técnico se pueden descomprimir para analizarlos.
Lista de ejemplos de información recopilados por la herramienta de analizador de clientes de MDE
Archive: mde-support-diagnostics-rack1compute02.zip
inflating: mde_diagnostic.zip
inflating: process_information.txt
inflating: auditd_info.txt
inflating: auditd_log_analysis.txt
inflating: auditd_logs.zip
inflating: ebpf_kernel_config.txt
inflating: ebpf_enabled_func.txt
inflating: ebpf_syscalls.zip
inflating: ebpf_raw_syscalls.zip
inflating: messagess.zip
inflating: conflicting_processes_information.txt
[...snip...]
Estado de acumulación del hardware
Se recopilan datos con el comando hardware-rollup-status
y se formatean como JSON en /hostfs/tmp/runcommand/rollupStatus.json
. El archivo JSON se encuentra en el archivo ZIP de extracción de datos ubicado en la cuenta de almacenamiento. Los datos recopilados mostrarán el estado de los subsistemas de la máquina.
En este ejemplo, se ejecuta el comando hardware-rollup-status
sin argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "resourceGroupName" \
--subscription "subscription" \
--commands '[{"command":"hardware-rollup-status"}]' \
--limit-time-seconds 600
Salida hardware-rollup-status
====Action Command Output====
Executing hardware-rollup-status command
Getting rollup status logs for b37dev03a1c002
Writing to /hostfs/tmp/runcommand
================================
Script execution result can be found in storage account:
https://cmkfjft8twwpst.blob.core.windows.net/bmm-run-command-output/20b217b5-ea38-4394-9db1-21a0d392eff0-action-bmmdataextcmd.tar.gz?se=2023-09-19T18%3A47%3A17Z&sig=ZJcsNoBzvOkUNL0IQ3XGtbJSaZxYqmtd%3D&sp=r&spr=https&sr=b&st=2023-09-19T14%3A47%3A17Z&sv=2019-12-12
Ejemplo de JSON recopilado
{
"@odata.context" : "/redfish/v1/$metadata#DellRollupStatusCollection.DellRollupStatusCollection",
"@odata.id" : "/redfish/v1/Systems/System.Embedded.1/Oem/Dell/DellRollupStatus",
"@odata.type" : "#DellRollupStatusCollection.DellRollupStatusCollection",
"Description" : "A collection of DellRollupStatus resource",
"Members" :
[
{
"@odata.context" : "/redfish/v1/$metadata#DellRollupStatus.DellRollupStatus",
"@odata.id" : "/redfish/v1/Systems/System.Embedded.1/Oem/Dell/DellRollupStatus/iDRAC.Embedded.1_0x23_SubSystem.1_0x23_Current",
"@odata.type" : "#DellRollupStatus.v1_0_0.DellRollupStatus",
"CollectionName" : "CurrentRollupStatus",
"Description" : "Represents the subcomponent roll-up statuses.",
"Id" : "iDRAC.Embedded.1_0x23_SubSystem.1_0x23_Current",
"InstanceID" : "iDRAC.Embedded.1#SubSystem.1#Current",
"Name" : "DellRollupStatus",
"RollupStatus" : "Ok",
"SubSystem" : "Current"
},
{
"@odata.context" : "/redfish/v1/$metadata#DellRollupStatus.DellRollupStatus",
"@odata.id" : "/redfish/v1/Systems/System.Embedded.1/Oem/Dell/DellRollupStatus/iDRAC.Embedded.1_0x23_SubSystem.1_0x23_Voltage",
"@odata.type" : "#DellRollupStatus.v1_0_0.DellRollupStatus",
"CollectionName" : "VoltageRollupStatus",
"Description" : "Represents the subcomponent roll-up statuses.",
"Id" : "iDRAC.Embedded.1_0x23_SubSystem.1_0x23_Voltage",
"InstanceID" : "iDRAC.Embedded.1#SubSystem.1#Voltage",
"Name" : "DellRollupStatus",
"RollupStatus" : "Ok",
"SubSystem" : "Voltage"
},
[..snip..]
Visualización de la salida
Anote el vínculo proporcionado al archivo comprimido tar.gz desde la ejecución del comando. El nombre de archivo tar.gz identifica al archivo en la cuenta de almacenamiento del grupo de recursos del administrador de clústeres. También puede usar el vínculo para acceder directamente al archivo ZIP de salida. El archivo tar.gz también contiene la salida del archivo de comandos de extracción comprimido. Especifique la ruta de acceso del directorio en el argumento --output-directory
opcional para descargar el archivo de salida desde el blob de almacenamiento a un directorio local.