Überwachen der SQL-Datensynchronisierung mit Azure Monitor-ProtokollenMonitor SQL Data Sync with Azure Monitor logs

Zur Überprüfung des Aktivitätsprotokolls der SQL-Datensynchronisierung sowie zur Erkennung von Fehlern und Warnungen mussten Sie bislang die SQL-Datensynchronisierung manuell im Azure-Portal überprüfen oder hierfür PowerShell oder die REST-API verwenden.To check the SQL Data Sync activity log and detect errors and warnings, you previously had to check SQL Data Sync manually in the Azure portal, or use PowerShell or the REST API. Mit den Schritten in diesem Artikel können Sie eine benutzerdefinierte Lösung konfigurieren, die die Überwachung der Datensynchronisierung verbessert.Follow the steps in this article to configure a custom solution that improves the Data Sync monitoring experience. Diese Lösung kann an Ihr individuelles Szenario angepasst werden.You can customize this solution to fit your scenario.

Hinweis

Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics aufzunehmen.This article was recently updated to use the term Azure Monitor logs instead of Log Analytics. Protokolldaten werden immer noch in einem Log Analytics-Arbeitsbereich gespeichert und weiterhin mit dem gleichen Log Analytics-Dienst erfasst und analysiert.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Die Terminologie hat sich geändert, um der Rolle von Protokollen in Azure Monitor besser Rechnung zu tragen.We are updating the terminology to better reflect the role of logs in Azure Monitor. Weitere Informationen finden Sie unter Terminologieänderungen bei Azure Monitor.See Azure Monitor terminology changes for details.

Eine Übersicht über die SQL-Datensynchronisierung finden Sie unter Synchronisieren von Daten über mehrere Cloud- und lokale Datenbanken mit SQL-Datensynchronisierung.For an overview of SQL Data Sync, see Sync data across multiple cloud and on-premises databases with Azure SQL Data Sync.

Wichtig

Die Azure SQL-Datensynchronisierung unterstützt zurzeit keine verwalteten Azure SQL-Datenbank-Instanzen.Azure SQL Data Sync does not support Azure SQL Database Managed Instance at this time.

Überwachungsdashboard für alle SynchronisierungsgruppenMonitoring Dashboard for all your Sync Groups

Bei der Suche nach Problemen müssen Sie nun nicht mehr die Protokolle der einzelnen Synchronisierungsgruppen durchgehen.You no longer need to look through the logs of each Sync Group individually to look for issues. Mit einer benutzerdefinierten Azure Monitor-Ansicht können Sie alle Synchronisierungsgruppen aus all Ihren Abonnements zentral überwachen.You can monitor all your Sync Groups from any of your subscriptions in one place by using a custom Azure Monitor view. Diese Ansicht enthält die Informationen, die für Kunden der SQL-Datensynchronisierung relevant sind.This view surfaces the information that matters to SQL Data Sync customers.

Dashboard zur Überwachung der Datensynchronisierung

Automatische E-Mail-BenachrichtigungenAutomated Email notifications

Die Protokolle müssen nicht mehr manuell im Azure-Portal, über PowerShell oder mithilfe der REST-API geprüft werden.You no longer need to check the log manually in the Azure portal or through PowerShell or the REST API. Mit Azure Monitor-Protokollen können Sie Warnungen erstellen, die direkt an die E-Mail-Adressen der Benutzer gesendet werden, die beim Auftreten eines Fehlers informiert werden müssen.With Azure Monitor logs, you can create alerts that go directly to the email addresses of the people that need to see them when an error occurs.

E-Mail-Benachrichtigungen für die Datensynchronisierung

Wie richten Sie diese Überwachungsfunktionen ein?How do you set up these monitoring features?

Mit den folgenden Schritten implementieren Sie in weniger als einer Stunde eine benutzerdefinierte Überwachungslösung mit Azure Monitor-Protokollen für die SQL-Datensynchronisierung:Implement a custom Azure Monitor logs monitoring solution for SQL Data Sync in less than an hour by doing the following things:

