Verwalten eines Azure Stack Edge Pro FPGA-Geräts über Windows PowerShell

Wichtig

Azure Stack Edge Pro-FPGA-Geräte erreichen im Februar 2024 das Ende des Lebenszyklus. Wenn Sie neue Bereitstellungen in Erwägung ziehen, empfiehlt es sich, Azure Stack Edge Pro 2 oder Azure Stack Edge Pro GPU-Geräte für Ihre Workloads zu prüfen.

Azure Stack Edge Pro FPGA ist eine Lösung, mit der Sie Daten verarbeiten und über ein Netzwerk an Azure senden können. In diesem Artikel werden einige der Konfigurations- und Verwaltungsaufgaben für Ihr Azure Stack Edge Pro FPGA-Gerät beschrieben. Sie können das Azure-Portal, die lokale Webbenutzeroberfläche oder die Windows PowerShell-Schnittstelle verwenden, um Ihr Gerät zu verwalten.

Der Schwerpunkt dieses Artikels liegt auf den Aufgaben, die mithilfe der PowerShell-Schnittstelle ausgeführt werden.

Dieser Artikel enthält die folgenden Verfahren:

  • Herstellen einer Verbindung mit der PowerShell-Schnittstelle
  • Unterstützungspaket erstellen
  • Hochladen des Zertifikats
  • Zurücksetzen des Geräts
  • Anzeigen von Geräteinformationen
  • Abrufen von Computeprotokollen
  • Überwachung und Problembehandlung von Computemodulen

Herstellen einer Verbindung mit der PowerShell-Schnittstelle

Je nach Betriebssystem des Clients unterscheiden sich die Verfahren für Remoteverbindungen mit dem Gerät.

Herstellen einer Remoteverbindung von einem Windows-Client

Vergewissern Sie sich vor dem Beginn, dass auf Ihrem Windows-Client Windows PowerShell 5.0 oder höher ausgeführt wird.

Befolgen Sie die folgenden Schritte, um eine Remoteverbindung von einem Windows-Client aus herzustellen.

  1. Führen Sie eine Windows PowerShell-Sitzung als Administrator aus.

  2. Stellen Sie sicher, dass der Dienst Windows-Remoteverwaltung auf dem Client ausgeführt wird. Geben Sie an der Eingabeaufforderung Folgendes ein:

    winrm quickconfig

    Weitere Informationen finden Sie unter Installation und Konfiguration für die Windows-Remoteverwaltung.

  3. Weisen Sie der IP-Adresse des Geräts eine Variable zu.

    $ip = "<IP-Adresse des Geräts>"

    Ersetzen Sie <device_ip> durch die IP-Adresse des Geräts.

  4. Geben Sie den folgenden Befehl ein, um der Liste der vertrauenswürdigen Hosts des Clients die IP-Adresse Ihres Geräts hinzuzufügen:

    Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force

  5. Starten Sie eine Windows PowerShell-Sitzung auf dem Gerät:

    Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell

  6. Geben Sie das Kennwort an, wenn Sie dazu aufgefordert werden. Verwenden Sie dasselbe Kennwort wie für die Anmeldung bei der lokalen Webbenutzeroberfläche. Das Standardkennwort für die lokale Webbenutzeroberfläche lautet Password1. Wenn Sie mithilfe von PowerShell eine Verbindung mit dem Gerät herstellen konnten, wird die folgende Beispielausgabe angezeigt:

    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.
    
    PS C:\WINDOWS\system32> winrm quickconfig
    WinRM service is already running on this machine.
    PS C:\WINDOWS\system32> $ip = "10.100.10.10"
    PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force
    PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell
    
    WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration.
    [10.100.10.10]: PS>
    

Herstellen einer Remoteverbindung von einem Linux-Client

Gehen Sie auf dem Linux-Client, den Sie für die Verbindung verwenden, folgendermaßen vor:

Weitere Informationen finden Sie unter PowerShell-Remoting über SSH.

Befolgen Sie die folgenden Schritte, um eine Remoteverbindung von einem NFS-Client aus herzustellen.

  1. Um eine PowerShell-Sitzung zu öffnen, geben Sie Folgendes ein:

    pwsh

  2. Zum Herstellen einer Verbindung mit dem Remoteclient geben Sie Folgendes ein:

    Enter-PSSession -ComputerName $ip -Authentication Negotiate -ConfigurationName Minishell -Credential ~\EdgeUser

    Geben Sie bei Aufforderung das Kennwort zur Anmeldung auf Ihrem Gerät an.

