Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Streamingeinheiten (Streaming Units, SUs) stellen die Computeressourcen dar, die zum Ausführen eines Azure Stream Analytics-Auftrags zugeordnet werden. Je höher die Anzahl der Streamingeinheiten, desto mehr CPU- und Arbeitsspeicherressourcen werden Ihrem Auftrag zugeordnet.
Das Feature für die automatische Skalierung passt SUs basierend auf Ihren Regeldefinitionen dynamisch an. Sie können Einstellungen für die automatische Skalierung für Ihren Stream Analytics-Auftrag im Azure-Portal oder mithilfe des CI/CD-Tools (Continuous Integration und Continuous Delivery) von Stream Analytics auf Ihrem lokalen Computer konfigurieren.
In diesem Artikel wird erläutert, wie Sie mit dem CI/CD-Tool von Stream Analytics Einstellungen für die automatische Skalierung für Stream Analytics-Aufträge konfigurieren. Weitere Informationen zu Aufträgen mit automatischer Skalierung im Azure-Portal finden Sie unter Automatische Skalierung von Streamingeinheiten (Vorschau).
Mit dem Stream Analytics-CI/CD-Tool können Sie die maximale Anzahl von Streamingeinheiten angeben und Regeln für die automatische Skalierung Ihrer Aufträge konfigurieren. Anschließend wird bestimmt, ob Streamingeinheiten hinzugefügt werden, um höhere Auslastungen zu bewältigen, oder die Anzahl der Streamingeinheiten verringert wird, wenn sich Computeressourcen im Leerlauf befinden.
Hier sehen Sie ein Beispiel für eine Einstellung für die automatische Skalierung:
- Wenn die maximale Anzahl von SUs auf 12 festgelegt ist, werden die SUs erhöht, wenn die durchschnittliche prozentuale SU-Auslastung des Auftrags in den letzten 2 Minuten 75 Prozent übersteigt.
Voraussetzungen
Die Durchführung der in diesem Artikel aufgeführten Schritte setzt Folgendes voraus:
- Ein Stream Analytics-Projekt auf dem lokalen Computer. Befolgen Sie diese Anleitung, um ein Storage-Konto zu erstellen.
- Ausgeführter Stream Analytics-Auftrag in Azure
Konfigurieren von Einstellungen für die Autoskalierung
Szenario 1: Konfigurieren von Einstellungen für ein lokales Stream Analytics-Projekt
Wenn Sie über ein funktionierendes Stream Analytics-Projekt auf dem lokalen Computer verfügen, führen Sie die folgenden Schritte zum Konfigurieren der Einstellungen für die automatische Skalierung aus:
Öffnen Sie Ihr Stream Analytics-Projekt in Visual Studio Code.
Führen Sie im Bereich Terminal den folgenden Befehl aus, um das CI/CD-Tool von Stream Analytics zu installieren:
npm install -g azure-streamanalytics-cicd
Dies ist die Liste der unterstützten Befehle für
azure-streamanalytics-cicd
:Befehl BESCHREIBUNG build
Generieren einer Azure Resource Manager-Standardvorlage (ARM-Vorlage) für ein Stream Analytics-Projekt in Visual Studio Code localrun
Lokales Ausführen für ein Stream Analytics-Projekt in Visual Studio Code test
Testen eines Stream Analytics-Projekts in Visual Studio Code addtestcase
Hinzufügen von Testfällen für ein Stream Analytics-Projekt in Visual Studio Code autoscale
Generieren einer ARM-Vorlagendatei für eine Einstellung für die automatische Skalierung help
Anzeigen von weiteren Informationen zu einem bestimmten Befehl. Erstellen Sie das Projekt:
azure-streamanalytics-cicd build --v2 --project ./asaproj.json --outputPath ./Deploy
Wenn die Erstellung des Projekts erfolgreich ist, werden zwei JSON-Dateien unter dem Ordner Deploy erstellt. Eine ist die ARM-Vorlagendatei und die andere die Parameterdatei.
Hinweis
Es wird dringend empfohlen, die Option
--v2
für das aktualisierte ARM-Vorlagenschema zu verwenden. Das aktualisierte Schema verfügt über weniger Parameter, hat jedoch weiterhin die gleiche Funktionalität wie die vorherige Version.Die alte ARM-Vorlage wird in Zukunft als veraltet markiert. Danach erhalten nur Vorlagen, die über
build --v2
erstellt wurden, Updates oder Fehlerbehebungen.Konfigurieren Sie die Einstellung für die automatische Skalierung. Fügen Sie Parameterschlüssel und Werte mithilfe des Befehls
azure-streamanalytics-cicd autoscale
hinzu.Parameterschlüssel Wert Beispiel capacity
Maximale SUs (1/3, 2/3, 1, bis zu 66 SU V2s) 2
metrics
Metriken für Regeln für die automatische Skalierung ProcessCPUUsagePercentage
ResourceUtilization
targetJobName
Projektname ClickStream-Filter
outputPath
Ausgabepfad für ARM-Vorlagen ./Deploy
Hier sehen Sie ein Beispiel:
azure-streamanalytics-cicd autoscale --capacity 2 --metrics ProcessCPUUsagePercentage ResourceUtilization --targetJobName ClickStream-Filter --outputPath ./Deploy
Wenn Sie die Einstellung für die automatische Skalierung erfolgreich konfiguriert haben, werden zwei JSON-Dateien unter dem Ordner Deploy erstellt. Eine ist die ARM-Vorlagendatei und die andere die Parameterdatei.
In der folgenden Tabelle sind die Metriken aufgeführt, die Sie zum Definieren von Regeln für die automatische Skalierung verwenden können:
Metrik Name in der REST-API Einheit Aggregation Dimensionen Aggregationsintervalle DS-Export Fehlerhafte Funktionsanforderungen
Fehlerhafte FunktionsanforderungenAMLCalloutFailedRequests
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Funktionsereignisse
FunktionsereignisseAMLCalloutInputEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Funktionsanforderungen
FunktionsanforderungenAMLCalloutRequests
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Konvertierungsfehler
KonvertierungsfehlerConversionErrors
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Eingabedeserialisierungsfehler
Eingabefehler bei DeserialisierungDeserializationError
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Ereignisse mit falscher Reihenfolge
Ereignisse für falsche ReihenfolgeDroppedOrAdjustedEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Frühe Eingabeereignisse
Frühe EingabeereignisseEarlyInputEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Laufzeitfehler
LaufzeitfehlerErrors
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Eingabeereignisbytes
EingabeereignisbytesInputEventBytes
Byte Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Eingabeereignisse
EingabeereignisseInputEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Eingabeereignisse im Rückstand
Eingabeereignisse im RückstandInputEventsSourcesBacklogged
Anzahl Mittelwert, Maximum, Minimum LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Empfangene Eingabequellen
Empfangene EingabequellenInputEventsSourcesPerSecond
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Ereignisse bei verspäteter Eingabe
Ereignisse bei verspäteter EingabeLateInputEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Ausgabeereignisse
AusgabeereignisseOutputEvents
Anzahl Gesamt (Summe) LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Wasserzeichenverzögerung
WasserzeichenverzögerungOutputWatermarkDelaySeconds
Sekunden Mittelwert, Maximum, Minimum LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja CPU-Auslastung in Prozent
CPU-Auslastung in ProzentProcessCPUUsagePercentage
Percent Mittelwert, Maximum, Minimum LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja SU (Speicher) % Auslastung
SU (Speicher) % AuslastungResourceUtilization
Percent Mittelwert, Maximum, Minimum LogicalName
,PartitionId
,ProcessorInstance
,NodeName
PT1M Ja Der Standardwert für alle Metrikschwellenwerte ist
70
. Wenn Sie den Metrikschwellenwert auf eine andere Zahl festlegen möchten, öffnen Sie die Datei *.AutoscaleSettingTemplate.parameters.json, und ändern Sie den WertThreshold
.Weitere Informationen zum Definieren von Regeln für die automatische Skalierung finden Sie unter Grundlegendes zu Einstellungen für die automatische Skalierung.
Nehmen Sie die Bereitstellung in Azure vor.
Stellen Sie eine Verbindung mit Ihrem Azure-Konto her:
# Connect to Azure Connect-AzAccount # Set the Azure subscription Set-AzContext [SubscriptionID/SubscriptionName]
Stellen Sie Ihr Stream Analytics-Projekt bereit:
$templateFile = ".\Deploy\ClickStream-Filter.JobTemplate.json" $parameterFile = ".\Deploy\ClickStream-Filter.JobTemplate.parameters.json" New-AzResourceGroupDeployment ` -Name devenvironment ` -ResourceGroupName myResourceGroupDev ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
Stellen Sie Ihre Einstellungen für die automatische Skalierung bereit:
$templateFile = ".\Deploy\ClickStream-Filter.AutoscaleSettingTemplate.json" $parameterFile = ".\Deploy\ClickStream-Filter.AutoscaleSettingTemplate.parameters.json" New-AzResourceGroupDeployment ` -Name devenvironment ` -ResourceGroupName myResourceGroupDev ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
Nachdem Sie Ihr Projekt bereitgestellt haben, können Sie die Einstellungen für die automatische Skalierung im Azure-Portal anzeigen.
Szenario 2: Konfigurieren von Einstellungen für einen ausgeführten Stream Analytics-Auftrag in Azure
Wenn Sie einen Stream Analytics-Auftrag in Azure ausführen, können Sie das Stream Analytics-CI/CD-Tool in PowerShell verwenden, um Einstellungen für die automatische Skalierung zu konfigurieren.
Führen Sie den folgenden Befehl aus. Ersetzen Sie $jobResourceId
durch die Ressourcen-ID Ihres Stream Analytics-Auftrags.
azure-streamanalytics-cicd autoscale --capacity 2 --metrics ProcessCPUUsagePercentage ResourceUtilization --targetJobResourceId $jobResourceId --outputPath ./Deploy
Wenn Sie die Einstellungen erfolgreich konfiguriert haben, werden ARM-Vorlagen- und Parameterdateien im aktuellen Verzeichnis erstellt.
Anschließend können Sie die Einstellungen für die automatische Skalierung in Azure bereitstellen, indem Sie die Bereitstellungsschritte in Szenario 1 ausführen.
Hilfe erhalten
Weitere Informationen zu Einstellungen für die automatische Skalierung erhalten Sie durch Ausführen dieses Befehls in PowerShell:
azure-streamanalytics-cicd autoscale --help
Wenn Probleme mit dem CI/CD-Tool von Stream Analytics auftreten, können Sie diese auf GitHub melden.