Sie müssen drei Komponenten konfigurieren:You need to configure three components:

  • Ein PowerShell-Runbook zur Übertragung der Protokolldaten der SQL-Datensynchronisierung an Azure Monitor-ProtokolleA PowerShell runbook to feed SQL Data Sync log data to Azure Monitor logs.

  • Eine Azure Monitor-Warnung für E-Mail-BenachrichtigungenAn Azure Monitor alert for email notifications.

  • Eine Azure Monitor-Ansicht für die ÜberwachungAn Azure Monitor View for monitoring.

Beispiele zum HerunterladenSamples to download

Laden Sie die beiden folgenden Beispiele herunter:Download the following two samples:

VoraussetzungenPrerequisites

Folgendes muss bereits eingerichtet sein:Make sure you have set up the following things:

  • Ein Azure Automation-KontoAn Azure Automation account

  • Log Analytics-ArbeitsbereichLog Analytics workspace

PowerShell-Runbook zum Abrufen des Protokolls der SQL-DatensynchronisierungPowerShell Runbook to get SQL Data Sync Log

Verwenden Sie ein in Azure Automation gehostetes PowerShell-Runbook, um die Protokolldaten der SQL-Datensynchronisierung per Pullvorgang abzurufen und an Azure Monitor-Protokolle zu senden.Use a PowerShell runbook hosted in Azure Automation to pull the SQL Data Sync log data and send it to Azure Monitor logs. Ein Beispielskript steht zur Verfügung.A sample script is included. Sie benötigen ein Azure Automation-Konto.As a prerequisite, you need to have an Azure Automation account. Anschließend müssen Sie ein Runbook erstellen und dessen Ausführung planen.Then you need to create a runbook and schedule it to run.

Erstellen eines RunbooksCreate a runbook

Weitere Informationen zum Erstellen eines Runbooks finden Sie unter Mein erstes PowerShell-Runbook.For more info about creating a runbook, see My first PowerShell runbook.

  1. Klicken Sie unter Ihrem Azure Automation-Konto unter „Prozessautomatisierung“ auf die Registerkarte Runbooks.Under your Azure Automation account, select the Runbooks tab under Process Automation.

  2. Klicken Sie in der linken oberen Ecke der Seite „Runbooks“ auf Runbook hinzufügen.Select Add a Runbook at the top left corner of the Runbooks page.

  3. Klicken Sie auf Vorhandenes Runbook importieren.Select Import an existing Runbook.

  4. Verwenden Sie unter Runbookdatei die angegebene Datei DataSyncLogPowerShellRunbook.Under Runbook file, use the given DataSyncLogPowerShellRunbook file. Legen Sie Runbooktyp auf PowerShell fest.Set the Runbook type as PowerShell. Benennen Sie das Runbook.Give the runbook a name.

  5. Klicken Sie auf Erstellen.Select Create. Sie verfügen nun über ein Runbook.You now have a runbook.

  6. Klicken Sie unter Ihrem Azure Automation-Konto unter „Freigegebene Ressourcen“ auf die Registerkarte Variablen.Under your Azure Automation Account, select the Variables tab under Shared Resources.

  7. Klicken Sie auf der Seite „Variablen“ auf Variable hinzufügen.Select Add a variable on the Variables page. Erstellen Sie eine Variable, um die letzte Ausführungszeit für das Runbook zu speichern.Create a variable to store the last execution time for the runbook. Wenn Sie über mehrere Runbooks verfügen, benötigen Sie für jedes Runbook eine eigene Variable.If you have multiple runbooks, you need one variable for each runbook.

  8. Legen Sie den Namen der Variablen auf DataSyncLogLastUpdatedTime und den Typ auf „DateTime“ fest.Set the variable name as DataSyncLogLastUpdatedTime and set its Type as DateTime.

  9. Wählen Sie das Runbook aus, und klicken Sie am oberen Seitenrand auf die Schaltfläche „Bearbeiten“.Select the runbook and click the edit button at the top of the page.

  10. Nehmen Sie die erforderlichen Änderungen für Ihr Konto und die Konfiguration der SQL-Datensynchronisierung vor.Make the changes required for your account and your SQL Data Sync configuration. (Ausführlichere Informationen finden Sie im Beispielskript.)(For more detailed information, see the sample script.)

    1. Azure-InformationenAzure information.

    2. Informationen zur SynchronisierungsgruppeSync Group information.

    3. Informationen in Azure Monitor-ProtokollenAzure Monitor logs information. Diese Informationen finden Sie im Azure-Portal unter „Einstellungen“ > „Verbundene Quellen“.Find this information in Azure Portal | Settings | Connected Sources. Weitere Informationen zum Senden von Daten an Azure Monitor-Protokolle finden Sie unter Senden von Daten an Azure Monitor-Protokolle mit der HTTP-Datensammler-API (Vorschauversion).For more information about sending data to Azure Monitor logs, see Send data to Azure Monitor logs with the HTTP Data Collector API (preview).

  11. Führen Sie das Runbook im Testbereich aus.Run the runbook in the Test pane. Vergewissern Sie sich, dass es erfolgreich ausgeführt wurde.Check to make sure it was successful.

    Sollten Fehler aufgetreten sein, vergewissern Sie sich, dass das neueste PowerShell-Modul installiert ist.If you have errors, make sure you have the latest PowerShell module installed. Sie können das neueste PowerShell-Modul im Modulkatalog in Ihren Automation-Konto installieren.You can install the latest PowerShell module in the Modules Gallery in your Automation Account.

  12. Klicken Sie auf Veröffentlichen.Click Publish