Hinweis

Dieses Verfahren funktioniert nicht unter macOS.

Unterstützungspaket erstellen

Wenn Sie Geräteprobleme haben, können Sie anhand der Systemprotokolle ein Protokollpaket erstellen. Der Microsoft-Support nutzt dieses Paket, um die Probleme zu beheben. Um ein Protokollpaket erstellen, gehen Sie wie folgt vor:

  1. Stellen Sie auf Ihrem Gerät eine Verbindung mit der PowerShell-Schnittstelle her.

  2. Verwenden Sie den Befehl Get-HcsNodeSupportPackage, um ein Protokollpaket zu erstellen. Die Nutzung des Cmdlets ist wie folgt:

    Get-HcsNodeSupportPackage [-Path] <string> [-Zip] [-ZipFileName <string>] [-Include {None | RegistryKeys | EtwLogs
            | PeriodicEtwLogs | LogFiles | DumpLog | Platform | FullDumps | MiniDumps | ClusterManagementLog | ClusterLog |
            UpdateLogs | CbsLogs | StorageCmdlets | ClusterCmdlets | ConfigurationCmdlets | KernelDump | RollbackLogs |
            Symbols | NetworkCmdlets | NetworkCmds | Fltmc | ClusterStorageLogs | UTElement | UTFlag | SmbWmiProvider |
            TimeCmds | LocalUILogs | ClusterHealthLogs | BcdeditCommand | BitLockerCommand | DirStats | ComputeRolesLogs |
            ComputeCmdlets | DeviceGuard | Manifests | MeasuredBootLogs | Stats | PeriodicStatLogs | MigrationLogs |
            RollbackSupportPackage | ArchivedLogs | Default}] [-MinimumTimestamp <datetime>] [-MaximumTimestamp <datetime>]
            [-IncludeArchived] [-IncludePeriodicStats] [-Credential <pscredential>]  [<CommonParameters>]
    

    Das Cmdlet erfasst Protokolle von Ihrem Gerät und kopiert diese in eine angegebene Netzwerk- oder lokale Freigabe.

    Die verwendeten Parameter sind wie folgt:

    • -Path: Geben Sie den Netzwerk- oder lokalen Pfad an, in den das Protokollpaket kopiert werden soll. (erforderlich)
    • -Credential: Geben Sie die Anmeldeinformationen für den Zugriff auf den geschützten Pfad an.
    • -Zip: Dient zum Angeben, dass eine ZIP-Datei generiert werden soll.
    • -Include: Dient zum Angeben der Komponenten, die in das Protokollpaket einbezogen werden sollen. Falls nicht angegeben, Default wird angenommen.
    • -IncludeArchived: Dient zum Angeben, dass archivierte Protokolle in das Protokollpaket einbezogen werden sollen.
    • -IncludePeriodicStats: Dient zum Angeben, dass regelmäßige Statistikprotokolle in das Protokollpaket einbezogen werden sollen.

Hochladen des Zertifikats

Ein ordnungsgemäßes SSL-Zertifikat stellt sicher, dass Sie verschlüsselte Informationen an den richtigen Server senden. Neben der Verschlüsselung ermöglicht das Zertifikat auch die Authentifizierung. Sie können über die PowerShell-Schnittstelle des Geräts Ihr eigenes vertrauenswürdiges SSL-Zertifikat hochladen.

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Verwenden Sie das Cmdlet Set-HcsCertificate, um das Zertifikat hochzuladen. Geben Sie bei entsprechender Aufforderung die folgenden Parameter an:

    • CertificateFilePath: Pfad zur Freigabe, der die Zertifikatdatei im PFX-Format enthält.

    • CertificatePassword: Kennwort zum Schutz des Zertifikats.

    • Credentials: Der Benutzername für den Zugriff auf die Freigabe, die das Zertifikat enthält. Geben Sie bei Aufforderung das Kennwort für die Netzwerkfreigabe an.

      Nachfolgend sehen Sie ein Beispiel für die Verwendung dieses Cmdlets:

      Set-HcsCertificate -Scope LocalWebUI -CertificateFilePath "\\myfileshare\certificates\mycert.pfx" -CertificatePassword "mypassword" -Credential "Username"
      

