Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Solucionar problemas de máquinas bare metal usando o
Pode haver situações em que um usuário precise investigar e resolver problemas com uma máquina bare metal local. O Azure Operator Nexus fornece um conjunto prescrito de comandos de extração de dados por meio az networkcloud baremetalmachine run-data-extract
do . Esses comandos permitem que os usuários obtenham dados de diagnóstico de uma máquina bare metal.
O comando produz um arquivo de saída contendo os resultados da extração de dados. Por padrão, os dados são enviados para a conta de armazenamento do Gerenciador de Clusters. Há também um método de visualização onde os usuários podem configurar o recurso de cluster com uma conta de armazenamento e identidade que tem acesso à conta de armazenamento para receber a saída.
Pré-requisitos
- Este artigo pressupõe que a interface de linha de comando do Azure e a extensão de interface de linha de
networkcloud
comando estejam instaladas. Para obter mais informações, consulte Como instalar extensões CLI. - A máquina bare metal alvo está ligada e pronta.
- A sintaxe para esses comandos é baseada na versão 0.3.0+ da
az networkcloud
CLI. - Obtenha o nome do grupo de Recursos Gerenciados por Cluster (cluster_MRG) que você criou para o recurso de Cluster.
Enviar saída de comando para uma conta de armazenamento especificada pelo usuário
Para acessar a saída, os usuários precisam do acesso apropriado ao blob de armazenamento. Para obter informações sobre como atribuir funções a contas de armazenamento, consulte Atribuir uma função do Azure para acesso a dados de blob.
Limpe CommandOutputSettings do cluster
Para alterar o cluster de uma identidade atribuída pelo usuário para uma identidade atribuída pelo sistema, o CommandOutputSettings deve primeiro ser limpo usando o comando na próxima seção e, em seguida, definido usando esse comando.
O CommandOutputSettings pode ser limpo, direcionando a saída run-data-extract de volta para o armazenamento do gerenciador de cluster. No entanto, não é recomendado, pois é menos seguro, e a opção será removida em uma versão futura.
No entanto, o CommandOutputSettings precisa ser limpo se mudar de uma identidade atribuída pelo usuário para uma identidade atribuída pelo sistema.
Use este comando para limpar o CommandOutputSettings:
az rest --method patch \
--url "https://management.azure.com/subscriptions/<subscription>/resourceGroups/<cluster-resource-group>/providers/Microsoft.NetworkCloud/clusters/<cluster-name>?api-version=2024-08-01-preview" \
--body '{"properties": {"commandOutputSettings":null}}'
MÉTODO DEPRECATED: Verificar o acesso à conta de armazenamento do Cluster Manager
Importante
A conta de armazenamento do Cluster Manager deve ser removida o mais tardar em abril de 2025. Se você estiver usando esse método hoje para saída de comando, considere converter para usar uma conta de armazenamento fornecida pelo usuário.
Se estiver usando o método de armazenamento do Gerenciador de Clusters, verifique se você tem acesso à conta de armazenamento do Gerenciador de Clusters:
- No portal do Azure, navegue até a conta de Armazenamento do Gerenciador de Clusters.
- Nos detalhes da conta de armazenamento, selecione Navegador de armazenamento no menu de navegação do lado esquerdo.
- Nos detalhes do navegador de armazenamento, selecione em Contêineres de Blob.
- Se você encontrar um
403 This request is not authorized to perform this operation.
ao acessar a conta de armazenamento, as configurações de firewall da conta de armazenamento precisam ser atualizadas para incluir o endereço IP público. - Solicite acesso criando um tíquete de suporte via Portal no recurso Gerenciador de Cluster. Forneça o endereço IP público que requer acesso.
Executar um comando run-data-extract
O comando run data extract executa um ou mais scripts predefinidos para extrair dados de uma máquina bare metal.
Aviso
A Microsoft não fornece nem oferece suporte a chamadas de API do Operator Nexus que esperam que o nome de usuário e/ou senha de texto simples sejam fornecidos. Observe que todos os valores enviados são registrados e são considerados segredos expostos, que devem ser girados e revogados. O método documentado da Microsoft para usar segredos com segurança é armazená-los em um Cofre de Chaves do Azure. Se você tiver dúvidas ou preocupações específicas, envie uma solicitação por meio do portal do Azure.
A lista atual de comandos suportados são
Coleção SupportAssist/TSR para solução de problemas da Dell
Nome do comando:hardware-support-data-collection
Argumentos: Tipo de logs solicitados-
SysInfo
- Sistema de Informação -
TTYLog
- Armazenamento de dados TTYLog -
Debug
- depurar logs
-
Coletar informações do agente do Microsoft Defender for Endpoints (MDE)
Nome do comando:mde-agent-information
Argumentos: NenhumColetar logs de suporte de diagnóstico MDE
Nome do comando:mde-support-diagnostics
Argumentos: NenhumColetar o status do pacote cumulativo de hardware da Dell
Nome do comando:hardware-rollup-status
Argumentos: NenhumGerar relatório de vulnerabilidades e exposições comuns do cluster (CVE)
Nome do comando:cluster-cve-report
Argumentos: NenhumColete lançamentos do Helm
Nome do comando:collect-helm-releases
Argumentos: NenhumColetar
systemctl status
saída
Nome do comando:platform-services-status
Argumentos: Nenhum
A sintaxe do comando é:
az networkcloud baremetalmachine run-data-extract --name "<machine-name>" \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>" \
--commands '[{"arguments":["<arg1>","<arg2>"],"command":"<command1>"}]' \
--limit-time-seconds "<timeout>"
Especifique vários comandos usando o formato json na --commands
opção. Cada command
um especifica comandos e argumentos. Para um comando com vários argumentos, forneça como uma lista para o arguments
parâmetro. Consulte Taquigrafia da CLI do Azure para obter instruções sobre como construir a --commands
estrutura.
Esses comandos podem ser de longa execução, então a recomendação é definir --limit-time-seconds
para pelo menos 600 segundos (10 minutos). A Debug
opção ou a execução de várias extrações pode levar mais de 10 minutos.
Na resposta, a operação é executada de forma assíncrona e retorna um código de status HTTP de 202. Consulte a seção Exibindo a saída para obter detalhes sobre como acompanhar a conclusão do comando e exibir o arquivo de saída.
Recolha de Dados de Suporte de Hardware
Este exemplo executa o hardware-support-data-collection
comando e obtém SysInfo
e TTYLog
registra no servidor Dell. O script executa um racadm supportassist collect
comando na máquina bare metal designada. O arquivo tar.gz resultante contém as saídas do arquivo de comando de extração compactado em hardware-support-data-<timestamp>.zip
.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "cluster_MRG" \
--subscription "subscription" \
--commands '[{"arguments":["SysInfo", "TTYLog"],"command":"hardware-support-data-collection"}]' \
--limit-time-seconds 600
hardware-support-data-collection
Realização
====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
Exemplo de lista de arquivos de suporte de hardware coletados
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..]
Coletar informações do agente MDE
Os dados são coletados com o mde-agent-information
comando e formatados como JSON para /hostfs/tmp/runcommand/mde-agent-information.json
. O arquivo JSON é encontrado no arquivo zip de extração de dados localizado na conta de armazenamento. O script executa uma sequência de mdatp
comandos na máquina bare metal designada.
Este exemplo executa o mde-agent-information
comando sem argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "cluster_MRG" \
--subscription "subscription" \
--commands '[{"command":"mde-agent-information"}]' \
--limit-time-seconds 600
mde-agent-information
Realização
====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
Exemplo de objeto JSON coletado
{
"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
}
}
Coletar diagnósticos de suporte MDE
Os dados coletados do mde-support-diagnostics
comando usam a ferramenta MDE Client Analyzer para agrupar informações de comandos e arquivos de mdatp
log relevantes. O arquivo de conta tgz
de armazenamento contém um zip
arquivo chamado mde-support-diagnostics-<hostname>.zip
. O zip
deve ser enviado junto com quaisquer solicitações de suporte para garantir que as equipes de suporte possam usar os logs para solução de problemas e análise de causa raiz, se necessário.
Este exemplo executa o mde-support-diagnostics
comando sem argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "cluster_MRG" \
--subscription "subscription" \
--commands '[{"command":"mde-support-diagnostics"}]' \
--limit-time-seconds 600
mde-support-diagnostics
Realização
====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
Depois de baixar o arquivo de resultado da execução, os arquivos de suporte podem ser descompactados para análise.
Exemplo de lista de informações coletadas pelo MDE Client Analyzer
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...]
Status do pacote cumulativo de hardware
Os dados são coletados com o hardware-rollup-status
comando e formatados como JSON para /hostfs/tmp/runcommand/rollupStatus.json
. O arquivo JSON é encontrado no arquivo zip de extração de dados localizado na conta de armazenamento. Os dados coletados mostram a integridade dos subsistemas da máquina.
Este exemplo executa o hardware-rollup-status
comando sem argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "clusete_MRG" \
--subscription "subscription" \
--commands '[{"command":"hardware-rollup-status"}]' \
--limit-time-seconds 600
hardware-rollup-status
Realização
====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
Exemplo JSON coletado
{
"@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..]
Gerar relatório CVE de cluster
Os dados de vulnerabilidade são coletados com o cluster-cve-report
comando e formatados como JSON para {year}-{month}-{day}-nexus-cluster-vulnerability-report.json
. O arquivo JSON é encontrado no arquivo zip de extração de dados localizado na conta de armazenamento. Os dados coletados incluem dados de vulnerabilidade por imagem de contêiner no cluster.
Este exemplo executa o cluster-cve-report
comando sem argumentos.
Nota
A máquina de destino deve ser um nó do plano de controle ou a ação não é executada.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "cluster_MRG" \
--subscription "subscription" \
--commands '[{"command":"cluster-cve-report"}]' \
--limit-time-seconds 600
cluster-cve-report
Realização
====Action Command Output====
Nexus cluster vulnerability report saved.
================================
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
Esquema de relatório CVE
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Vulnerability Report",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"dateRetrieved": {
"type": "string",
"format": "date-time",
"description": "The date and time when the data was retrieved."
},
"platform": {
"type": "string",
"description": "The name of the platform."
},
"resource": {
"type": "string",
"description": "The name of the resource."
},
"clusterId": {
"type": "string",
"description": "The resource ID of the cluster."
},
"runtimeVersion": {
"type": "string",
"description": "The version of the runtime."
},
"managementVersion": {
"type": "string",
"description": "The version of the management software."
},
"vulnerabilitySummary": {
"type": "object",
"properties": {
"uniqueVulnerabilities": {
"type": "object",
"properties": {
"critical": { "type": "integer" },
"high": { "type": "integer" },
"medium": { "type": "integer" },
"low": { "type": "integer" },
"unknown": { "type": "integer" }
},
"required": ["critical", "high", "medium", "low", "unknown"]
},
"totalVulnerabilities": {
"type": "object",
"properties": {
"critical": { "type": "integer" },
"high": { "type": "integer" },
"medium": { "type": "integer" },
"low": { "type": "integer" },
"unknown": { "type": "integer" }
},
"required": ["critical", "high", "medium", "low", "unknown"]
}
},
"required": ["uniqueVulnerabilities", "totalVulnerabilities"]
}
},
"required": [
"dateRetrieved",
"platform",
"resource",
"clusterId",
"runtimeVersion",
"managementVersion",
"vulnerabilitySummary"
]
},
"containers": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"namespace": {
"type": "array",
"description": "The namespaces where the container image is in-use.",
"items": { "type": "string" }
},
"digest": {
"type": "string",
"description": "The digest of the container image."
},
"observedCount": {
"type": "integer",
"description": "The number of times the container image has been observed."
},
"os": {
"type": "object",
"properties": {
"family": {
"type": "string",
"description": "The family of the operating system."
}
},
"required": ["family"]
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"vulnerabilityID": { "type": "string" },
"fixedVersion": { "type": "string" },
"installedVersion": { "type": "string" },
"referenceLink": { "type": "string", "format": "uri" },
"publishedDate": { "type": "string", "format": "date-time" },
"dataSource": { "type": "string" },
"score": { "type": "number" },
"severity": { "type": "string" },
"severitySource": { "type": "string" },
"resource": { "type": "string" },
"target": { "type": "string" },
"packageType": { "type": "string" },
"exploitAvailable": { "type": "boolean" }
},
"required": [
"title",
"vulnerabilityID",
"fixedVersion",
"installedVersion",
"referenceLink",
"publishedDate",
"dataSource",
"score",
"severity",
"severitySource",
"resource",
"target",
"packageType",
"exploitAvailable"
]
}
}
},
"required": ["namespace", "digest", "os", "observedCount", "vulnerabilities"]
}
}
}
},
"required": ["metadata", "containers"]
}
Detalhes dos dados CVE
Os dados CVE são atualizados por imagem de contêiner a cada 24 horas ou quando há uma alteração no recurso do Kubernetes fazendo referência à imagem.
Colete lançamentos do Helm
Os dados de liberação do leme são coletados com o collect-helm-releases
comando e formatados como json para {year}-{month}-{day}-helm-releases.json
. O arquivo JSON é encontrado no arquivo zip de extração de dados localizado na conta de armazenamento. Os dados coletados incluem todas as informações de liberação de leme do Cluster, que consiste nos dados padrão retornados ao executar o comando helm list
.
Este exemplo executa o collect-helm-releases
comando sem argumentos.
Nota
A máquina de destino deve ser um nó do plano de controle ou a ação não é executada.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "cluster_MRG" \
--subscription "subscription" \
--commands '[{"command":"collect-helm-releases"}]' \
--limit-time-seconds 600
collect-helm-releases
Realização
====Action Command Output====
Helm releases report saved.
================================
Script execution result can be found in storage account:
https://cmcr5xp3mbn7st.blob.core.windows.net/bmm-run-command-output/a29dcbdb-5524-4172-8b55-88e0e5ec93ff-action-bmmdataextcmd.tar.gz?se=2024-10-30T02%3A09%3A54Z&sig=v6cjiIDBP9viEijs%2B%2BwJDrHIAbLEmuiVmCEEDHEi%2FEc%3D&sp=r&spr=https&sr=b&st=2024-10-29T22%3A09%3A54Z&sv=2023-11-03
Esquema de liberação do leme
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"dateRetrieved": {
"type": "string"
},
"platform": {
"type": "string"
},
"resource": {
"type": "string"
},
"clusterId": {
"type": "string"
},
"runtimeVersion": {
"type": "string"
},
"managementVersion": {
"type": "string"
}
},
"required": [
"clusterId",
"dateRetrieved",
"managementVersion",
"platform",
"resource",
"runtimeVersion"
]
},
"helmReleases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"revision": {
"type": "string"
},
"updated": {
"type": "string"
},
"status": {
"type": "string"
},
"chart": {
"type": "string"
},
"app_version": {
"type": "string"
}
},
"required": [
"app_version",
"chart",
"name",
"namespace",
"revision",
"status",
"updated"
]
}
}
},
"required": [
"helmReleases",
"metadata"
]
}
Coletar saída de status do Systemctl
O status do serviço é coletado com o platform-services-status
comando. A saída está em formato de texto sem formatação e retorna uma visão geral do status dos serviços no host e para systemctl status
cada serviço encontrado.
Este exemplo executa o platform-services-status
comando sem argumentos.
az networkcloud baremetalmachine run-data-extract --name "bareMetalMachineName" \
--resource-group "clusete_MRG" \
--subscription "subscription" \
--commands '[{"command":"platform-services-status"}]' \
--limit-time-seconds 600
--output-directory "/path/to/local/directory"
platform-services-status
Realização
====Action Command Output====
UNIT LOAD ACTIVE SUB DESCRIPTION
aods-infra-vf-config.service not-found inactive dead aods-infra-vf-config.service
aods-pnic-config-infra.service not-found inactive dead aods-pnic-config-infra.service
aods-pnic-config-workload.service not-found inactive dead aods-pnic-config-workload.service
arc-unenroll-file-semaphore.service loaded active exited Arc-unenrollment upon shutdown service
atop-rotate.service loaded inactive dead Restart atop daemon to rotate logs
atop.service loaded active running Atop advanced performance monitor
atopacct.service loaded active running Atop process accounting daemon
audit.service loaded inactive dead Audit service
auditd.service loaded active running Security Auditing Service
azurelinux-sysinfo.service loaded inactive dead Azure Linux Sysinfo Service
blk-availability.service loaded inactive dead Availability of block devices
[..snip..]
-------
● arc-unenroll-file-semaphore.service - Arc-unenrollment upon shutdown service
Loaded: loaded (/etc/systemd/system/arc-unenroll-file-semaphore.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2024-11-12 06:33:40 UTC; 11h ago
Main PID: 11663 (code=exited, status=0/SUCCESS)
CPU: 5ms
Nov 12 06:33:39 rack1compute01 systemd[1]: Starting Arc-unenrollment upon shutdown service...
Nov 12 06:33:40 rack1compute01 systemd[1]: Finished Arc-unenrollment upon shutdown service.
-------
○ atop-rotate.service - Restart atop daemon to rotate logs
Loaded: loaded (/usr/lib/systemd/system/atop-rotate.service; static)
Active: inactive (dead)
TriggeredBy: ● atop-rotate.timer
[..snip..]
Visualizando a saída
O comando fornece um link (se estiver usando o armazenamento do gerenciador de cluster) ou outro comando (se estiver usando o armazenamento fornecido pelo usuário) para baixar a saída completa. O arquivo tar.gz também contém as saídas do arquivo de comando de extração compactada. Baixe o arquivo de saída do blob de armazenamento para um diretório local especificando o caminho do diretório no argumento --output-directory
opcional .
Aviso
O uso do --output-directory
argumento substitui todos os arquivos no diretório local que têm o mesmo nome dos novos arquivos que estão sendo criados.
Nota
A conta de armazenamento pode ser bloqueada, resultando em 403 This request is not authorized to perform this operation.
devido a restrições de rede ou firewall. Consulte as seções Armazenamento do gerenciador de cluster ou Armazenamento gerenciado pelo usuário para obter os procedimentos para verificar o acesso.