Azure Stack の診断ツールAzure Stack diagnostics tools

Azure Stack は、相互に連携して作用する複数のコンポーネントによって構成された大規模なコレクションです。Azure Stack is a large collection of components working together and interacting with each other. これらすべてのコンポーネントは、独自の一意のログを生成します。All these components generate their own unique logs. このため、問題を診断するのは困難な作業になります。相互に作用する複数の Azure Stack コンポーネントのエラーについては、特にそう言えます。This can make diagnosing issues a challenging task, especially for errors coming from multiple, interacting Azure Stack components.

Microsoft の診断ツールは、ログ収集のメカニズムを簡単で効率的なものにする助けとなります。Our diagnostics tools help ensure the log collection mechanism is easy and efficient. 次の図は、Azure Stack のログ収集ツールのしくみを示しています。The following diagram shows how log collection tools in Azure Stack work:

Azure Stack の診断ツール

トレース コレクターTrace Collector

トレース コレクターは既定で有効になり、Azure Stack コンポーネント サービスからすべての Windows イベント トレーシング (ETW) ログを収集するためにバック グラウンドで継続的に実行されます。The Trace Collector is enabled by default and runs continuously in the background to collect all Event Tracing for Windows (ETW) logs from Azure Stack component services. ETW ログは、一般的なローカル共有に 5 日間を上限として格納されます。ETW logs are stored in a common local share with a five day age limit. この制限に達した場合、新しいファイルが作成されると最も古いファイルは削除されます。Once this limit is reached, the oldest files are deleted as new ones are created. 各ファイルで許容される既定の最大サイズは 200 MB です。The default maximum size allowed for each file is 200 MB. サイズ チェックは 2 分間隔で行われ、現在のファイルが 200 MB 以上であれば保存され、新しいファイルが生成されます。A size check occurs every 2 minutes, and if the current file is >= 200 MB, it is saved and a new file is generated. また、イベント セッションごとに生成されるファイルの合計サイズには、8 GB の制限が設定されています。There is also an 8 GB limit on the total file size generated per event session.

ログ収集ツールLog collection tool

PowerShell コマンドレット Get-AzureStackLog を使用して、Azure Stack 環境のすべてのコンポーネントからログを収集できます。The PowerShell cmdlet Get-AzureStackLog can be used to collect logs from all the components in an Azure Stack environment. これらは、ユーザーの定義した場所に zip ファイルで保存されます。It saves them in zip files in a user-defined location. Azure Stack テクニカル サポート チームが問題を解決するためにお客様のログを必要とする場合は、このツールを実行するようにお願いすることがあります。If the Azure Stack technical support team needs your logs to help troubleshoot an issue, they may ask you to run this tool.

注意事項

これらのログ ファイルには個人を特定できる情報 (PII) が含まれている可能性があります。These log files may contain personally identifiable information (PII). ログ ファイルを公開する前に、この点を考慮してください。Take this into account before you publicly post any log files.

以下に、収集されるログの種類をいくつか例示します。The following are some example log types that are collected:

  • Azure Stack デプロイ ログAzure Stack deployment logs
  • Windows イベント ログWindows event logs
  • Panther ログPanther logs
  • クラスター ログCluster logs
  • Storage 診断ログStorage diagnostic logs
  • ETW ログETW logs

これらのファイルは、トレース コレクターによって収集され、共有に保存されます。These files are collected and saved in a share by Trace Collector. 必要に応じて、Get-AzureStackLog PowerShell コマンドレットを使用して、それらを収集できます。The Get-AzureStackLog PowerShell cmdlet can then be used to collect them when necessary.

Azure Stack 統合システムで Get-AzureStackLog を実行するにはTo run Get-AzureStackLog on Azure Stack integrated systems

統合システムでログ収集ツールを実行するには、特権エンド ポイント (PEP) へのアクセス権が必要です。To run the log collection tool on an integrated system, you need to have access to the Privileged End Point (PEP). PEP を使用して統合システムでログを収集するのに実行できるスクリプト例を次に示します。Here is an example script you can run using the PEP to collect logs on an integrated system:

$ip = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.

$pwd= ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $pwd)

$shareCred = Get-Credential

$s = New-PSSession -ComputerName $ip -ConfigurationName PrivilegedEndpoint -Credential $cred

$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2)  #provide the time that includes the period for your issue

Invoke-Command -Session $s {    Get-AzureStackLog -OutputSharePath "<EXTERNAL SHARE ADDRESS>" -OutputShareCredential $using:shareCred  -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate}

if($s)
{
    Remove-PSSession $s
}

Azure Stack Development Kit (ASDK) システムで Get-AzureStackLog を実行するにはTo run Get-AzureStackLog on an Azure Stack Development Kit (ASDK) system