Sie können auch IoT Edge-Zertifikate hochladen, um eine sichere Verbindung zwischen Ihrem IoT Edge-Gerät und den nachgeschalteten Geräten zu ermöglichen, die möglicherweise damit verbunden sind. Es müssen drei Dateien (PEM-Format) installiert werden:

  • Zertifikat der Stammzertifizierungsstelle oder der Zertifizierungsstelle des Besitzers
  • Zertifikat der Gerätezertifizierungsstelle
  • Privater Schlüssel des Geräts

Nachfolgend sehen Sie ein Beispiel für die Verwendung dieses Cmdlets zum Installieren von IoT Edge-Zertifikaten:

Set-HcsCertificate -Scope IotEdge -RootCACertificateFilePath "\\hcfs\root-ca-cert.pem" -DeviceCertificateFilePath "\\hcfs\device-ca-cert.pem\" -DeviceKeyFilePath "\\hcfs\device-private-key.pem" -Credential "username"

Wenn Sie dieses Cmdlet ausführen, werden Sie aufgefordert, das Kennwort für die Netzwerkfreigabe anzugeben.

Weitere Informationen zu Zertifikaten finden Sie unter Zertifikate für Azure IoT Edge oder Installieren von Zertifikaten auf einem Gateway.

Anzeigen von Geräteinformationen

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Verwenden Sie Get-HcsApplianceInfo zum Abrufen der Informationen für Ihr Gerät.

    Nachfolgend sehen Sie ein Beispiel für die Verwendung dieses Cmdlets:

    [10.100.10.10]: PS>Get-HcsApplianceInfo
    
    Id                            : b2044bdb-56fd-4561-a90b-407b2a67bdfc
    FriendlyName                  : DBE-NBSVFQR94S6
    Name                          : DBE-NBSVFQR94S6
    SerialNumber                  : HCS-NBSVFQR94S6
    DeviceId                      : 40d7288d-cd28-481d-a1ea-87ba9e71ca6b
    Model                         : Virtual
    FriendlySoftwareVersion       : Data Box Gateway 1902
    HcsVersion                    : 1.4.771.324
    IsClustered                   : False
    IsVirtual                     : True
    LocalCapacityInMb             : 1964992
    SystemState                   : Initialized
    SystemStatus                  : Normal
    Type                          : DataBoxGateway
    CloudReadRateBytesPerSec      : 0
    CloudWriteRateBytesPerSec     : 0
    IsInitialPasswordSet          : True
    FriendlySoftwareVersionNumber : 1902
    UploadPolicy                  : All
    DataDiskResiliencySettingName : Simple
    ApplianceTypeFriendlyName     : Data Box Gateway
    IsRegistered                  : False
    

    Hier sehen Sie eine Tabelle mit einer Zusammenfassung einiger wichtiger Geräteinformationen:

    Parameter Beschreibung
    FriendlyName Dies ist der Anzeigename des Geräts gemäß Konfiguration über die lokale Web-UI während der Gerätebereitstellung. Der Standardanzeigename ist die Seriennummer des Geräts.
    SerialNumber Die Seriennummer des Geräts ist eine eindeutige Nummer, die im Werk zugewiesen wird.
    Modell Das Modell für Ihr Azure Stack Edge- oder Data Box Gateway-Gerät. Das Modell ist für Azure Stack Edge physisch und für Data Box Gateway virtuell.
    FriendlySoftwareVersion Die benutzerfreundliche Zeichenfolge, die der Version der Gerätesoftware entspricht. Für ein System, auf dem eine Vorschau ausgeführt wird, lautet der Anzeigename der Softwareversion „Data Box Edge 1902“.
    HcsVersion Die Version der HCS-Software, die auf Ihrem Gerät ausgeführt wird. Beispielsweise lautet die HCS-Softwareversion, die Data Box Edge 1902 entspricht, „1.4.771.324“.
    LocalCapacityInMb Die lokale Gesamtkapazität des Geräts in MB.
    IsRegistered Dieser Wert gibt an, ob Ihr Gerät mit dem Dienst aktiviert wurde.

Zurücksetzen Ihres Geräts

Um Ihr Gerät zurückzusetzen, müssen Sie alle Daten vom Daten- und Startdatenträger Ihres Geräts sicher löschen.

