Поделиться через


Устранение неполадок с компьютером без операционной az networkcloud baremetalmachine run-data-extract системы с помощью команды

Могут возникнуть ситуации, когда пользователю необходимо исследовать и устранять проблемы с локальным компьютером без операционной системы. Оператор Azure Nexus предоставляет предписанный набор команд извлечения данных с помощью az networkcloud baremetalmachine run-data-extract. Эти команды позволяют пользователям получать диагностические данные с компьютера без операционной системы.

Команда создает выходной файл, содержащий результаты извлечения данных. По умолчанию данные отправляются в учетную запись хранения Диспетчера кластеров. Кроме того, есть метод предварительной версии, в котором пользователи могут настроить ресурс кластера с учетной записью хранения и удостоверением с доступом к учетной записи хранения для получения выходных данных.

Необходимые компоненты

  • В этой статье предполагается, что интерфейс командной строки Azure и расширение интерфейса командной networkcloud строки устанавливаются. Дополнительные сведения см. в разделе "Установка расширений CLI".
  • Целевая машина без операционной системы включена и готова.
  • Синтаксис этих команд основан на версии 0.3.0+ интерфейса командной az networkcloud строки.
  • Получите имя группы управляемых ресурсов кластера (cluster_MRG), созданное для ресурса кластера.

Отправка выходных данных команды в указанную пользователем учетную запись хранения

Сведения о поддержке кластера Nexus оператора Azure для управляемых удостоверений и предоставленных пользователем ресурсов

Чтобы получить доступ к выходным данным, пользователям требуется соответствующий доступ к большому двоичному объекту хранилища. Сведения о назначении ролей учетным записям хранения см. в статье "Назначение роли Azure для доступа к данным BLOB-объектов".

Очистка набора CommandOutputSettings кластера

Чтобы изменить кластер с назначаемого пользователем удостоверения на удостоверение, назначаемое системой, сначала команде CommandOutputSettings необходимо очистить с помощью команды в следующем разделе, а затем задать эту команду с помощью этой команды.

Команды CommandOutputSettings можно очистить, перенаправляя выходные данные запуска и извлечения данных обратно в хранилище диспетчера кластеров. Однако это не рекомендуется, так как он менее безопасный, и параметр будет удален в будущем выпуске.

Однако при переключении с назначаемого пользователем удостоверения на удостоверение, назначаемое системой, необходимо очистить CommandOutputSettings.

Используйте эту команду для очистки 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}}'

НЕРЕКОМЕНДУЕМЫЙ МЕТОД. Проверка доступа к учетной записи хранения Диспетчера кластеров

Внимание

Учетная запись хранения Cluster Manager предназначена для удаления в апреле 2025 г. в последнее время. Если вы используете этот метод сегодня для выходных данных команд, рассмотрите возможность преобразования в использование учетной записи хранения, предоставленной пользователем.

Если используется метод хранилища Cluster Manager, убедитесь, что у вас есть доступ к учетной записи хранения Диспетчера кластеров:

  1. В портал Azure перейдите к учетной записи хранения Диспетчера кластеров.
  2. В разделе сведений о учетной записи хранения выберите браузер хранилища в меню навигации слева.
  3. В браузере хранилища выберите контейнеры BLOB-объектов.
  4. Если вы столкнулись с доступом 403 This request is not authorized to perform this operation. к учетной записи хранения, необходимо обновить параметры брандмауэра учетной записи хранения, чтобы включить общедоступный IP-адрес.
  5. Запросите доступ, создав запрос в службу поддержки через портал на ресурсе Cluster Manager. Укажите общедоступный IP-адрес, которому требуется доступ.

Выполнение команды run-data-extract

Команда извлечения данных запуска выполняет один или несколько предопределенных скриптов для извлечения данных с компьютера без операционной системы.

Предупреждение

Корпорация Майкрософт не предоставляет или не поддерживает вызовы API Nexus, которые ожидают предоставления имени пользователя с открытым текстом и (или) пароля. Обратите внимание, что все отправленные значения регистрируются и считаются открытыми секретами, которые следует повернуть и отозвать. Задокументированные майкрософт методы безопасного использования секретов — хранить их в Azure Key Vault. Если у вас есть конкретные вопросы или проблемы, отправьте запрос через портал Azure.

Текущий список поддерживаемых команд

Синтаксис команды:

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

Укажите несколько команд с помощью формата JSON в --commands параметре. Каждая command из них задает команды и аргументы. Для команды с несколькими аргументами укажите в качестве списка arguments для параметра. Инструкции по созданию структуры см . в кратком руководстве--commands по созданию структуры в Azure CLI.

Эти команды могут быть длительными, поэтому рекомендация должна иметь --limit-time-seconds значение не менее 600 секунд (10 минут). Параметр Debug или выполнение нескольких извлечений может занять более 10 минут.