ASDK ホスト コンピューター上で Get-AzureStackLog を実行する際に使用する手順は次のとおりです。Use these steps to run Get-AzureStackLog on an ASDK host computer.

  1. ASDK ホスト コンピューター上で AzureStack\CloudAdmin としてサインインします。Sign in as AzureStack\CloudAdmin on the ASDK host computer.
  2. 管理者として、新しい PowerShell ウィンドウを開きます。Open a new PowerShell window as an administrator.
  3. Get-AzureStackLog PowerShell コマンドレットを実行します。Run the Get-AzureStackLog PowerShell cmdlet.

例:Examples:

すべてのロールのすべてのログを収集します。Collect all logs for all roles:

Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred

VirtualMachines ロールと BareMetal ロールからログを収集します。Collect logs from VirtualMachines and BareMetal roles:

Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal

ログ ファイルに対する過去 8 時間以内の日付範囲のフィルター処理で、VirtualMachines ロールと BareMetal ロールからログを収集します。Collect logs from VirtualMachines and BareMetal roles, with date filtering for log files for the past 8 hours:

Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)

ログ ファイルに対する過去 8 時間から 2 時間以内の日付範囲のフィルター処理で、VirtualMachines ロールと BareMetal ロールからログを収集します。Collect logs from VirtualMachines and BareMetal roles, with date filtering for log files for the time period between 8 hours ago and 2 hours ago:

Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)

ASDK および統合システムの両方に関するパラメーターの考慮事項Parameter considerations for both ASDK and integrated systems

  • OutputSharePath パラメーターと OutputShareCredential パラメーターは、ユーザー指定の場所にログを格納するために使用されます。The parameters OutputSharePath and OutputShareCredential are used to store logs in a user specified location.

  • FromDate パラメーターと ToDate パラメーターを使用して、特定の期間のログを収集できます。The FromDate and ToDate parameters can be used to collect logs for a particular time period. これらのパラメーターが指定されない場合、既定では過去 4 時間のログが収集されます。If these parameters are not specified, logs are collected for the past four hours by default.

  • コンピューター名でログをフィルター処理するには、FilterByNode パラメーターを使用します。Use the FilterByNode parameter to filter logs by computer name. 例: For example:

    Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred -FilterByNode azs-xrp01
    
  • 種類でログをフィルター処理するには、FilterByLogType パラメーターを使用します。Use the FilterByLogType parameter to filter logs by type. File、Share、または WindowsEvent を選択してフィルター処理できます。You can choose to filter by File, Share or WindowsEvent. 例: For example:

    Get-AzureStackLog -OutputSharePath “<path>” -OutputShareCredential $cred -FilterByLogType File
    
  • TimeOutInMinutes パラメーターを使用して、ログ収集のタイムアウトを設定できます。You can use the TimeOutInMinutes parameter to set the timeout for log collection. 既定では 150 (2.5 時間) に設定されています。It is set to 150 (2.5 hours) by default.
  • ダンプ ファイルのログ収集は既定で無効になっています。Dump file log collection is disabled by default. これを有効にするには、IncludeDumpFile スイッチ パラメーターを使用します。To enable it, use the IncludeDumpFile switch parameter.
  • 現時点では FilterByRole パラメーターを使用して、次のロールごとにログ収集をフィルター処理できます。Currently, you can use the FilterByRole parameter to filter log collection by the following roles:

    ACSACS CacheServiceCacheService IBCIBC OEMOEM
    ACSDownloadServiceACSDownloadService コンピューティングCompute InfraServiceControllerInfraServiceController OnboardRPOnboardRP
    ACSFabricACSFabric CPICPI KeyVaultAdminResourceProviderKeyVaultAdminResourceProvider PXEPXE
    ACSFabricACSFrontEnd CRPCRP KeyVaultControlPlaneKeyVaultControlPlane QueryServiceCoordinatorQueryServiceCoordinator
    ACSMetricsACSMetrics DeploymentMachineDeploymentMachine KeyVaultDataPlaneKeyVaultDataPlane QueryServiceWorkerQueryServiceWorker
    ACSMigrationServiceACSMigrationService DiskRPDiskRP KeyVaultInternalControlPlaneKeyVaultInternalControlPlane SeedRingSeedRing
    ACSMonitoringServiceACSMonitoringService ドメインDomain KeyVaultInternalDataPlaneKeyVaultInternalDataPlane SeedRingServicesSeedRingServices
    ACSSettingsServiceACSSettingsService ECEECE KeyVaultNamingServiceKeyVaultNamingService SLBSLB
    ACSTableMasterACSTableMaster EventAdminRPEventAdminRP MDMMDM SQLSQL
    ACSFabricACSTableServer EventRPEventRP MetricsAdminRPMetricsAdminRP SRPSRP
    ACSWacACSWac ExternalDNSExternalDNS MetricsRPMetricsRP StorageStorage
    ADFSADFS FabricRingFabricRing MetricsServerMetricsServer StorageControllerStorageController
    ApplicationControllerApplicationController FabricRingServicesFabricRingServices MetricsStoreServiceMetricsStoreService URPURP
    ASAppGatewayASAppGateway FirstTierAggregationServiceFirstTierAggregationService MonAdminRPMonAdminRP UsageBridgeUsageBridge
    AzureBridgeAzureBridge FRPFRP MonRPMonRP VirtualMachinesVirtualMachines
    AzureMonitorAzureMonitor ゲートウェイGateway NCNC WASWAS
    BareMetalBareMetal HealthMonitoringHealthMonitoring NonPrivilegedAppGatewayNonPrivilegedAppGateway WASPUBLICWASPUBLIC
    BRPBRP HintingServiceV2HintingServiceV2 NRPNRP
    CACA HRPHRP OboServiceOboService

