若要使用PowerShell進行記錄收集,請從 Azure 本機實例內的任何節點執行 Send-DiagnosticData
Cmdlet。 此 Cmdlet 會暫時在本機複製記錄。 複製的記錄會剖析、傳送至Microsoft,然後從系統中刪除。
以下是使用PowerShell收集記錄時需要考慮的一些重點:
- Cmdlet 的
Send-DiagnosticData
完成時間會因要收集記錄的角色、指定的時間長度和 Azure 本機環境中的節點數目等因素而有所不同。
- 如果您未指定任何參數,
Send-DiagnosticData
Cmdlet 會收集過去一小時內所有節點的數據。
以下是 的 Send-DiagnosticData
語法:
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
如需 的 Send-DiagnosticData
參考資訊,請參閱 Send-DiagnosticData
本文稍後的命令參考 一節。
範例和範例輸出
以下是一些範例命令,其中包含範例輸出,示範如何使用 Send-DiagnosticData
Cmdlet 搭配不同的參數。
使用日期篩選傳送診斷數據
在此範例中,您會傳送過去兩個小時記錄檔日期篩選的診斷數據:
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
以下是此指令的範例輸出:
PS C:\CloudDeployment\logs> Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 19:14:18. ToDate in UTC is now 12/04/2023 21:14:18
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/<cluster-name>
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/<v-host-name>
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\CloudDeployment\logs>
傳送指定角色的診斷數據
在此範例中,您會使用BareMetal和ECE的角色篩選來傳送診斷數據:
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
以下是此指令的範例輸出:
PS C:\Users\docsuser> Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
FromDate parameter not specified. Setting to default value 12/04/2023 20:41:21
ToDate parameter not specified. Setting to default value 12/04/2023 21:41:21
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 20:41:21. ToDate in UTC is now 12/04/2023 21:41:21
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/cluster-e5c7b2aa9a36490f9567b432a0eb51f1
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/v-Host1
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\Users\docsuser>
取得記錄收集的歷程記錄
您可以取得您所執行之所有記錄檔集合的歷程記錄。 此歷程記錄可協助您了解記錄集合的類型、記錄集合的大小、收集記錄的時間,以及記錄收集的方法。
若要取得過去 90 天記錄檔集合的歷程記錄,請輸入:
Get-LogCollectionHistory
以下是 Cmdlet 的 Get-LogCollectionHistory
範例輸出。 參數 datetime
位於UTC時區。
PS C:\CloudDeployment\logs> Get-LogCollectionHistory
Name Value
---- -----
TimeCollected 9/29/2022 5:08:14 PM +00:00
Status Succeeded
CollectionFromDate 9/29/2022 4:07:57 PM +00:00
CollectionToDate 9/29/2022 5:07:57 PM +00:00
LogCollectionId fdcd94c8-1bd2-4ec6-8612-c92d5abd9a84
Type OnDemand
LogUploadSizeMb 1598
UploadNumberOfFiles 1924
Directory
Location
Error
---------- ---------------------------------------------------------
TimeCollected 9/27/2022 11:57:25 PM +00:00
Status Succeeded
CollectionFromDate 9/27/2022 9:57:16 PM +00:00
CollectionToDate 9/27/2022 11:57:16 PM +00:00
LogCollectionId f3d8dcc6-901e-4c72-a3cc-210055e6f198
Type OnDemand
LogUploadSizeMb 1069
UploadNumberOfFiles 1941
Directory
Location
Error
PS C:\CloudDeployment\logs>
將記錄儲存至本機檔案共用
如果您有網路問題或偏好在本機儲存數據,而不是將數據傳送至 Azure,您可以將診斷記錄儲存在本機伺服器訊息塊 (SMB) 共用上。
請遵循下列步驟,將記錄儲存至本機共用:
執行下列命令來建立共用:
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
執行下列命令以建立共用的 PSCredentials:
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
在系統的每個節點上執行下列命令,以收集記錄,並將其儲存在本機:
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
如果您從儲存記錄的 SMB 共用具有輸出連線能力,您可以執行下列命令,將記錄傳送至Microsoft:
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
命令參考
本節提供有關 的 Send-DiagnosticData
參考資訊,包括其參數、語法和使用範例。
FromDate 和 ToDate
這些參數可讓您收集特定時段的記錄。
語法
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
範例
$fromDate = Get-Date -Date "11/30/2023 18:35:00"
$toDate = Get-Date -Date "11/30/2023 19:35:00"
Send-DiagnosticData –FromDate $fromDate –ToDate $toDate
延伸模組版本
全部
FilterByRole
此參數可讓您選擇要收集的角色記錄。 您可以指定多個角色。 如需您可以篩選記錄的可用角色清單,請參閱 可用於篩選記錄的角色。
語法
Send-DiagnosticData [[-FilterByRole] <string[]>]
範例
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
延伸模組版本
全部
CollectSddc
判斷是否要包含或排除軟體定義資料中心 (SDDC) 記錄。 根據預設,會包含 SDDC 記錄。 如果您想要將其排除,請將它設定為$false。 如需使用 SDDC 診斷工具的詳細資訊,請參閱 收集系統的診斷數據。
語法
Send-DiagnosticData [-CollectSddc <bool>]
範例
Send-DiagnosticData –CollectSddc $false
延伸模組版本
全部
BypassObsAgent
略過可觀察性代理程式時,只會在起始記錄收集的節點上收集記錄。 集合的記錄不會保留在歷程記錄中。
語法
Send-DiagnosticData [-BypassObsAgent]
範例
Send-DiagnosticData –BypassObsAgent
延伸模組版本
全部
SaveToPath
此參數可讓您將診斷記錄儲存至主計算機上的指定路徑,而不是將它們傳輸至Microsoft。
語法
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
範例
您可以將主機上 SaveToPath
的共享路徑或輸出路徑提供給 參數。
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
如果您使用未對應的共享路徑,您也必須使用 -ShareCredential
參數。
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
您可以搭配其他參數使用 SaveToPath
,例如 FilterByRole
、 FromDate
、 ToDate
、、 CollectSddc
、 SupplementaryLogs
、 ShareCredential
和 BypassObsAgent
。
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
延伸模組版本
1.0.2.0 版和更新版本
NoLogCollection
switch NoLogCollection
參數可讓您將特定記錄集傳送至Microsoft。 使用此參數時,請考慮下列詳細數據:
- 您可以將、 參
BypassObsAgent
數與 NoLogCollection
參數結合SupplementaryLogs
。 ShareCredential
- 使用
NoLogCollection
時,參數SupplementaryLogs
是必要參數。 它會指定需要傳送至Microsoft之記錄的路徑。
- 您可以彈性地將主機上的共享路徑或輸出路徑傳遞至
SupplementaryLogs
參數。 如果您使用未對應的共享路徑,也必須使用 -ShareCredential
參數。
語法
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
範例
搭配強制SupplementaryLogs
參數使用–NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
搭配未對應的共享路徑使用 –NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
延伸模組版本
1.0.2.0 版和更新版本
SupplementaryLogs
SupplementaryLogs 參數可讓您將臨機操作記錄傳送至Microsoft。
語法
您可以透過下列方式使用它:
使用 SaveToPath
。 在此案例中,會收集診斷記錄和臨機操作記錄並儲存至指定的路徑。
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
使用 NoLogCollection
。 在這裡,只會收集特定記錄並傳送至Microsoft。 不會收集任何診斷記錄。
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
不含 SaveToPath
或 NoLogCollection
。 這表示會收集診斷記錄和臨機操作記錄,並傳送至Microsoft。
Send-DiagnosticData [-SupplementaryLogs <string>]
收集診斷和臨機操作記錄時,您可以將 參數與其他參數搭配使用 SupplementaryLogs
,例如 FilterByRole
、 FromDate
、 ToDate
和 CollectSddc
。
範例
不含 SaveToPath
或 NoLogCollection
:
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
使用 SaveToPath
:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
使用 NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
延伸模組版本
1.0.2.0 版和更新版本
ShareCredential
此參數提供收集記錄並將其儲存到共享路徑或直接從共享路徑傳送記錄到Microsoft的彈性。
語法
將記錄儲存至路徑:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
將共享路徑上的記錄傳送至Microsoft:
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
範例
將記錄儲存至路徑:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
將共享路徑上的記錄傳送至Microsoft:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
延伸模組版本
全部
(計劃淘汰)ToSMBShare
此參數可讓您將記錄儲存至輸出路徑或共享路徑。 如果您使用未對應的共享路徑,您也需要使用 ShareCredential
參數。 由於這個參數將在未來的延伸模組版本中移除,請改用 -SaveToPath
參數。
語法
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
範例
將記錄儲存至輸出路徑或共享路徑:
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
將記錄儲存至未對應的共享路徑:
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
延伸模組版本
不過,一開始可跨所有版本存取此參數,最終會限製為0.1.42版和更早版本。
(計劃淘汰)FromSMBShare
此參數可讓您直接從輸出路徑或共享路徑將記錄傳送至Microsoft。 如果您使用未對應的共享路徑,您也需要使用 ShareCredential
參數。 由於這個參數將在未來的延伸模組版本中移除,請改用 -NoLogCollection
參數。
語法
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
範例
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
延伸模組版本
不過,一開始可跨所有版本存取此參數,最終會限製為0.1.42版和更早版本。
(計劃淘汰)SharePath
SharePath 參數可用於下列其中一個用途:
- 將診斷記錄儲存至共享路徑或輸出路徑。
- 從共享路徑或輸出路徑將記錄傳送至Microsoft。 如果您使用共用路徑且共用路徑未對應,
ShareCredential
則也必須使用 參數。
由於這個參數將在未來的擴充功能版本中移除,請使用 –SaveToPath
將記錄儲存至路徑,或 –SupplementaryLogs
改為將臨機操作記錄傳送至Microsoft時。
語法
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
範例
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
延伸模組版本
不過,一開始可跨所有版本存取此參數,最終會限製為0.1.42版和更早版本。
可用於篩選記錄的角色
下列角色可供 FilterByRole 參數篩選。 未來版本中可用的角色可能會有所不同。
角色名稱 |
描述 |
ALM |
應用程式生命週期管理 (ALM) 涉及管理軟體應用程式的開發、測試、部署和維護。 |
ArcAgent |
允許透過 Azure Arc 管理 Windows Server 的代理程式。請參閱 Azure 連線機器代理程式概觀。 |
BareMetal |
基礎結構角色可讓您在裸機伺服器上執行服務,而不需要虛擬化層。 您可以完整存取及控制作業系統和硬體。 |
CommonInfra |
收集常見基礎結構元件的記錄,例如網路、記憶體和安全性。 |
DeploymentLogs |
記錄部署程式的詳細數據,包括所採取的步驟、發生錯誤和作業狀態。 |
ECE |
管理生命週期工作流程,包括部署、更新、新增節點和節點取代。 |
副檔名 |
與 Azure 受控延伸模組相關的數據。 |
FleetDiagnosticsAgent |
接聽健康情況觸發程式以啟動記錄收集。 這些記錄可用來診斷 FleetDiagnosticsAgent 和記錄收集的問題。 |
HCICloudService |
提供 Azure 本機核心功能的 Azure 雲端服務。 其結合了 Azure 電源與內部部署機器的彈性。 |
DownloadService |
用於下載更新內容的基礎結構服務一部分。 |
健全狀況 |
從各種來源收集健康情況、效能和使用方式數據,例如事件記錄檔和性能計數器。 |
HostNetwork |
用來針對網路 ATC 進行疑難解答的記錄,這是用來設定主機網路的基礎操作系統元件。 |
MOC_ARB |
管理堆疊,可在 Azure 本機和 Windows Server 上對虛擬機進行雲端式管理。 |
NC |
與網路基礎結構相關的資訊。 |
ObservabilityLogmanTraces |
收集可觀察性追蹤的記錄。 這些記錄有助於針對傳送診斷數據的問題進行疑難解答。 |
ObservabilityVolume |
收集可觀察性磁碟區的記錄。 |
OEMDiagnostics |
收集 OEM 診斷的記錄,有助於識別和解決伺服器硬體的問題,例如 BIOS、驅動程式、感測器等等。 |
OSUpdateLogs |
在 Azure 本機節點上收集與操作系統更新相關的記錄的角色,有助於針對更新相關問題進行疑難解答。 |
RemoteSupportAgent |
協助針對遠端支援會話的問題進行疑難解答的記錄,這些會話可用來解決客戶支援案例。 |
TestObservability |
從 Test-Observability Cmdlet 收集記錄,用來測試 TelemetryAndDiagnostics 擴充功能是否正常運作。 |
URP |
由與和 OsUpdate ECE角色事件相關的UpdateService 記錄所組成。 管理 Update Service Azure 本機的更新。 OsUpdate ECE 角色是用來取得及安裝操作系統更新的機器(實體主機和 InfraVM),這些機器在部署期間不屬於系統的一部分、新增節點、修復節點和 Infra VM 更新案例。 這兩個元件的追蹤是角色的 URP 一部分。 |