Planen des RunbooksSchedule the runbook

So planen Sie das Runbook:To schedule the runbook:

  1. Klicken Sie unter dem Runbook unter „Ressourcen“ auf die Registerkarte Zeitpläne.Under the runbook, select the Schedules tab under Resources.

  2. Klicken Sie auf der Seite „Zeitpläne“ auf Zeitplan hinzufügen.Select Add a Schedule on the Schedules page.

  3. Klicken Sie auf Zeitplan mit Runbook verknüpfen.Select Link a Schedule to your runbook.

  4. Klicken Sie anschließend auf Neuen Zeitplan erstellen.Select Create a new schedule.

  5. Legen Sie Serie auf „Serie“ fest, und geben Sie das gewünschte Intervall an.Set Recurrence to Recurring and set the interval you want. Verwenden Sie stets dasselbe Intervall: hier, im Skript und in Azure Monitor-Protokollen.Use the same interval here, in the script, and in Azure Monitor logs.

  6. Klicken Sie auf Erstellen.Select Create.

Überprüfen der AutomatisierungCheck the automation

Um zu prüfen, ob die Automatisierung erwartungsgemäß funktioniert, suchen Sie in der Übersicht für Ihr Automation-Konto unter Überwachung nach der Ansicht Auftragsstatistik.To monitor whether your automation is running as expected, under Overview for your automation account, find the Job Statistics view under Monitoring. Heften Sie diese Ansicht zur einfacheren Betrachtung an Ihr Dashboard an.Pin this view to your dashboard for easy viewing. Erfolgreiche Ausführungen des Runbooks werden als „Abgeschlossen“ angezeigt, nicht erfolgreiche als „Fehler“.Successful runs of the runbook show as "Completed" and Failed runs show as "Failed."

Erstellen einer Azure Monitor-Leserwarnung für E-Mail-BenachrichtigungenCreate an Azure Monitor Reader Alert for Email Notifications