Verwenden Sie das Cmdlet Reset-HcsAppliance, um sowohl die Datenträger als auch den Startdatenträger oder nur die Datenträger zu löschen. Mit den Schaltern SecureWipeBootDisk und SecureWipeDataDisks können Sie den Startdatenträger bzw. die Datenträger löschen.

Der Schalter SecureWipeBootDisk setzt den Startdatenträger zurück und macht das Gerät unbrauchbar. Er sollte nur verwendet werden, wenn das Gerät an Microsoft zurückgegeben werden muss. Weitere Informationen finden Sie unter Zurückgeben oder Ersetzen Ihres Azure Data Box Edge-Geräts.

Wenn Sie auf der lokalen Webbenutzeroberfläche das Gerät zurücksetzen, werden nur die Datenträger sicher gelöscht, aber der Startdatenträger bleibt intakt. Der Startdatenträger enthält die Gerätekonfiguration.

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Geben Sie an der Eingabeaufforderung Folgendes ein:

    Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks

    Das folgende Beispiel zeigt die Verwendung dieses Cmdlets:

    [10.128.24.33]: PS>Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
    
    Confirm
    Are you sure you want to perform this action?
    Performing the operation "Reset-HcsAppliance" on target "ShouldProcess appliance".
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): N
    

Abrufen von Computeprotokollen

Wenn die Computerolle auf Ihrem Gerät konfiguriert ist, können Sie die Computeprotokolle auch über die PowerShell-Schnittstelle abrufen.

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Verwenden Sie Get-AzureDataBoxEdgeComputeRoleLogs zum Abrufen der Computeprotokolle für Ihr Gerät.

    Nachfolgend sehen Sie ein Beispiel für die Verwendung dieses Cmdlets:

    Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
    

    Es folgt eine Beschreibung der verwendeten Parameter des Cmdlets:

    • Path: Geben Sie einen Netzwerkpfad für die Freigabe an, in der Sie das Computeprotokollpaket erstellen möchten.
    • Credential: Geben Sie den Benutzernamen für die Netzwerkfreigabe an. Wenn Sie dieses Cmdlet ausführen, müssen Sie das Freigabekennwort angeben.
    • FullLogCollection: Dieser Parameter stellt sicher, dass das Protokollpaket alle Computeprotokolle enthält. Standardmäßig enthält das Protokollpaket nur eine Teilmenge der Protokolle.

Überwachung und Problembehandlung von Computemodulen

Sie können Azure Stack Edge-Geräte, für die die Computerolle konfiguriert ist, mithilfe von zwei verschiedenen Befehlen überwachen oder eine Problembehandlung an ihnen durchführen.

  • Unter Verwendung von iotedge-Befehlen. Diese Befehle sind für grundlegende Vorgänge auf dem Gerät vorgesehen.
  • Unter Verwendung von dkrdbe-Befehlen. Diese Befehle sind für umfangreiche Vorgänge auf dem Gerät vorgesehen.

Um eine der oben aufgeführten Gruppen von Befehlen auszuführen, müssen Sie eine Verbindung mit der PowerShell-Schnittstelle herstellen.

Verwenden von iotedge-Befehlen

Um eine Liste der verfügbaren Befehle anzuzeigen, stellen Sie eine Verbindung zur PowerShell-Schnittstelle her, und verwenden Sie die iotedge-Funktion.

[10.100.10.10]: PS>iotedge -?                                                                                                                                                                                                 Usage: iotedge COMMAND

Commands:
   check
   list
   logs
   restart

[10.100.10.10]: PS>

Die folgende Tabelle enthält eine kurze Beschreibung der für iotedge verfügbaren Befehle:

Befehl Beschreibung
check Durchführen einer automatischen Überprüfung auf häufige Konfigurations- und Verbindungsprobleme
list Module auflisten
logs Abrufen der Protokolle eines Moduls
restart Beenden und Neustarten eines Moduls

Verwenden von dkrdbe-Befehlen

Um eine Liste der verfügbaren Befehle anzuzeigen, stellen Sie eine Verbindung zur PowerShell-Schnittstelle her, und verwenden Sie die dkrdbe-Funktion.

[10.100.10.10]: PS>dkrdbe -?
Usage: dkrdbe COMMAND

Commands:
   image [prune]
   images
   inspect
   login
   logout
   logs
   port
   ps
   pull
   start
   stats
   stop
   system [df]
   top

