Überwachen von Load Balancer
Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen beruhen, sollten Sie Verfügbarkeit, Leistung und Betrieb dieser Ressourcen überwachen.
In diesem Artikel werden die von Load Balancer generierten Überwachungsdaten erläutert. Load Balancer verwendet Azure Monitor. Wenn Sie nicht mit den Features von Azure Monitor vertraut sind, die Bestandteil aller Azure-Dienste sind, für die Azure Monitor verwendet wird, lesen Sie den Artikel Überwachen von Azure-Ressourcen mit Azure Monitor.
Erkenntnisse aus Load Balancer
Für einige Dienste in Azure enthält das Azure-Portal ein spezielles, vorgefertigtes Überwachungsdashboard, das den Ausgangspunkt für die Überwachung Ihres Diensts bildet. Diese speziellen Dashboards werden als „Insights“ (Erkenntnisse) bezeichnet.
Load Balancer-Erkenntnisse:
- Ansicht der funktionalen Abhängigkeiten
- Metrikdashboard
- Registerkarte „Übersicht“
- Registerkarten „Front-End-Verfügbarkeit“ und „Back-End-Verfügbarkeit“
- Registerkarte „Datendurchsatz“
- Flowverteilung
- Verbindungsmonitore
- Metrikdefinitionen
Weitere Informationen zu Load Balancer-Erkenntnissen finden Sie unter Verwenden von Erkenntnissen zum Überwachen und Konfigurieren Ihrer Azure Load Balancer-Instanz.
Überwachungsdaten
Load Balancer erfasst dieselben Arten von Überwachungsdaten wie andere Azure-Ressourcen, die unter Überwachungsdaten von Azure-Ressourcen beschrieben werden.
Ausführliche Informationen zu den von Load Balancer erstellten Metriken und Protokollmetriken finden Sie in der Referenz für Load Balancer-Überwachungsdaten.
Load Balancer stellt mit den folgenden Mitteln weitere Überwachungsdaten bereit:
Sammlung und Routing
Plattformmetriken und das Aktivitätsprotokoll werden automatisch erfasst und gespeichert, können jedoch mithilfe einer Diagnoseeinstellung an andere Speicherorte weitergeleitet werden.
Ressourcenprotokolle werden erst erfasst und gespeichert, nachdem Sie eine Diagnoseeinstellung erstellt und die Protokolle an mindestens einen Speicherort weitergeleitet haben.
Erstellen einer Diagnoseeinstellung
Sie können eine Diagnoseeinstellung über das Azure-Portal, PowerShell oder die Azure CLI erstellen.
Eine allgemeine Anleitung finden Sie unter Erstellen einer Diagnoseeinstellung zum Erfassen von Plattformprotokollen und Metriken in Azure.
Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Die Kategorie für Load Balancer lautet AllMetrics.
Portal
Melden Sie sich beim Azure-Portal an.
Geben Sie am oberen Rand des Portals den Suchbegriff Lastenausgleich in das Suchfeld ein.
Wählen Sie in den Suchergebnissen Lastenausgleichsmodule aus.
Wählen Sie Ihren Lastenausgleich aus. Für dieses Beispiel wird myLoadBalancer verwendet.
Wählen Sie im Abschnitt Überwachung von myLoadBalancer die Option Diagnoseeinstellungen aus.
Wählen Sie auf der Seite Diagnoseeinstellungen den Eintrag + Diagnoseeinstellung hinzufügen aus.
Geben Sie die folgenden Informationen für die Diagnoseeinstellung an, oder wählen Sie sie aus.
Einstellung Wert Name der Diagnoseeinstellung Geben Sie einen Namen für die Diagnoseeinstellung ein. Kategoriedetails Metrik Wählen Sie AllMetrics aus. Wählen Sie die Zieldetails aus. Auswahl der Zieloptionen:
- An Log Analytics senden
- Wählen Sie das Abonnement und den Log Analytics-Arbeitsbereich aus.
- In einem Speicherkonto archivieren
- Wählen Sie das Abonnement und das Speicherkonto aus.
- An einen Event Hub streamen
- Wählen Sie das Abonnement, den Event Hub-Namespace, den Event Hub-Namen (optional) und den Event Hub-Richtliniennamen aus.
- An Log Analytics senden
Wählen Sie Speichern aus.
PowerShell
Melden Sie sich bei Azure PowerShell an:
Connect-AzAccount
Log Analytics-Arbeitsbereich
Um Ressourcenprotokolle an einen Log Analytics-Arbeitsbereich zu senden, geben Sie diese Befehle ein. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the workspace in a variable. ##
$wspara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-log-analytics-workspace-name>
}
$ws = Get-AzOperationalInsightsWorkspace @wspara
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.id `
-Name <your-diagnostic-setting-name> `
-Enabled $true `
-MetricCategory 'AllMetrics' `
-WorkspaceId $ws.ResourceId
Speicherkonto
Geben Sie diese Befehle ein, um Ressourcenprotokolle an ein Speicherkonto zu senden. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the storage account in a variable. ##
$storpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-storage-account-name>
}
$storage = Get-AzStorageAccount @storpara
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.id `
-Name <your-diagnostic-setting-name> `
-StorageAccountId $storage.id `
-Enabled $true `
-MetricCategory 'AllMetrics'
Event Hub
Geben Sie diese Befehle ein, um Ressourcenprotokolle an einen Event Hub-Namespace zu senden. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
## Place the load balancer in a variable. ##
$lbpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
## Place the event hub in a variable. ##
$hubpara = @{
ResourceGroupName = <your-resource-group-name>
Name = <your-event-hub-name>
}
$eventhub = Get-AzEventHubNamespace @hubpara
## Place the event hub authorization rule in a variable. ##
$hubrule = @{
ResourceGroupName = 'myResourceGroup'
Namespace = 'myeventhub8675'
}
$eventhubrule = Get-AzEventHubAuthorizationRule @hubrule
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
-ResourceId $lb.Id `
-Name 'myDiagSetting-event'`
-EventHubName $eventhub.Name `
-EventHubAuthorizationRuleId $eventhubrule.Id `
-Enabled $true `
-MetricCategory 'AllMetrics'
Azure CLI
Anmelden bei der Azure CLI an:
az login
Log Analytics-Arbeitsbereich
Um Ressourcenprotokolle an einen Log Analytics-Arbeitsbereich zu senden, geben Sie diese Befehle ein. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
wsid=$(az monitor log-analytics workspace show \
--resource-group <your-resource-group> \
--workspace-name <your-log-analytics-workspace-name> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name <your-diagnostic-setting-name> \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace $wsid
Speicherkonto
Geben Sie diese Befehle ein, um Ressourcenprotokolle an ein Speicherkonto zu senden. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
storid=$(az storage account show \
--name <your-storage-account-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name <your-diagnostic-setting-name> \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--storage-account $storid
Event Hub
Geben Sie diese Befehle ein, um Ressourcenprotokolle an einen Event Hub-Namespace zu senden. Ersetzen Sie die Werte in Klammern durch Ihre Werte:
lbid=$(az network lb show \
--name <your-load-balancer-name> \
--resource-group <your-resource-group> \
--query id \
--output tsv)
az monitor diagnostic-settings create \
--name myDiagSetting-event \
--resource $lbid \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--event-hub-rule /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.EventHub/namespaces/<your-event-hub-namespace>/authorizationrules/RootManageSharedAccessKey
In den folgenden Abschnitten werden die Metriken und Protokolle behandelt, die Sie erfassen können.
Analysieren von Metriken
Sie können im Metrik-Explorer Metriken für Load Balancer mithilfe von Metriken aus anderen Azure-Diensten analysieren, indem Sie im Menü Azure Monitor die Option Metriken öffnen. Ausführliche Informationen zur Verwendung dieses Tools finden Sie unter Analysieren von Metriken mit Azure Metrik-Explorer.
Eine Liste der Plattformmetriken, die für die Load Balancer gesammelt wurden, finden Sie unter Referenzmetriken zur Überwachung von Load Balancer-Daten.
Sie können zur Referenz auf eine Liste aller in Azure Monitor unterstützter Ressourcenmetriken anzeigen.
Analysieren von Protokollen
Daten in Azure Monitor-Protokollen werden in Tabellen gespeichert, wobei jede Tabelle ihren eigenen Satz an eindeutigen Eigenschaften hat.
Das Aktivitätsprotokoll ist eine Art von Plattformprotokoll, das Erkenntnisse zu Ereignissen auf Abonnementebene liefert. Sie können es unabhängig anzeigen oder an Azure Monitor-Protokolle weiterleiten, in denen Sie mithilfe von Log Analytics viel komplexere Abfragen durchführen können.
Eine Liste der Tabellen, die von Azure Monitor-Protokollen verwendet und von Log Analytics abgefragt werden können, finden Sie in der Referenz zur Überwachung von Load Balancer-Daten.
Analysieren des Lastenausgleichs-Datenverkehrs mit NSG-Datenflussprotokollen
NSG-Datenflussprotokolle sind ein Feature von Azure Network Watcher, mit dem Sie Informationen zu IP-Datenverkehr protokollieren können, der eine Netzwerksicherheitsgruppe (NSG) durchläuft. Flowdaten werden an Azure Storage gesendet. Von dort aus können Sie auf die Daten zugreifen und sie in jedes Visualisierungstool, eine SIEM-Lösung (Security Information and Event Management) oder ein Intrusion-Detection-System (IDS, Angriffserkennungssystem) Ihrer Wahl exportieren.
NSG-Datenflussprotokolle können verwendet werden, um den Datenverkehr zu analysieren, der durch den Lastenausgleich fließt. Beachten Sie, dass NSG-Datenflussprotokolle nicht die Front-End-IP-Adresse des Lastenausgleichs enthalten. Um den Datenverkehr zu analysieren, der in einen Lastenausgleich fließt, müssten die NSG-Datenflussprotokolle nach den privaten IP-Adressen der Back-End-Poolmitglieder des Lastenausgleichs gefiltert werden.
Alerts
Azure Monitor-Warnungen informieren Sie proaktiv, wenn wichtige Bedingungen in Ihren Überwachungsdaten gefunden werden. Sie ermöglichen Ihnen, Probleme in Ihrem System zu identifizieren und zu beheben, bevor Ihre Kunden sie bemerken. Sie können Warnungen für Metriken, Protokolle und das Aktivitätsprotokoll festlegen. Verschiedene Arten von Warnungen haben jeweils ihre Vor- und Nachteile.
Wenn Sie eine Anwendung erstellen oder ausführen, die Load Balancer verwendet, bietet Azure Monitor Application Insights möglicherweise andere Typen von Warnungen.
In der folgenden Tabelle sind gängige und empfohlene Warnungsregeln für Load Balancer aufgeführt.
Warnungstyp | Bedingung | BESCHREIBUNG |
---|---|---|
Lastenausgleichsregel aufgrund nicht verfügbarer VMs nicht verfügbar | Wenn die Verfügbarkeit des Datenpfads nach Front-End-IP-Adresse und Front-End-Port (alle bekannten und zukünftigen Werte) als 0 angegeben ist und in einer zweiten Warnung der Status des Integritätstests ebenfalls 0 lautet, werden Warnungen ausgelöst. | Mit diesen Warnungen kann bestimmt werden, ob die Datenpfadverfügbarkeit für konfigurierte Lastenausgleichsregeln keinen Datenverkehr verarbeitet, da alle VMs im zugeordneten Back-End-Pool durch den konfigurierten Integritätstest heruntergefahren werden. Lesen Sie den Leitfaden zur Problembehandlung für Load Balancer, um die potenzielle Grundursache zu untersuchen. |
VM-Verfügbarkeit erheblich reduziert | Wenn der nach Back-End-IP-Adresse und Back-End-Port aufgeteilte Status des Integritätstests dem benutzerdefinierten Prozentsatz für die Gesamtgröße des Pools entspricht (d. h. 25 % werden untersucht), wird eine Warnung ausgelöst. | Diese Warnung bestimmt, ob weniger VMs als für die Verarbeitung des Datenverkehrs benötigt verfügbar sind. |
Fehler bei ausgehenden Verbindungen mit dem Internetendpunkt | Wenn „Anzahl von SNAT-Verbindungen“ nach „Verbindungsstatus = Fehler“ gefiltert wird und das Ergebnis größer als 0 (null) ist, wird eine Warnung ausgelöst. | Diese Warnung wird ausgelöst, wenn die SNAT-Ports erschöpft sind und VMs keine ausgehenden Verbindungen initiieren können. |
Bevorstehende SNAT-Erschöpfung | Wenn „Verwendete SNAT-Ports“ größer als die benutzerdefinierte Zahl ist, wird eine Warnung ausgelöst. | Für diese Warnung ist eine statische ausgehende Konfiguration erforderlich, bei der immer die gleiche Anzahl von Ports zugeordnet wird. Sie wird dann ausgelöst, wenn ein gewisser Prozentsatz der zugeordneten Ports verwendet wird. |
Nächste Schritte
- Eine Referenz zu den Metriken, Protokollen und anderen wichtigen Werten, die von Load Balancer erstellt werden, finden Sie in der Referenz zur Überwachung von Load Balancer-Daten.
- Ausführliche Informationen zur Überwachung von Azure-Ressourcen finden Sie unter Überwachen von Azure-Ressourcen mit Azure Monitor.