В ответе операция выполняется асинхронно и возвращает код состояния HTTP 202. Дополнительные сведения о отслеживании завершения команды и просмотре выходного файла см. в разделе "Просмотр выходных данных".

Сбор данных поддержки оборудования

В этом примере выполняется hardware-support-data-collection команда и получение SysInfo и TTYLog журналы с сервера Dell Server. Сценарий выполняет racadm supportassist collect команду на назначенном компьютере без операционной системы. Результирующий tar.gz файл содержит выходные данные hardware-support-data-<timestamp>.zipzippped командного файла.

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 Выпуск

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

Пример списка собранных файлов поддержки оборудования

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

Сбор сведений об агенте MDE

Данные собираются с помощью mde-agent-information команды и форматируются в формате JSON /hostfs/tmp/runcommand/mde-agent-information.json. JSON-файл находится в zip-файле извлечения данных, расположенном в учетной записи хранения. Сценарий выполняет последовательность mdatp команд на назначенном компьютере без операционной системы.

В этом примере выполняется mde-agent-information команда без аргументов.

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 Выпуск

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

Пример собранного объекта 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
    }
}

Сбор диагностики поддержки MDE

Данные, собранные из команды, используют средство клиентского mde-support-diagnostics анализатора MDE для упаковки сведений из mdatp команд и соответствующих файлов журналов. Файл учетной zip записи tgz хранения содержит файл с именем mde-support-diagnostics-<hostname>.zip. При zip необходимости следует отправлять их вместе с любыми запросами на поддержку, чтобы вспомогательные команды могли использовать журналы для устранения неполадок и анализа первопричин.

В этом примере выполняется mde-support-diagnostics команда без аргументов.

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 Выпуск

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

После скачивания файла результата выполнения файлы поддержки можно распаковать для анализа.

Пример списка сведений, собранных клиентским анализатором 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...]

Состояние накопительного пакета оборудования

Данные собираются с помощью hardware-rollup-status команды и форматируются в формате JSON /hostfs/tmp/runcommand/rollupStatus.json. JSON-файл находится в zip-файле извлечения данных, расположенном в учетной записи хранения. Собранные данные показывают работоспособность подсистем компьютера.

В этом примере выполняется hardware-rollup-status команда без аргументов.

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 Выпуск

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

Пример сбора 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..]

Создание отчета CVE кластера

Данные уязвимостей собираются с помощью cluster-cve-report команды и форматируются в формате JSON {year}-{month}-{day}-nexus-cluster-vulnerability-report.json. JSON-файл находится в zip-файле извлечения данных, расположенном в учетной записи хранения. Собранные данные включают данные уязвимости на образ контейнера в кластере.

В этом примере выполняется cluster-cve-report команда без аргументов.

Примечание.

Целевой компьютер должен быть узлом уровня управления или действие не выполняется.

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 Выпуск

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

Схема отчета 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"]
}

Сведения о данных CVE

Данные CVE обновляются каждые 24 часа или при изменении ресурса Kubernetes, ссылающегося на изображение.

Сбор выпусков Helm

Данные выпуска Helm собираются с помощью collect-helm-releases команды и форматируются в формате JSON {year}-{month}-{day}-helm-releases.json. JSON-файл находится в zip-файле извлечения данных, расположенном в учетной записи хранения. Собранные данные включают все сведения о выпуске helm из кластера, состоящие из стандартных данных, возвращаемых при выполнении команды helm list.

В этом примере выполняется collect-helm-releases команда без аргументов.

Примечание.

Целевой компьютер должен быть узлом уровня управления или действие не выполняется.

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 Выпуск

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

Схема выпуска Helm

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

Сбор выходных данных состояния Systemctl

Состояние службы собирается с platform-services-status помощью команды. Выходные данные находятся в формате обычного текста и возвращают общие сведения о состоянии служб на узле и systemctl status каждой найденной службе.

В этом примере выполняется platform-services-status команда без аргументов.

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 Выпуск

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

Просмотр выходных данных

Эта команда предоставляет ссылку (при использовании хранилища диспетчера кластеров) или другую команду (при использовании предоставленного пользователем хранилища) для скачивания полного вывода. Файл tar.gz также содержит выходные данные архивированного файла команды. Скачайте выходной файл из большого двоичного объекта хранилища в локальный каталог, указав путь к каталогу в необязательном аргументе --output-directory.

Предупреждение

--output-directory Использование аргумента перезаписывает все файлы в локальном каталоге с тем же именем, что и созданные новые файлы.

Примечание.

Учетная запись хранения может быть заблокирована 403 This request is not authorized to perform this operation. из-за ограничений сети или брандмауэра. Сведения о том, как проверить доступ, см. в разделах хранилища диспетчера кластеров или управляемого пользователем хранилища .