Erkenntnisse zu Releases und Arbeitselementen

Erkenntnisse zu Releases und Arbeitselementen sind entscheidend für die Optimierung des Lebenszyklus bei der Softwareentwicklung. Während Anwendungen weiterentwickelt werden, ist es wichtig, jedes Release und die zugehörigen Arbeitselemente genau zu überwachen. Diese Erkenntnisse zeigen Leistungsengpässe auf und ermöglichen Teams, Probleme proaktiv zu beheben und eine reibungslose Bereitstellung und Benutzererfahrung sicherzustellen. Sie befähigen Entwickler*innen und Projektbeteiligte, Entscheidungen zu treffen, Prozesse anzupassen und qualitativ hochwertige Software bereitzustellen.

Azure Pipelines kann in Application Insights integriert werden, um die kontinuierliche Überwachung Ihrer Azure DevOps-Releasepipeline während des gesamten Lebenszyklus der Softwareentwicklung zu ermöglichen.

Bei der kontinuierlichen Überwachung können Releasepipelines Überwachungsdaten von Application Insights und anderen Azure-Ressourcen integrieren. Wenn die Releasepipeline eine Application Insights-Warnung erkennt, kann sie die Bereitstellung steuern oder einen Rollback dafür ausführen, bis die Warnung gelöst wurde. Wenn alle Überprüfungen erfolgreich durchgeführt wurden, können Bereitstellungen vom Testen bis hin zur Produktion ohne manuellen Eingriff automatisch fortgesetzt werden.

Konfigurieren der kontinuierlichen Überwachung

  1. Wählen Sie in Azure DevOps eine Organisation und ein Projekt aus.

  2. Wählen Sie auf der Projektseite im Menü auf der linken Seite die Option Pipelines>Releases.

  3. Wählen Sie den Dropdownpfeil neben Neu aus, und wählen Sie Neue Releasepipeline aus. Falls Sie noch nicht über eine Pipeline verfügen, wählen Sie auf der angezeigten Seite die Option Neue Pipeline.

  4. Suchen Sie im Bereich Wählen Sie eine Vorlage aus nach Azure App Service-Bereitstellung mit fortlaufender Überwachung. Wählen Sie diese Option und anschließend Übernehmen.

    Screenshot: neue Azure Pipelines-Releasepipeline.

  5. Wählen Sie im Feld Stufe 1 den Hyperlink für die Option Stufenaufgaben anzeigen.

    Screenshot: „Stufenaufgaben anzeigen“.

  6. Füllen Sie im Konfigurationsbereich Stufe 1 die folgenden Felder aus:

    Parameter Wert
    Name der Stufe Geben Sie einen Stufennamen an, oder übernehmen Sie Stufe 1.
    Azure-Abonnement Wählen Sie den Dropdownpfeil und das verknüpfte Azure-Abonnement aus, das Sie verwenden möchten.
    App-Typ Wählen Sie den Dropdownpfeil aus, und wählen Sie Ihren App-Typ aus.
    App Service-Name Geben Sie den Namen Ihrer Azure App Service-Instanz ein.
    Name der Ressourcengruppe für Application Insights Wählen Sie den Dropdownpfeil und die Ressourcengruppe aus, die Sie verwenden möchten.
    Application Insights-Ressourcenname Wählen Sie den Dropdownpfeil und die Application Insights-Ressource für die zuvor ausgewählte Ressourcengruppe aus.
  7. Wählen Sie oben rechts im Azure DevOps-Fenster die Option Speichern aus, um die Pipeline mit den Standardeinstellungen für Warnungsregeln zu speichern. Geben Sie einen beschreibenden Kommentar ein, und wählen Sie OK aus.

Ändern von Warnungsregeln

Die Vorlage Azure App Service-Bereitstellung mit kontinuierlicher Überwachung verfügt standardmäßig über vier Warnungsregeln: Verfügbarkeit, Anforderungsfehler, Serverantwortzeit und Serverausnahmen. Sie können weitere Regeln hinzufügen oder die Regeleinstellungen ändern, um Ihre Servicelevelanforderungen zu erfüllen.

