Freigeben über


Konfigurieren von Einstellungen für die automatische Skalierung für einen Stream Analytics-Auftrag mithilfe des CI/CD-Tools

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:

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:

  1. Öffnen Sie Ihr Stream Analytics-Projekt in Visual Studio Code.

  2. 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.
  3. 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.

    Screenshot: Dateien, die nach dem Erstellen eines Projekts generiert werden

    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.

  4. 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.

    Screenshot: Dateien für die automatische Skalierung, die nach der Konfiguration der automatischen Skalierung generiert werden

    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 Funktionsanforderungen
    AMLCalloutFailedRequests Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Funktionsereignisse

    Funktionsereignisse
    AMLCalloutInputEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Funktionsanforderungen

    Funktionsanforderungen
    AMLCalloutRequests Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Konvertierungsfehler

    Konvertierungsfehler
    ConversionErrors Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Eingabedeserialisierungsfehler

    Eingabefehler bei Deserialisierung
    DeserializationError Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Ereignisse mit falscher Reihenfolge

    Ereignisse für falsche Reihenfolge
    DroppedOrAdjustedEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Frühe Eingabeereignisse

    Frühe Eingabeereignisse
    EarlyInputEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Laufzeitfehler

    Laufzeitfehler
    Errors Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Eingabeereignisbytes

    Eingabeereignisbytes
    InputEventBytes Byte Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Eingabeereignisse

    Eingabeereignisse
    InputEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Eingabeereignisse im Rückstand

    Eingabeereignisse im Rückstand
    InputEventsSourcesBacklogged Anzahl Mittelwert, Maximum, Minimum LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Empfangene Eingabequellen

    Empfangene Eingabequellen
    InputEventsSourcesPerSecond Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Ereignisse bei verspäteter Eingabe

    Ereignisse bei verspäteter Eingabe
    LateInputEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Ausgabeereignisse

    Ausgabeereignisse
    OutputEvents Anzahl Gesamt (Summe) LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    Wasserzeichenverzögerung

    Wasserzeichenverzögerung
    OutputWatermarkDelaySeconds Sekunden Mittelwert, Maximum, Minimum LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    CPU-Auslastung in Prozent

    CPU-Auslastung in Prozent
    ProcessCPUUsagePercentage Percent Mittelwert, Maximum, Minimum LogicalName, PartitionId, ProcessorInstance, NodeName PT1M Ja
    SU (Speicher) % Auslastung

    SU (Speicher) % Auslastung
    ResourceUtilization 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 Wert Threshold.

    Screenshot: Festlegen des Metrikschwellenwerts in einer Parameterdatei

    Weitere Informationen zum Definieren von Regeln für die automatische Skalierung finden Sie unter Grundlegendes zu Einstellungen für die automatische Skalierung.

  5. Nehmen Sie die Bereitstellung in Azure vor.

    1. Stellen Sie eine Verbindung mit Ihrem Azure-Konto her:

      # Connect to Azure
      Connect-AzAccount
      
      # Set the Azure subscription
      Set-AzContext [SubscriptionID/SubscriptionName]
      
    2. 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
      
    3. 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.