[10.100.10.10]: PS>

Die folgende Tabelle enthält eine kurze Beschreibung der für dkrdbe verfügbaren Befehle:

Befehl Beschreibung
image Verwalten von Images. Zum Entfernen nicht verwendeter Images verwenden Sie dkrdbe image prune -a -f
images Auflisten von Images
inspect Zurückgeben detaillierter Informationen zu Docker-Objekten
login Anmelden bei einer Docker-Registrierung
logout Abmelden von einer Docker-Registrierung
logs Abrufen der Protokolle eines Containers
port Auflisten von Portzuordnungen oder einer bestimmten Zuordnung für den Container
ps Auflisten von Containern
pull Ziehen eines Images oder eines Repositorys aus einer Registrierung
start Starten eines oder mehrerer gestoppter Container
stats Anzeigen eines Livestreams der Ressourcennutzungsstatistiken für Container
stop Beenden eines oder mehrerer ausgeführter Container
system Verwalten von Docker
top Anzeigen der ausgeführten Prozesse eines Containers

Verwenden Sie dkrdbe <command-name> --help, um Hilfe zu einem der verfügbaren Befehle anzufordern.

Um beispielsweise zu erfahren, wie der Befehl port verwendet wird, geben Sie Folgendes ein:

[10.100.10.10]: P> dkrdbe port --help

Usage:  dkr port CONTAINER [PRIVATE_PORT[/PROTO]]

List port mappings or a specific mapping for the container
[10.100.10.10]: P> dkrdbe login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username
[10.100.10.10]: PS>

Die verfügbaren Befehle für die dkrdbe-Funktion verwenden die gleichen Parameter wie die normalen Docker-Befehle. Informationen über die Optionen und Parameter, die mit dem Docker-Befehl verwendet werden, finden Sie im Abschnitt über das Verwenden der Docker-Befehlszeile.

Prüfen, ob das Modul erfolgreich bereitgestellt wurde

Computingmodule sind Container mit implementierter Geschäftslogik. Um festzustellen, ob ein Computingmodul erfolgreich bereitgestellt wurde, führen Sie den ps-Befehl aus, und prüfen Sie, ob der (dem Computingmodul entsprechende) Container ausgeführt wird.

Um die Liste aller Container (einschließlich angehaltener Container) abzurufen, führen Sie den Befehl ps -a aus.

[10.100.10.10]: P> dkrdbe ps -a
CONTAINER ID        IMAGE                                                COMMAND                   CREATED             STATUS              PORTS                                                                  NAMES
d99e2f91d9a8        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  movefile
0a06f6d605e9        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  filemove
2f8a36e629db        mcr.microsoft.com/azureiotedge-hub:1.0               "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days           0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp   edgeHub
acce59f70d60        mcr.microsoft.com/azureiotedge-agent:1.0             "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days                                                                                  edgeAgent
[10.100.10.10]: PS>

Wenn beim Erstellen des Containerimages oder beim Abrufen des Images ein Fehler aufgetreten ist, führen Sie logs edgeAgent aus. EdgeAgent ist der IoT Edge-Runtime-Container, der für die Bereitstellung anderer Container zuständig ist.

Da logs edgeAgent alle Protokolle sichert, lassen sich mit der Option --tail 20 die zuletzt aufgetretenen Fehler anzeigen.

[10.100.10.10]: PS>dkrdbe logs edgeAgent --tail 20
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Connected socket /var/run/iotedge/mgmt.sock
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Sending request http://mgmt.sock/modules?api-version=2018-06-28
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Getting edge agent config...
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Obtained edge agent config
2019-02-28 23:38:23.469 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Edgelet.ModuleManagementHttpClient] - Received a valid Http response from unix:///var/run/iotedge/mgmt.soc
k for List modules
--------------------CUT---------------------
--------------------CUT---------------------
08:28.1007774+00:00","restartCount":0,"lastRestartTimeUtc":"2019-02-26T20:08:28.1007774+00:00","runtimeStatus":"running","version":"1.0","status":"running","restartPolicy":"always
","type":"docker","settings":{"image":"edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64","imageHash":"sha256:47778be0602fb077d7bc2aaae9b0760fbfc7c058bf4df192f207ad6cbb96f7cc","c
reateOptions":"{\"HostConfig\":{\"Binds\":[\"/home/hcsshares/share4-dl460:/home/input\",\"/home/hcsshares/share4-iot:/home/output\"]}}"},"env":{}}
2019-02-28 23:38:28.480 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Planners.HealthRestartPlanner] - HealthRestartPlanner created Plan, with 0 command(s).