Ändern Sie die Einstellungen für Warnungsregeln wie folgt:

Wählen Sie auf der Seite der Releasepipeline im linken Bereich die Option Configure Application Insights Alerts (Application Insights-Warnungen konfigurieren).

Die vier Standardwarnungsregeln werden über ein Inlineskript erstellt:

$subscription = az account show --query "id";$subscription.Trim("`"");$resource="/subscriptions/$subscription/resourcegroups/"+"$(Parameters.AppInsightsResourceGroupName)"+"/providers/microsoft.insights/components/" + "$(Parameters.ApplicationInsightsResourceName)";
az monitor metrics alert create -n 'Availability_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'avg availabilityResults/availabilityPercentage < 99' --description "created from Azure DevOps";
az monitor metrics alert create -n 'FailedRequests_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'count requests/failed > 5' --description "created from Azure DevOps";
az monitor metrics alert create -n 'ServerResponseTime_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'avg requests/duration > 5' --description "created from Azure DevOps";
az monitor metrics alert create -n 'ServerExceptions_$(Release.DefinitionName)' -g $(Parameters.AppInsightsResourceGroupName) --scopes $resource --condition 'count exceptions/server > 5' --description "created from Azure DevOps";

Sie können das Skript ändern und weitere Warnungsregeln hinzufügen. Außerdem können Sie Änderungen an der Warnung vornehmen. Darüber hinaus können Sie Warnungsregeln entfernen, die für Ihre Bereitstellungszwecke nicht sinnvoll sind.

Hinzufügen von Bereitstellungsbedingungen

Beim Hinzufügen von Bereitstellungsgates zu Ihrer Releasepipeline verhindert eine Warnung, die die von Ihnen festgelegten Schwellenwerte überschreitet, die unerwünschte Releasehöherstufung. Nach Auflösung der Warnung kann die Bereitstellung automatisch fortgesetzt werden.

Fügen Sie Bereitstellungsgates wie folgt hinzu:

  1. Wählen Sie auf der Hauptseite der Pipeline unter Stufen das Symbol Bedingungen vor der Bereitstellung oder Bedingungen nach der Bereitstellung. Dies hängt davon ab, welche Stufe ein Gate mit kontinuierlicher Überwachung benötigt.

    Screenshot: Bedingungen vor der Bereitstellung.

  2. Legen Sie im Konfigurationsbereich Bedingungen vor der Bereitstellung die Option Gates auf Aktiviert fest.

  3. Wählen Sie neben Bereitstellungsgates die Option Hinzufügen.

  4. Wählen Sie im Dropdownmenü die Option Azure Monitor-Warnungen abfragen. Mit dieser Option können Sie sowohl auf Azure Monitor- als auch auf Application Insights-Warnungen zugreifen.

    Screenshot: Abfragen von Azure Monitor-Warnungen.

  5. Geben Sie unter Auswertungsoptionen die gewünschten Werte für Einstellungen wie Der Zeitraum bis zur erneuten Auswertung von Gates und Das Zeitlimit, nach dem Gates als fehlerhaft gelten ein.

Anzeigen von Releaseprotokollen

Sie können das Verhalten von Bereitstellungsgates und andere Releaseschritte den Releaseprotokollen entnehmen. Öffnen Sie die Protokolle wie folgt:

  1. Wählen Sie auf der Pipelineseite im Menü links die Option Releases.

  2. Wählen Sie ein beliebiges Release aus.

  3. Wählen Sie unter Stufen eine beliebige Stufe aus, um eine Zusammenfassung zum Release anzuzeigen.

  4. Wählen Sie in der Releasezusammenfassung zum Anzeigen von Protokollen die Option Protokolle anzeigen, wählen Sie für eine beliebige Stufe den Hyperlink Erfolgreich oder Fehler, oder zeigen Sie auf eine Stufe, und wählen Sie Protokolle.

    Screenshot: Anzeigen von Releaseprotokollen.

Siehe auch