追加の考慮事項Additional considerations

  • このコマンドは、どのロールに基づいてログが収集されるかによって、実行にいくらかの時間がかかります。The command takes some time to run based on which role(s) the logs are collecting. また、関連する要素には、ログ収集に指定した期間と、Azure Stack 環境のノード数が含まれます。Contributing factors also include the time duration specified for log collection, and the numbers of nodes in the Azure Stack environment.
  • ログの収集と同時に、コマンドで指定した OutputSharePath パラメーターに作成された新しいフォルダーを確認します。As log collection runs, check the new folder created in the OutputSharePath parameter specified in the command.
  • ロールごとに、個別の zip ファイル内にログがあります。Each role has its logs inside individual zip files. 収集されたログのサイズによっては、1 つのロールのログが複数の zip ファイルに分割されることがあります。Depending on the size of the collected logs, a role may have its logs split in to multiple zip files. そのようなロールでは、すべてのログ ファイルを単一のフォルダーに解凍したい場合は、一括で解凍するツール (7zip など) を使用します。For such a role, if you want to have all the log files unzipped in to a single folder, use a tool that can unzip in bulk (such as 7zip). そのロールのすべての圧縮済みファイルを選択し、[ここに展開] を選択します。Select all the zipped files for the role, and select extract here. これで、そのロールのすべてのログ ファイルが 1 つのマージされたフォルダーに解凍されます。This unzips all the log files for that role in a single merged folder.
  • また、Get-AzureStackLog_Output.log と呼ばれるファイルが、圧縮済みログ ファイルを含むフォルダーに作成されます。A file called Get-AzureStackLog_Output.log is also created in the folder that contains the zipped log files. このファイルはコマンド出力のログで、ログ収集中の問題のトラブルシューティングに使用できます。This file is a log of the command output, which can be used for troubleshooting problems during log collection. ログ収集の実行後に予期したログ ファイルがない場合を除き、無視してかまわない PS>TerminatingError エントリがログ ファイルに含まれることがあります。Sometimes the log file includes PS>TerminatingError entries which can be safely ignored, unless expected log files are missing after log collection runs.
  • 特定のエラーを調べるには、複数のコンポーネントのログが必要な場合があります。To investigate a specific failure, logs may be needed from more than one component.
    • インフラストラクチャのすべての VM のシステム ログとイベント ログは、VirtualMachines ロールで収集されます。System and Event logs for all infrastructure VMs are collected in the VirtualMachines role.
    • すべてのホストのシステム ログとイベント ログは、BareMetal ロールで収集されます。System and Event logs for all hosts are collected in the BareMetal role.
    • フェールオーバー クラスターおよび Hyper-V のイベント ログは、Storage ロールで収集されます。Failover Cluster and Hyper-V event logs are collected in the Storage role.
    • ACS ログは、Storage ロールと ACS ロールで収集されます。ACS logs are collected in the Storage and ACS roles.

注意

記憶域スペースを効率的に使用し、ログで占領されないようにすることは極めて重要であるため、収集されるログにはサイズと有効期間の制限が強制されます。Size and age limits are enforced on the logs collected as it is essential to ensure efficient utilization of your storage space to ensure it doesn't get flooded with logs. ただし、問題を診断する場合に、こうした制限のためにもう存在していない可能性のあるログが必要となることがあります。However, when diagnosing a problem you sometimes need logs that might not exist anymore because of these limits. このため、外部の記憶域スペース (Azure のストレージ アカウント、オンプレミスの追加の記憶装置など) に 8 ~ 12 時間ごとにログをオフロードし、要件に応じて 1 ~ 3 か月間そこに保存しておくことを強くお勧めしますThus, it is highly recommended that you offload your logs to an external storage space (a storage account in Azure, an additional on-prem storage device etc.) every 8 to 12 hours and keep them there for 1 - 3 months, depending on your requirements. また、この記憶域の場所が暗号化されていることを確認します。Also, ensure this storage location is encrypted.

次の手順Next steps

Microsoft Azure Stack のトラブルシューティングMicrosoft Azure Stack troubleshooting