Gehen Sie wie im Anschluss beschrieben vor, um eine auf Azure Monitor-Protokollen basierende Warnung zu erstellen.To create an alert that uses Azure Monitor logs, do the following things. Hierzu müssen Azure Monitor-Protokolle bereits mit einem Log Analytics-Arbeitsbereich verknüpft sein.As a prerequisite, you need to have Azure Monitor logs linked with a Log Analytics workspace.

  1. Wählen Sie im Azure-Portal die Option Protokollsuche.In the Azure portal, select Log Search.

  2. Erstellen Sie eine Abfrage, um die Fehler und Warnungen innerhalb des gewählten Intervalls nach Synchronisierungsgruppe auszuwählen.Create a query to select the errors and warnings by sync group within the interval you selected. Beispiel:For example:

    DataSyncLog_CL | where LogLevel_s != "Success" | summarize AggregatedValue = count() by bin(TimeGenerated,60m),SyncGroupName_s

  3. Klicken Sie nach Ausführung der Abfrage auf das Glockensymbol mit dem Text Warnung.After running the query, select the bell that says Alert.

  4. Wählen Sie unter Warnung generieren basierend auf die Option Metrische Maßeinheit aus.Under Generate alert based on, select Metric Measurement.

    1. Legen Sie den Aggregatwert auf Größer als fest.Set the Aggregate Value to Greater than.

    2. Geben Sie nach Größer als den Schwellenwert ein, nach dessen Überschreitung Warnungen ausgegeben werden sollen.After Greater than, enter the threshold to elapse before you receive notifications. Bei der Datensynchronisierung ist mit vorübergehenden Fehlern zu rechnen. Um Rauschen zu vermindern, legen Sie den Schwellenwert auf 5 fest.Transient errors are expected in Data Sync. To reduce noise, set the threshold to 5.

  5. Legen Sie unter Aktionen die Option E-Mail-Benachrichtigung auf „Ja“ fest.Under Actions, set Email notification to "Yes." Geben Sie die gewünschten E-Mail-Empfänger ein.Enter the desired email recipients.

  6. Klicken Sie auf Speichern.Click Save. Die angegebenen Empfänger werden nun per E-Mail benachrichtigt, wenn Fehler auftreten.The specified recipients now receive email notifications when errors occur.

Erstellen einer Azure Monitor-Ansicht für die ÜberwachungCreate an Azure Monitor View for Monitoring

In diesem Schritt erstellen Sie eine Azure Monitor-Ansicht für die visuelle Überwachung aller angegebenen Synchronisierungsgruppen.This step creates an Azure Monitor view to visually monitor all the specified sync groups. Die Ansicht umfasst mehrere Komponenten:The view includes several components:

  • Eine Übersichtskachel mit der Anzahl von Fehlern, erfolgreichen Vorgängen und Warnungen aller Synchronisierungsgruppen.An overview tile, which shows how many errors, successes, and warnings all the sync groups have.

  • Eine Kachel für alle Synchronisierungsgruppen mit der Anzahl von Fehlern und Warnungen pro Synchronisierungsgruppe.A tile for all sync groups, which shows the count of errors and warnings per sync group. Gruppen ohne Probleme werden auf dieser Kachel nicht angezeigt.Groups with no issues don't appear on this tile.

  • Eine Kachel für jede Synchronisierungsgruppe mit der Anzahl von Fehlern, erfolgreichen Vorgängen und Warnungen sowie mit den neuesten Fehlermeldungen.A tile for each Sync Group, which shows the number of errors, successes, and warnings, and the recent error messages.

