Telemetrie und Problembehandlung
Wichtig
Die räumliche Analyse von Azure KI Vision wird am 30. März 2025 eingestellt. Wechseln Sie vor dem angegebenen Datum zu Azure KI Video Indexer oder einer anderen Open-Source-Lösung. Wir empfehlen Ihnen jedoch, den Wechsel früher zu vollziehen, um die Vorteile von Azure KI Video Indexer zu nutzen. Zusätzlich zu den vertrauten Features, die Sie bereits verwenden, finden Sie hier einen kurzen Vergleich zwischen der räumlichen Analyse von Azure KI Vision und Azure KI Video Indexer.
Funktion | Azure KI Vision Räumliche Analyse | Azure KI Video Indexer |
---|---|---|
Edge-Unterstützung: | Ja | Ja |
Objekterkennung | Nur Personen- und Fahrzeugerkennung | Erkennt mehr als 1.000 Objekte. |
Audio-/Sprachverarbeitung | Nicht unterstützt | Unterstützt (einschließlich Sprachtranskription, Übersetzung und Zusammenfassung) Unterstützt >(einschließlich Sprachtranskription und Stimmungsanalyse) |
Ereigniserkennung und -nachverfolgung | Unterstützt (Nachverfolgen von Personen und Fahrzeugen, Ereigniserkennung) | Noch keine Unterstützung am Edge. Teilweise in der Cloud unterstützt. |
Azure Arc-Unterstützung | Nicht unterstützt | Native Unterstützung |
Schwerpunkt | Visuelle Analyse mit spezieller Nachverfolgung | Umfassende Analyse von Audioinhalten und visuellen Inhalten |
Ab jetzt bis zum 30. März 2025 können Sie die räumliche Analyse von Azure KI Vision weiterhin verwenden oder vor dem angegebenen Datum zu Azure KI Video Indexer wechseln. Nach dem 30. März 2025 wird der Container für räumliche Analyse nicht mehr unterstützt und verarbeitet keine neuen Streams mehr.
Die räumliche Analyse umfasst eine Reihe von Features zum Überwachen der Systemintegrität und zur Unterstützung bei der Diagnose von Problemen.
Aktivieren von Visualisierungen
Um die Visualisierung von KI Insights-Ereignissen in einem Videoframe zu aktivieren, müssen Sie die .debug
-Version eines Vorgangs zur räumlichen Analyse auf einem Desktopcomputer oder einer Azure-VM verwenden. Die Visualisierung ist auf Azure Stack Edge-Geräten nicht möglich. Es stehen vier Debugvorgänge zur Verfügung.
Wenn es sich bei Ihrem Gerät um einen lokalen Computer oder eine Azure-GPU-VM (mit aktiviertem Remotedesktop) handelt, können Sie zur .debug
-Version eines beliebigen Vorgangs wechseln und die Ausgabe visualisieren.
Öffnen Sie den Desktop entweder lokal oder mithilfe eines Remotedesktopclients auf dem Hostcomputer, auf dem die räumliche Analyse ausgeführt wird.
Führen Sie im Terminal
xhost +
aus.Aktualisieren Sie das Bereitstellungsmanifest unter dem
spaceanalytics
-Modul mit dem Wert derDISPLAY
-Umgebungsvariablen. Sie können den Wert ermitteln, indem Sieecho $DISPLAY
im Terminal auf dem Hostcomputer ausführen."env": { "DISPLAY": { "value": ":11" } }
Aktualisieren Sie den Graphen im Bereitstellungsmanifest, den Sie im Debugmodus ausführen möchten. Im folgenden Beispiel aktualisieren wir die Vorgangs-ID (operationId) auf „cognitiveservices.vision.spatialanalysis-personcrossingpolygon.debug“. Ein neuer Parameter
VISUALIZER_NODE_CONFIG
ist erforderlich, um das Schnellansichtsfenster zu aktivieren. Alle Vorgänge sind in der Debugvariante verfügbar. Wenn Sie freigegebene Knoten verwenden, verwenden Sie den Vorgang „cognitiveservices.vision.spatialanalysis.debug“, und fügen SieVISUALIZER_NODE_CONFIG
den Instanzparametern hinzu."zonecrossing": { "operationId" : "cognitiveservices.vision.spatialanalysis-personcrossingpolygon.debug", "version": 1, "enabled": true, "parameters": { "VIDEO_URL": "Replace http url here", "VIDEO_SOURCE_ID": "zonecrossingcamera", "VIDEO_IS_LIVE": false, "VIDEO_DECODE_GPU_INDEX": 0, "DETECTOR_NODE_CONFIG": "{ \"gpu_index\": 0 }", "CAMERACALIBRATOR_NODE_CONFIG": "{ \"gpu_index\": 0}", "VISUALIZER_NODE_CONFIG": "{ \"show_debug_video\": true }", "SPACEANALYTICS_CONFIG": "{\"zones\":[{\"name\":\"queue\",\"polygon\":[[0.3,0.3],[0.3,0.9],[0.6,0.9],[0.6,0.3],[0.3,0.3]], \"threshold\":35.0}]}" } }
Stellen Sie die Daten erneut bereit, und das Schnellansichtsfenster wird auf dem Hostcomputer angezeigt
Nachdem die Bereitstellung abgeschlossen ist, müssen Sie möglicherweise die Datei
.Xauthority
vom Hostcomputer in den Container kopieren und diesen neu starten. Im folgenden Beispiel istpeopleanalytics
der Name des Containers auf dem Hostcomputer.sudo docker cp $XAUTHORITY peopleanalytics:/root/.Xauthority sudo docker stop peopleanalytics sudo docker start peopleanalytics xhost +
Sammeln von Telemetriedaten zur Systemintegrität
Bei Telegraf handelt es sich um ein Open-Source-Image, das für räumliche Analysen verwendet werden kann und in Microsoft Container Registry verfügbar ist. Es akzeptiert die folgenden Eingaben und sendet sie an Azure Monitor. Das Telegraf-Modul kann mit den gewünschten benutzerdefinierten Eingaben und Ausgaben erstellt werden. Die Konfiguration des Telegraf-Moduls in der räumlichen Analyse ist Teil des Bereitstellungsmanifests (Verknüpfung oben). Dieses Modul ist optional und kann aus dem Manifest entfernt werden, wenn Sie es nicht benötigen.
Eingaben:
- Metriken für räumliche Analysen
- Datenträgermetriken
- CPU-Metriken
- Docker-Metriken
- GPU-Metriken
Ausgaben:
- Azure Monitor
Das bereitgestellte Telegraf-Modul für räumliche Analysen veröffentlicht alle Telemetriedaten, die vom Container für räumliche Analysen ausgegeben werden, in Azure Monitor. Weitere Informationen zum Hinzufügen von Azure Monitor zu Ihrem Abonnement finden Sie unter Azure Monitor.
Nachdem Sie Azure Monitor eingerichtet haben, müssen Sie Anmeldeinformationen erstellen, die es dem Modul ermöglichen, Telemetriedaten zu senden. Sie können einen neuen Dienstprinzipal über das Azure-Portal oder mit dem folgenden Azure CLI-Befehl erstellen.
Hinweis
Für diesen Befehl müssen Sie über Besitzerberechtigungen für das Abonnement verfügen.
# Find your Azure IoT Hub resource ID by running this command. The resource ID should start with something like
# "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/..."
az iot hub list
# Create a Service Principal with `Monitoring Metrics Publisher` role in the IoTHub resource:
# Save the output from this command. The values will be used in the deployment manifest. The password won't be shown again so make sure to write it down
az ad sp create-for-rbac --role="Monitoring Metrics Publisher" --name "<principal name>" --scopes="<resource ID of IoT Hub>"
Suchen Sie im Bereitstellungsmanifest für Ihr Azure Stack Edge-Gerät, Ihren Desktopcomputer oder Ihre Azure-VM mit GPU nach dem Modul Telegraf, und ersetzen Sie die folgenden Werte durch die Informationen zum Dienstprinzipal aus dem vorherigen Schritt, und führen Sie die Bereitstellung dann noch mal aus.
"Telegraf": {
"settings": {
"image": "mcr.microsoft.com/azure-cognitive-services/vision/spatial-analysis/Telegraf:1.0",
"createOptions": "{\"HostConfig\":{\"Runtime\":\"nvidia\",\"NetworkMode\":\"azure-iot-edge\",\"Memory\":33554432,\"Binds\":[\"/var/run/docker.sock:/var/run/docker.sock\"]}}"
},
"type": "docker",
"env": {
"AZURE_TENANT_ID": {
"value": "<Tenant Id>"
},
"AZURE_CLIENT_ID": {
"value": "Application Id"
},
"AZURE_CLIENT_SECRET": {
"value": "<Password>"
},
"region": {
"value": "<Region>"
},
"resource_id": {
"value": "/subscriptions/{subscriptionId}/resourceGroups/{resoureGroupName}/providers/Microsoft.Devices/IotHubs/{IotHub}"
},
...
Nachdem das Telegraf-Modul bereitgestellt wurde, können Sie entweder über den Azure Monitor-Dienst auf die gemeldeten Metriken zugreifen, oder indem Sie in der IoT Hub-Instanz im Azure-Portal Überwachung auswählen.
Ereignisse zur Systemintegrität
Veranstaltungsname | BESCHREIBUNG |
---|---|
archon_exit | Wird gesendet, wenn ein Benutzer den Status des Moduls zur räumlichen Analyse von Wird ausgeführt in Beendet ändert. |
archon_error | Wird gesendet, wenn ein Prozess im Container abstürzt. Hierbei handelt es sich um einen kritischen Fehler. |
InputRate | Die Rate, mit der der Graph Videoeingaben verarbeitet. Wird alle fünf Minuten gemeldet. |
OutputRate | Die Rate, mit der der Graph KI-Erkenntnisse ausgibt. Wird alle fünf Minuten gemeldet. |
archon_allGraphsStarted | Wird gesendet, wenn alle Graphen gestartet wurden. |
archon_configchange | Wird gesendet, wenn eine Graphkonfiguration geändert wurde. |
archon_graphCreationFailed | Wird gesendet, wenn der Graph mit der Fehlermeldung graphId nicht gestartet werden kann. |
archon_graphCreationSuccess | Wird gesendet, wenn der Graph mit der Meldung graphId erfolgreich gestartet wird. |
archon_graphCleanup | Wird gesendet, wenn der Graph mit der Meldung graphId bereinigt und beendet wird. |
archon_graphHeartbeat | Heartbeat, der jede Minute für jeden Graph eines Skills gesendet wird. |
archon_apiKeyAuthFail | Wird gesendet, wenn der Vision-Ressourcenschlüssel den Container aufgrund der folgenden Gründe für mehr als 24 Stunden nicht authentifizieren kann: Kontingent aufgebraucht, ungültig oder offline |
VideoIngesterHeartbeat | Wird jede Stunde gesendet, um anzugeben, dass Videodaten von der Videoquelle gestreamt werden; enthält auch die Anzahl der Fehler in dieser Stunde. Wird für jeden Graph gemeldet. |
VideoIngesterState | Meldet Beendet oder Gestartet für das Videostreaming. Wird für jeden Graph gemeldet. |
Problembehandlung bei einem IoT Edge-Gerät
Mit dem Befehlszeilentool iotedge
können Sie den Status und die Protokolle ausgeführter Module überprüfen. Zum Beispiel:
iotedge list
: Gibt eine Liste der ausgeführten Module an. Sie können mitiotedge logs edgeAgent
eine weitere Überprüfung auf Fehler ausführen. Wenniotedge
hängen bleibt, können Sie mitiotedge restart edgeAgent
einen Neustart ausführen.iotedge logs <module-name>
- Mit
iotedge restart <module-name>
starten Sie ein bestimmtes Modul neu.
Sammeln von Protokolldateien mit dem Diagnosecontainer
Bei der räumlichen Analyse werden Docker-Debugprotokolle generiert, mit denen Sie Laufzeitprobleme diagnostizieren und die Sie in Supporttickets einfügen können. Sie können das Diagnosemodul für räumliche Analysen in Microsoft Container Registry herunterladen. Suchen Sie in der Manifestbereitstellungsdatei für Ihr Azure Stack Edge-Gerät, Ihren Desktopcomputer oder Ihre Azure-VM mit GPU nach dem Modul Diagnose.
Fügen Sie im Abschnitt „env“ die folgende Konfiguration hinzu:
"diagnostics": {
"settings": {
"image": "mcr.microsoft.com/azure-cognitive-services/vision/spatial-analysis/diagnostics:1.0",
"createOptions": "{\"HostConfig\":{\"Mounts\":[{\"Target\":\"/usr/bin/docker\",\"Source\":\"/home/data/docker\",\"Type\":\"bind\"},{\"Target\":\"/var/run\",\"Source\":\"/run\",\"Type\":\"bind\"}],\"LogConfig\":{\"Config\":{\"max-size\":\"500m\"}}}}"
}
Es wird empfohlen, geringe Dateigrößen zu verwenden, um die auf einen Remoteendpunkt wie z. B. Azure Blob Storage hochgeladenen Protokolle zu optimieren. Im Beispiel unten finden Sie die empfohlene Konfiguration für Docker-Protokolle.
{
"HostConfig": {
"LogConfig": {
"Config": {
"max-size": "500m",
"max-file": "1000"
}
}
}
}
Konfigurieren der Protokollierungsebene
Über die Konfiguration der Protokollierungsebene können Sie die Ausführlichkeit der generierten Protokolle steuern. Die unterstützten Protokollierungsebenen sind: none
, verbose
, info
, warning
und error
. Die Standardprotokollierungsebene für Knoten und die Plattform ist info
.
Die Protokollierungsebene kann global durch Festlegen der Umgebungsvariable ARCHON_LOG_LEVEL
auf einen der zulässigen Werte geändert werden.
Sie kann auch über das Dokument für IoT Edge-Modulzwillinge global für alle bereitgestellten Skills oder für jeden einzelnen Skill konfiguriert werden, indem die Werte für platformLogLevel
und nodesLogLevel
wie unten gezeigt festgelegt werden.
{
"version": 1,
"properties": {
"desired": {
"globalSettings": {
"platformLogLevel": "verbose"
},
"graphs": {
"samplegraph": {
"nodesLogLevel": "verbose",
"platformLogLevel": "verbose"
}
}
}
}
}
Protokolle werden erfasst
Hinweis
Das diagnostics
-Modul wirkt sich nicht auf den Protokollierungsinhalt aus, es unterstützt nur das Erfassen, Filtern und Hochladen vorhandener Protokolle.
Sie benötigen mindestens die Docker-API-Version 1.40, um dieses Modul verwenden zu können.
Die Beispielbereitstellungsmanifestdatei für Ihr Azure Stack Edge-Gerät, Ihren Desktopcomputer oder Ihre Azure-VM mit GPU beinhaltet ein Modul mit dem Namen diagnostics
, das Protokolle sammelt und hochlädt. Dieses Modul ist standardmäßig deaktiviert und sollte durch die Konfiguration des IoT Edge-Moduls aktiviert werden, wenn Sie auf Protokolle zugreifen müssen.
Die diagnostics
-Sammlung ist bedarfsgesteuert und wird über eine direkte IoT Edge-Methode gesteuert. Sie kann Protokolle an Azure Blob Storage senden.
Konfigurieren der Uploadziele für die Diagnose
Wählen Sie im IoT Edge-Portal Ihr Gerät und dann das Modul diagnostics aus. Suchen Sie in der Beispielbereitstellungsmanifestdatei für Ihr Azure Stack Edge-Gerät, Ihren Desktopcomputer oder Ihre Azure-VM mit GPU nach dem Abschnitt Umgebungsvariablen für Diagnosen mit dem Namen env
, und fügen Sie die folgenden Informationen hinzu:
Konfigurieren des Uploads in Azure Blob Storage
- Erstellen Sie ein eigenes Azure Blob Storage-Konto, sofern Sie noch keines haben.
- Rufen Sie im Azure-Portal die Verbindungszeichenfolge für Ihr Speicherkonto ab. Er befindet sich in Zugriffstasten.
- Protokolle für räumliche Analysen werden automatisch in einen Blob Storage-Container mit dem Namen rtcvlogs hochgeladen, der das folgende Dateinamensformat aufweist:
{CONTAINER_NAME}/{START_TIME}-{END_TIME}-{QUERY_TIME}.log
.
"env":{
"IOTEDGE_WORKLOADURI":"fd://iotedge.socket",
"AZURE_STORAGE_CONNECTION_STRING":"XXXXXX", //from the Azure Blob Storage account
"ARCHON_LOG_LEVEL":"info"
}
Hochladen von Protokollen von räumlichen Analysen
Die Protokolle werden bedarfsgesteuert mit der IoT Edge-Methode getRTCVLogs
im diagnostics
-Modul hochgeladen.
- Navigieren Sie zur Portalseite Ihres IoT-Hubs, und wählen Sie Edgegeräte und dann Ihr Gerät und Ihr diagnostics-Modul aus.
- Wechseln Sie zur Detailseite des Moduls, und wählen Sie die Registerkarte Direkte Methode aus.
- Geben Sie für den Methodennamen
getRTCVLogs
und als Nutzlast eine Zeichenfolge im JSON-Format ein. Sie können auch{}
eingeben. Dabei handelt es sich um eine leere Nutzlast. - Legen Sie die Timeouts für Verbindungen und Methoden fest, und wählen Sie Methode aufrufen aus.
- Wählen Sie den Zielcontainer aus, und erstellen Sie eine Zeichenfolge für die JSON-Nutzlast mit den im Abschnitt Protokollierungssyntax beschriebenen Parametern. Wählen Sie Methode aufrufen aus, um die Anforderung auszuführen.
Hinweis
Wenn Sie die getRTCVLogs
-Methode mit einer leeren Nutzlast aufrufen, wird eine Liste aller auf dem Gerät bereitgestellten Container zurückgegeben. Beim Methodennamen muss die Groß-/Kleinschreibung beachtet werden. Wenn ein falscher Methodenname angegeben wurde, erhalten Sie einen 501-Fehler.
Protokollierungssyntax
In der folgenden Tabelle sind die Parameter aufgeführt, die Sie beim Abfragen von Protokollen verwenden können.
Stichwort | BESCHREIBUNG | Standardwert |
---|---|---|
StartTime | Gewünschte Startzeit der Protokollierung in Millisekunden (UTC). | -1 ist die Startzeit für die Runtime des Containers. Wenn ein Zeitbereich in der Form [-1.-1] verwendet wird, gibt die API Protokolle der letzten Stunde zurück. |
EndTime | Gewünschte Endzeit der Protokollierung in Millisekunden (UTC). | -1 ist die aktuelle Zeit. Wenn ein Zeitbereich in der Form [-1.-1] verwendet wird, gibt die API Protokolle aus der letzten Stunde zurück. |
ContainerId | Zielcontainer für das Abrufen von Protokollen. | null , wenn keine Container-ID vorhanden ist. Die API gibt alle verfügbaren Containerinformationen mit den IDs zurück. |
DoPost | Führt den Aktualisierungsvorgang aus. Wenn als Wert false festgelegt ist, wird der angeforderte Vorgang ausgeführt und die Uploadgröße zurückgegeben, ohne den Upload auszuführen. Wenn als Wert true festgelegt ist, wird das asynchrone Hochladen der ausgewählten Protokolle initiiert |
false : nicht hochladen. |
Drosselung | Gibt an, wie viele Zeilen an Protokollen pro Batch hochgeladen werden sollen. | 1000 : Verwenden Sie diesen Parameter, um die Veröffentlichungsgeschwindigkeit anzupassen. |
Filter | Filtert die hochzuladenden Protokolle. | null : Filter können als Schlüssel-Wert-Paare angegeben werden, die auf der Struktur der Protokolle für die räumlichen Analysen basieren: [UTC, LocalTime, LOGLEVEL,PID, CLASS, DATA] . Beispiel: {"TimeFilter":[-1,1573255761112]}, {"TimeFilter":[-1,1573255761112]}, {"CLASS":["myNode"] |
Die Attribute in der Antwort auf die Abfrage sind in der folgenden Tabelle aufgeführt.
Stichwort | Beschreibung |
---|---|
DoPost | Entweder true oder false. Gibt an, ob Protokolle hochgeladen wurden. Wenn Sie keine Protokolle hochladen, gibt die API Informationen synchron zurück. Wenn Sie Protokolle hochladen, gibt die API „200“ zurück, sofern die Anforderung gültig ist, und beginnt damit, die Protokolle asynchron hochzuladen. |
TimeFilter | Der auf die Protokolle angewandte Zeitfilter. |
ValueFilters | Die auf die Protokolle angewandten Schlüsselwortfilter. |
TimeStamp | Startzeit der Methodenausführung. |
ContainerId | ID des Zielcontainers. |
FetchCounter | Gesamtanzahl der Protokollzeilen. |
FetchSizeInByte | Gesamtmenge an Protokolldaten in Byte. |
MatchCounter | Gültige Anzahl von Protokollzeilen. |
MatchSizeInByte | Gültige Menge an Protokolldaten in Byte. |
FilterCount | Gesamtanzahl der Protokollzeilen nach dem Anwenden des Filters. |
FilterSizeInByte | Gesamtmenge an Protokolldaten nach dem Anwenden des Filters. |
FetchLogsDurationInMiliSec | Dauer des Abrufvorgangs. |
PaseLogsDurationInMiliSec | Dauer des Filtervorgangs. |
PostLogsDurationInMiliSec | Dauer des Veröffentlichungsvorgangs. |
Beispielanforderung
{
"StartTime": -1,
"EndTime": -1,
"ContainerId": "5fa17e4d8056e8d16a5a998318716a77becc01b36fde25b3de9fde98a64bf29b",
"DoPost": false,
"Filters": null
}
Beispielantwort
{
"status": 200,
"payload": {
"DoPost": false,
"TimeFilter": [-1, 1581310339411],
"ValueFilters": {},
"Metas": {
"TimeStamp": "2020-02-10T04:52:19.4365389+00:00",
"ContainerId": "5fa17e4d8056e8d16a5a998318716a77becc01b36fde25b3de9fde98a64bf29b",
"FetchCounter": 61,
"FetchSizeInByte": 20470,
"MatchCounter": 61,
"MatchSizeInByte": 20470,
"FilterCount": 61,
"FilterSizeInByte": 20470,
"FetchLogsDurationInMiliSec": 0,
"PaseLogsDurationInMiliSec": 0,
"PostLogsDurationInMiliSec": 0
}
}
}
Überprüfen Sie die Zeilen, Zeiten und Größen des Abrufprotokolls. Wenn diese Einstellungen ordnungsgemäß aussehen, ersetzen Sie DoPost durch true
, um die Protokolle mit denselben Filtern an die Ziele zu pushen.
Sie können Protokolle bei der Problembehandlung aus Azure Blob Storage exportieren.
Problembehandlung beim Azure Stack Edge-Gerät
Der folgende Abschnitt bietet Hilfe beim Debuggen und Überprüfen des Status Ihres Azure Stack Edge-Geräts.
Greifen Sie auf den Kubernetes-API-Endpunkt zu.
- Navigieren Sie auf der lokalen Benutzeroberfläche Ihres Geräts zur Seite Geräte.
- Kopieren Sie unter Geräteendpunkte den Dienstendpunkt der Kubernetes-API. Dieser Endpunkt ist eine Zeichenfolge im folgenden Format:
https://compute..[device-IP-address]
. - Speichern Sie die Endpunktzeichenfolge. Sie nutzen dies später, wenn Sie
kubectl
für den Zugriff auf das Kubernetes-Cluster konfigurieren.
Herstellen einer Verbindung mit der PowerShell-Schnittstelle
Stellen Sie eine Remoteverbindung von einem Windows-Client her. Nachdem der Kubernetes-Cluster erstellt wurde, können Sie die Anwendungen über diesen Cluster verwalten. Dazu müssen Sie eine Verbindung mit der PowerShell-Schnittstelle des Geräts herstellen. Je nach Betriebssystem des Clients unterscheiden sich die Verfahren für Remoteverbindungen mit dem Gerät. Die folgenden Schritte gelten für einen Windows-Client, auf dem PowerShell ausgeführt wird.
Tipp
- Vergewissern Sie sich vor dem Beginn, dass auf Ihrem Windows-Client Windows PowerShell 5.0 oder höher ausgeführt wird.
- PowerShell ist auch unter Linux verfügbar.
Führen Sie eine Windows PowerShell-Sitzung als Administrator aus.
Stellen Sie sicher, dass der Dienst Windows-Remoteverwaltung auf dem Client ausgeführt wird. Geben Sie an der Eingabeaufforderung
winrm quickconfig
ein:Weisen Sie der IP-Adresse des Geräts eine Variable zu. Beispiel:
$ip = "<device-ip-address>"
.Verwenden Sie den folgenden Befehl, 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
Starten Sie eine Windows PowerShell-Sitzung auf dem Gerät.
Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell
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
.
Zugreifen auf den Kubernetes-Cluster
Nachdem der Kubernetes-Cluster erstellt wurde, können Sie mit dem Befehlszeilentool kubectl
auf den Cluster zugreifen.
Erstellen Sie einen neuen Namespace.
New-HcsKubernetesNamespace -Namespace
Erstellen Sie einen Benutzer, und rufen Sie eine Konfigurationsdatei ab. Mit diesem Befehl werden Konfigurationsinformationen zum Kubernetes-Cluster ausgegeben. Kopieren Sie diese Informationen, und speichern Sie sie in einer Datei mit dem Namen config. Speichern Sie die Datei nicht mit einer Dateierweiterung.
New-HcsKubernetesUser -UserName
Fügen Sie die Datei config im Ordner .kube Ihres Benutzerprofils auf dem lokalen Computer hinzu.
Ordnen Sie den Namespace dem Benutzer zu, den Sie erstellt haben.
Grant-HcsKubernetesNamespaceAccess -Namespace -UserName
Mit dem folgenden Befehl können Sie jetzt
kubectl
auf dem Windows-Client installieren:curl https://storage.googleapis.com/kubernetesrelease/release/v1.15.2/bin/windows/amd64/kubectl.exe -O kubectl.exe
Fügen Sie der Datei „hosts“ auf Ihrem System einen DNS-Eintrag hinzu.
- Führen Sie Editor als Administrator aus, und öffnen Sie die Datei hosts unter
C:\windows\system32\drivers\etc\hosts
. - Erstellen Sie einen Eintrag in der Datei „hosts“ mit der IP-Adresse des Geräts und der DNS-Domäne von der Seite Geräte auf der lokalen Benutzeroberfläche. Sie sollten einen Endpunkt ähnlich dem folgenden verwenden:
https://compute.asedevice.microsoftdatabox.com/10.100.10.10
.
- Führen Sie Editor als Administrator aus, und öffnen Sie die Datei hosts unter
Überprüfen Sie, ob Sie eine Verbindung mit den Kubernetes-Pods herstellen können.
kubectl get pods -n "iotedge"
Führen Sie zum Abrufen von Containerprotokollen den folgenden Befehl aus:
kubectl logs <pod-name> -n <namespace> --all-containers
Nützliche Befehle
Get-Help | Beschreibung |
---|---|
Get-HcsKubernetesUserConfig -AseUser |
Generiert eine Kubernetes-Konfigurationsdatei. Kopieren Sie beim Verwenden des Befehls die Informationen in eine Datei mit dem Namen config. Speichern Sie die Datei nicht mit einer Dateierweiterung. |
Get-HcsApplianceInfo |
Gibt Informationen zu Ihrem Gerät zurück. |
Enable-HcsSupportAccess |
Generiert Anmeldeinformationen für den Zugriff, um eine Supportsitzung zu starten. |
Erstellen eines Supporttickets für die räumliche Analyse
Wenn Sie weitere Unterstützung bei der Suche nach einer Lösung für ein Problem benötigen, das beim Container für die räumliche Analyse auftritt, führen Sie die folgenden Schritte aus, um ein Supportticket zu erstellen und zu senden. Unser Team meldet sich mit weiteren Anleitungen bei Ihnen zurück.
Ausfüllen grundlegender Informationen
Erstellen Sie auf der Seite Neue Supportanfrage ein neues Supportticket. Befolgen Sie die Anweisungen, um die folgenden Parameter anzugeben:
- Legen Sie den Problemtyp auf
Technical
fest. - Wählen Sie das Abonnement aus, das Sie zum Bereitstellen des Containers für die räumliche Analyse verwenden.
- Wählen Sie
My services
aus, und wählen Sie als DienstAzure AI services
. - Wählen Sie die Ressource aus, die Sie zum Bereitstellen des Containers für die räumliche Analyse verwenden.
- Geben Sie eine kurze Beschreibung des Problems ein.
- Wählen Sie als Problemtyp
Spatial Analysis
aus. - Wählen Sie in der Dropdownliste den entsprechenden Untertyp aus.
- Wählen Sie Weiter: Lösungen aus, um zur nächsten Seite zu gelangen.
Empfohlene Lösungen
Im nächsten Schritt werden empfohlene Lösungen für den von Ihnen ausgewählten Problemtyp geboten. Dabei handelt es sich um Lösungen für die häufigsten Probleme. Wenn hier jedoch keine hilfreiche Lösung für Ihr Problem geboten wird, wählen Sie Weiter: Details aus, um mit dem nächsten Schritt fortzufahren.
Details
Fügen Sie auf dieser Seite einige zusätzliche Informationen über das Problem hinzu, das Sie beheben möchten. Beschreiben Sie das Problem so detailliert wie möglich, damit es von unseren Experten besser eingegrenzt werden kann. Geben Sie Ihre bevorzugte Kontaktmethode und den Schweregrad des Problems an, damit wir Sie entsprechend kontaktieren können. Wählen Sie dann Weiter: Überprüfen + erstellen aus, um mit dem nächsten Schritt fortzufahren.
Überprüfen und Erstellen
Überprüfen Sie die Details Ihrer Supportanfrage, um sicherzustellen, dass alle Angaben korrekt sind und das Problem auf verständliche Weise beschreiben. Wählen Sie anschließend Erstellen aus, um das Ticket an unser Team zu senden! Nachdem Ihr Ticket empfangen wurde, erhalten Sie eine Bestätigungs-E-Mail, und unser Team wird sich so bald wie möglich mit Ihnen in Verbindung setzen. Den Status Ihres Tickets können Sie im Azure-Portal einsehen.