Abrufen von Containerprotokollen

Um Protokolle für einen bestimmten Container abzurufen, lassen Sie sich zunächst die Liste der Container erstellen. Rufen Sie dann die Protokolle für den Container ab, an denen Sie interessiert sind.

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Führen Sie zum Abrufen der Liste der ausgeführten Container den Befehl ps aus.

    [10.100.10.10]: P> dkrdbe ps
    CONTAINER ID        IMAGE                                                COMMAND                   CREATED             STATUS              PORTS                                                                  NAMES
    d99e2f91d9a8        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  movefile
    0a06f6d605e9        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  filemove
    2f8a36e629db        mcr.microsoft.com/azureiotedge-hub:1.0               "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days           0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp   edgeHub
    acce59f70d60        mcr.microsoft.com/azureiotedge-agent:1.0             "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days                                                                                  edgeAgent
    
  3. Notieren Sie sich die Container-ID des Containers, dessen Protokolle Sie benötigen.

  4. Führen Sie zum Abrufen der Protokolle für einen bestimmten Container den Befehl logs aus, und geben Sie dabei die Container-ID an.

    [10.100.10.10]: PS>dkrdbe logs d99e2f91d9a8
    02/26/2019 18:21:45: Info: Opening module client connection.
    02/26/2019 18:21:46: Info: Initializing with input: /home/input, output: /home/output.
    02/26/2019 18:21:46: Info: IoT Hub module client initialized.
    02/26/2019 18:22:24: Info: Received message: 1, SequenceNumber: 0 CorrelationId: , MessageId: 081886a07e694c4c8f245a80b96a252a Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\__Microsoft Data Box Edge__\\Upload\\Errors.xml","ShareName":"share4-dl460"}]
    02/26/2019 18:22:24: Info: Moving input file: /home/input/__Microsoft Data Box Edge__/Upload/Errors.xml to /home/output/__Microsoft Data Box Edge__/Upload/Errors.xml
    02/26/2019 18:22:24: Info: Processed event.
    02/26/2019 18:23:38: Info: Received message: 2, SequenceNumber: 0 CorrelationId: , MessageId: 30714d005eb048e7a4e7e3c22048cf20 Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\f [10]","ShareName":"share4-dl460"}]
    02/26/2019 18:23:38: Info: Moving input file: /home/input/f [10] to /home/output/f [10]
    02/26/2019 18:23:38: Info: Processed event.
    

Überwachen der Nutzungsstatistik des Geräts

Verwenden Sie den Befehl stats, um den Arbeitsspeicher, die CPU-Auslastung und die E/A-Prozesse auf dem Gerät zu überwachen.

  1. Herstellen einer Verbindung mit der PowerShell-Schnittstelle.

  2. Führen Sie den Befehl stats aus, um den Livestream zu deaktivieren und nur das erste Ergebnis abzurufen.

    dkrdbe stats --no-stream
    

    Nachfolgend sehen Sie ein Beispiel für die Verwendung dieses Cmdlets:

    [10.100.10.10]: P> dkrdbe stats --no-stream
    CONTAINER ID        NAME          CPU %         MEM USAGE / LIMIT     MEM %         NET I/O             BLOCK I/O           PIDS
    d99e2f91d9a8        movefile      0.0           24.4MiB / 62.89GiB    0.04%         751kB / 497kB       299kB / 0B          14
    0a06f6d605e9        filemove      0.00%         24.11MiB / 62.89GiB   0.04%         679kB / 481kB       49.5MB / 0B         14
    2f8a36e629db        edgeHub       0.18%         173.8MiB / 62.89GiB   0.27%         4.58MB / 5.49MB     25.7MB / 2.19MB     241
    acce59f70d60        edgeAgent     0.00%         35.55MiB / 62.89GiB   0.06%         2.23MB / 2.31MB     55.7MB / 332kB      14
    [10.100.10.10]: PS>
    

Beenden der Remotesitzung

Schließen Sie das PowerShell-Fenster, um die PowerShell-Remotesitzung zu beenden.

Nächste Schritte