Gehen Sie zum Konfigurieren der Azure Monitor-Ansicht wie folgt vor:To configure the Azure Monitor view, do the following things:

  1. Wählen Sie links auf der Startseite des Log Analytics-Arbeitsbereichs das Pluszeichen aus, um den Ansicht-Designer zu öffnen.On the Log Analytics workspace home page, select the plus on the left to open the view designer.

  2. Klicken Sie auf der oberen Leiste des Ansicht-Designers auf Importieren.Select Import on the top bar of the view designer. Wählen Sie die Beispieldatei „DataSyncLogOMSView“ aus.Then select the "DataSyncLogOMSView" sample file.

  3. Die Beispielansicht ermöglicht die Verwaltung von zwei Synchronisierungsgruppen.The sample view is for managing two sync groups. Bearbeiten Sie diese Ansicht, um sie an Ihr Szenario anzupassen.Edit this view to fit your scenario. Klicken Sie auf Bearbeiten, und nehmen Sie die folgenden Änderungen vor:Click edit and make the following changes:

    1. Erstellen Sie nach Bedarf neue Objekte vom Typ „Ring und Liste“.Create new "Donut & List" objects from the Gallery as needed.

    2. Aktualisieren Sie die Abfragen der einzelnen Kacheln mit Ihren Informationen.In each tile, update the queries with your information.

      1. Legen Sie für jede Kachel das Intervall „TimeStamp_t“ wie gewünscht fest.On each tile, change the TimeStamp_t interval as desired.

      2. Aktualisieren Sie auf den Kacheln für die einzelnen Synchronisierungsgruppen die Namen der Synchronisierungsgruppen.On the tiles for each Sync Group, update the Sync Group names.

    3. Aktualisieren Sie den Titel der einzelnen Kacheln nach Bedarf.On each tile, update the title as needed.

  4. Klicken Sie abschließend auf Speichern. Die Ansicht ist nun bereit.Click Save and the view is ready.

Kosten dieser LösungCost of this solution

In den meisten Fällen ist diese Lösung kostenlos.In most cases, this solution is free.

Azure Automation: Je nach Verwendung fallen unter Umständen Kosten im Zusammenhang mit dem Azure Automation-Konto an.Azure Automation: There may be a cost incurred with the Azure Automation account, depending on your usage. Pro Monat sind jeweils die ersten 500 Minuten der Auftragsausführungszeit kostenlos.The first 500 minutes of job run time per month are free. In den meisten Fällen kommt diese Lösung mit weniger als 500 Minuten pro Monat aus.In most cases, this solution is expected to use less than 500 minutes per month. Verwenden Sie zur Vermeidung von Gebühren ein Runbook-Ausführungsintervall von mindestens zwei Stunden.To avoid charges, schedule the runbook to run at an interval of two hours or more. Weitere Informationen finden Sie unter Automation – Preise.For more info, see Automation pricing.

Azure Monitor-Protokolle: Je nach Verwendung fallen unter Umständen Kosten für Azure Monitor-Protokolle an.Azure Monitor logs: There may be a cost associated with Azure Monitor logs depending on your usage. Im Free-Tarif sind 500 MB an erfassten Daten pro Tag enthalten.The free tier includes 500 MB of ingested data per day. In den meisten Fällen erfasst diese Lösung weniger als 500 MB pro Tag.In most cases, this solution is expected to ingest less than 500 MB per day. Filtern Sie ggf. nur nach Fehlern, um den Verbrauch zu senken. Ein entsprechender Filter ist im Runbook enthalten.To decrease the usage, use the failure-only filtering included in the runbook. Sollten Sie pro Tag mehr als 500 MB benötigen, führen Sie ein Upgrade auf den kostenpflichtigen Tarif durch, um zu vermeiden, dass die Analyse bei Erreichen des Limits beendet wird.If you are using more than 500 MB per day, upgrade to the paid tier to avoid the risk of analytics stopping when the limitation is reached. Weitere Informationen finden Sie unter Preise für Azure Monitor-Protokolle.For more info, see Azure Monitor logs pricing.

CodebeispieleCode samples

Die in diesem Artikel beschriebenen Codebeispiele können Sie unter den folgenden Links herunterladen:Download the code samples described in this article from the following locations:

Nächste SchritteNext steps

Weitere Informationen zur SQL-Datensynchronisierung finden Sie unter:For more info about SQL Data Sync, see:

Weitere Informationen zu SQL-Datenbank finden Sie unter:For more info about SQL Database, see: