Řešení potíží s holou počítačí pomocí az networkcloud baremetalmachine run-data-extract příkazu

Může docházet k situacím, kdy uživatel potřebuje prozkoumat a vyřešit problémy s místním holým počítačem. Azure Operator Nexus poskytuje předepsané sady příkazů extrakce dat prostřednictvím az networkcloud baremetalmachine run-data-extract. Tyto příkazy umožňují uživatelům získat diagnostická data z holého počítače.

Příkaz vytvoří výstupní soubor obsahující výsledky extrahování dat umístěných v účtu úložiště Azure Správce clusteru.

Než začnete

  • Tento článek předpokládá, že jste nainstalovali rozhraní příkazového řádku Azure a rozšíření rozhraní příkazového networkcloud řádku. Další informace naleznete v tématu Instalace rozšíření rozhraní příkazového řádku.
  • Cílový holý počítač je zapnutý a má readyState nastaven na Hodnotu True.
  • Syntaxe těchto příkazů je založená na verzi rozhraní příkazového az networkcloud řádku verze 0.3.0 nebo novější.

Spuštění příkazu run

Příkaz pro extrakci dat spustí jeden nebo více předdefinovaných skriptů, které extrahují data z holého počítače.

Aktuální seznam podporovaných příkazů:

Syntaxe příkazu je:

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>

Zadejte více příkazů pomocí formátu JSON v --commands možnosti. Každý command určuje příkaz a argumenty. Pro příkaz s více argumenty zadejte jako seznam parametru arguments . Pokyny k vytvoření struktury najdete v --commands stručné dokumentaci k Azure CLI.

Tyto příkazy můžou být dlouhotrvající, takže doporučujeme nastavit --limit-time-seconds alespoň 600 sekund (10 minut). Možnost Debug nebo spuštění více extrakcí může trvat déle než 10 minut.

V odpovědi operace provádí asynchronně a vrátí stavový kód HTTP 202. Podrobnosti o tom, jak sledovat dokončování příkazů a zobrazit výstupní soubor, najdete v části Zobrazení výstupu.

Shromažďování dat podpory hardwaru

Tento příklad spustí hardware-support-data-collection příkaz a získá SysInfo protokoly TTYLog ze serveru Dell. Skript spustí racadm supportassist collect příkaz na určeném holém počítači. Výsledný soubor tar.gz obsahuje výstupy příkazu zip extract v hardware-support-data-<timestamp>.zipsouboru .

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

hardware-support-data-collection Výstup

====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

Příklad seznamu souborů podpory hardwaru shromážděných

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..]

Shromažďování informací o agentech MDE

Data se shromažďují pomocí mde-agent-information příkazu a formátují se jako JSON do /hostfs/tmp/runcommand/mde-agent-information.json. Soubor JSON se nachází v souboru ZIP extrahování dat umístěném v účtu úložiště. Skript spustí posloupnost mdatp příkazů na určeném holém počítači.

Tento příklad spustí mde-agent-information příkaz bez argumentů.

az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
  --resource-group "resourceGroupName" \
  --subscription "subscription" \
  --commands '[{"command":"mde-agent-information"}]' \
  --limit-time-seconds 600

mde-agent-information Výstup

====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

Příklad shromážděného objektu JSON

{
  "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
    }
}

Shromažďování diagnostiky podpory MDE

Data shromážděná z mde-support-diagnostics příkazu používají nástroj MDE Client Analyzer k seskupování informací z mdatp příkazů a relevantních souborů protokolu. Soubor účtu tgz úložiště bude obsahovat soubor s zip názvem mde-support-diagnostics-<hostname>.zip. Měly zip by se odeslat spolu s žádostmi o podporu, aby v případě potřeby mohly podpůrné týmy používat protokoly pro řešení potíží a analýzu původní příčiny.

Tento příklad spustí mde-support-diagnostics příkaz bez argumentů.

az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
  --resource-group "resourceGroupName" \
  --subscription "subscription" \
  --commands '[{"command":"mde-support-diagnostics"}]' \
  --limit-time-seconds 600

mde-support-diagnostics Výstup

====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 

Po stažení souboru výsledků provádění je možné soubory podpory pro analýzu rozbalit.

Příklad seznamu informací shromážděných analyzátorem klienta 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...]

Stav kumulativní aktualizace hardwaru

Data se shromažďují pomocí hardware-rollup-status příkazu a formátují se jako JSON do /hostfs/tmp/runcommand/rollupStatus.json. Soubor JSON se nachází v souboru ZIP extrahování dat umístěném v účtu úložiště. Shromážděná data budou zobrazovat stav subsystémů počítačů.

Tento příklad spustí hardware-rollup-status příkaz bez argumentů.

az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
  --resource-group "resourceGroupName" \
  --subscription "subscription" \
  --commands '[{"command":"hardware-rollup-status"}]' \
  --limit-time-seconds 600

hardware-rollup-status Výstup

====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

Příklad shromážděných JSON

{
	"@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..]

Zobrazení výstupu

Všimněte si poskytnutého odkazu na tar.gz zkomprimovaný soubor z provádění příkazu. Název souboru tar.gz identifikuje soubor v účtu úložiště skupiny prostředků Správce clusteru. Odkaz můžete použít také k přímému přístupu k výstupnímu souboru ZIP. Soubor tar.gz obsahuje také výstupy zkomprimovaného příkazu extrakce souboru. Stáhněte výstupní soubor z objektu blob úložiště do místního adresáře zadáním cesty k adresáři v volitelném argumentu --output-directory.