Verwenden von Metriken und Protokollen in Network Watcher zur Problembehandlung für ein Netzwerk

Abgeschlossen

Wenn Sie ein Problem in kurzer Zeit diagnostizieren möchten, müssen Sie die Informationen in den Azure Network Watcher-Protokollen nachvollziehen können.

In Ihrem Maschinenbauunternehmen möchten Sie den Zeitaufwand minimieren, den Ihre Mitarbeiter mit dem Diagnostizieren und Beheben von Problemen im Zusammenhang mit Konfigurationen verbringt. Dazu muss das Personal wissen, welche Informationen in den Protokollen erfasst werden.

In diesem Modul konzentrieren Sie sich auf Datenflussprotokolle, Diagnoseprotokolle und auf Traffic Analytics. Dabei erfahren Sie, wie diese Tools die Problembehandlung für das Azure-Netzwerk unterstützen.

Nutzung und Kontingente

Sie können jede Microsoft Azure-Ressource bis zur Ausschöpfung des Kontingents nutzen. Jedes Abonnement verfügt über separate Kontingente. Die Nutzungsnachverfolgung erfolgt pro Abonnement. Pro Abonnement und Region ist nur eine Network Watcher-Instanz erforderlich. Diese Instanz bietet Ihnen einen Überblick über die Nutzung und über Kontingente, damit Sie feststellen können, wann ein Kontingent nahezu ausgeschöpft ist.

Navigieren Sie zu Alle Dienste>Netzwerk>Network Watcher, und klicken Sie auf Usage and quotas (Nutzung und Kontingente), um Informationen zur Nutzung und zu Kontingenten anzuzeigen. Präzise Daten zur Nutzung und zum Standort der Ressource werden angezeigt. Für folgende Metriken werden Daten erfasst:

  • Netzwerkschnittstellen
  • Netzwerksicherheitsgruppen (NSGs)
  • Virtuelle Netzwerke
  • Öffentliche IP-Adressen

Im folgenden Beispiel sehen Sie die Nutzung und die Kontingente im Portal:

Screenshot showing usage and quotas by using Network Watcher.

Protokolle

Netzwerkdiagnoseprotokolle enthalten ausführliche Daten. Mit diesen Daten können Sie Konnektivitäts- und Leistungsprobleme besser nachvollziehen. In Network Watcher sind drei Tools zum Anzeigen von Protokollen verfügbar:

  • NSG-Datenflussprotokolle
  • Diagnoseprotokolle
  • Traffic Analytics

Im Folgenden lernen Sie die einzelnen Tools kennen.

NSG-Datenflussprotokolle

NSG-Datenflussprotokolle enthalten Informationen zu ein- und ausgehendem IP-Datenverkehr für Netzwerksicherheitsgruppen. Datenflussprotokolle zeigen ausgehende und eingehende Flows basierend auf dem vom Flow angewendeten Netzwerkadapter auf Regelbasis an. NSG-Flussprotokolle geben Aufschluss darüber, ob Datenverkehr auf Grundlage der erfassten Fünf-Tupel-Daten zugelassen oder abgelehnt wurde. Folgende Informationen werden erfasst:

  • Quell-IP
  • Quellport
  • Ziel-IP
  • Zielport
  • Protokoll

Diagramm: NSG-Workflow

Screenshot showing the workflow that the NSG follows from inbound traffic to rule matches to allowing or denying a packet.

Flowprotokolle speichern Daten in einer JSON-Datei. Insbesondere bei einer umfassenden Bereitstellung der Infrastruktur in Azure kann es schwierig sein, Erkenntnisse aus diesen Daten abzuleiten, wenn die Protokolldateien manuell durchsucht werden. Verwenden Sie Power BI, um dieses Problem zu lösen.

In Power BI können Sie NSG-Datenflussprotokolle auf verschiedene Arten visualisieren. Beispiele:

  • Top Talker (IP-Adressen, über die die meisten Verbindungen aufgebaut werden)
  • Richtungsbasierte Datenflüsse (eingehend und ausgehend)
  • Entscheidungsbasierte Datenflüsse (zugelassen und abgelehnt)
  • Zielportbasierte Datenflüsse

Sie können auch Open-Source-Tools wie Elastic Stack, Grafana und Graylog verwenden, um Protokolle zu analysieren.

Hinweis

NSG-Flussprotokolle unterstützen keine Speicherkonten im klassischen Azure-Portal.

Diagnoseprotokolle

In Network Watcher sind Diagnoseprotokolle ein zentraler Ort zum Aktivieren und Deaktivieren von Protokollen für Azure-Netzwerkressourcen. Zu diesen Ressourcen zählen NSGs, öffentliche IP-Adressen, Lastenausgleichsmodule und App-Gateways. Nachdem Sie die Erstellung relevanter Protokolle aktiviert haben, können Sie die Tools verwenden, um Protokolleinträge abzufragen und diese anzuzeigen.

Sie können Diagnoseprotokolle in Power BI und andere Tools importieren, um sie zu analysieren.

Traffic Analytics

Mit Traffic Analytics untersuchen Sie Benutzer- und App-Aktivitäten in Ihren Cloudnetzwerken.

Dieses Tool bietet Einblicke in die abonnementübergreifende Netzwerkaktivität. Sie können damit Sicherheitsbedrohungen diagnostizieren, zu denen beispielsweise offene Ports, bestimmte Datenverkehrsflussmuster und VMs gehören, die mit als schädlich bekannten Netzwerken kommunizieren. Traffic Analytics analysiert NSG-Flussprotokolle in mehreren Azure-Regionen und -Abonnements. Mit den so gewonnenen Daten können Sie die Netzwerkleistung optimieren.

Dieses Tool kann nur mit Log Analytics verwendet werden. Der Log Analytics-Arbeitsbereich muss sich in einer unterstützten Region befinden.

Anwendungsfälle

Im Folgenden setzen Sie sich mit mehreren Anwendungsfällen auseinander, in denen Metriken und Protokolle von Azure Network Watcher hilfreich sein können.

Kundenberichte über geringe Leistung

Zunächst müssen Sie die Grundursache des Problems feststellen, um Probleme mit geringer Leistung beheben zu können. Dabei müssen Sie folgende Fragen beantworten:

  • Wird die Serverleistung durch zu viel Datenverkehr eingeschränkt?
  • Ist die VM-Größe angemessen?
  • Sind die Schwellenwerte für die Skalierbarkeit geeignet?
  • Finden aktuell Angriffe statt?
  • Wurde der VM-Speicher richtig konfiguriert?

Zuerst überprüfen Sie, ob die VM-Größe angemessen ist. Anschließend aktivieren Sie die Azure-Diagnose auf der VM, um ausführlichere Daten zu bestimmten Metriken wie etwa für die CPU- oder Arbeitsspeicherauslastung zu erhalten. Wechseln Sie im Portal zur VM, klicken Sie auf Diagnoseeinstellungen, und aktivieren Sie die VM-Diagnose.

Angenommen, Sie verfügen über eine VM, die bisher einwandfrei funktioniert hat. Kürzlich hat jedoch die VM-Leistung abgenommen. Sie müssen nun die erfassten Daten überprüfen, um zu ermitteln, ob Ressourcenengpässe vorliegen.

Dazu sehen Sie sich die Daten an, die vor, während und nach der Feststellung des Problems erfasst wurden, um sich einen genauen Überblick über die Leistung zu verschaffen. Sie können die angezeigten Diagramme auch in demselben Zeitraum nutzen, um unterschiedliche Verhalten von Ressourcen zu vergleichen. Im Folgenden überprüfen Sie, welche der aufgeführten Probleme vorliegen:

  • CPU-Engpässe
  • Arbeitsspeicherengpässe
  • Datenträgerengpässe

CPU-Engpässe

Wenn Sie Leistungsprobleme untersuchen, können Sie Trends analysieren, um nachzuvollziehen, ob diese Ihren Server beeinträchtigen. Verwenden Sie dazu die Überwachungsdiagramme im Portal. Auf einem Überwachungsdiagramm können unterschiedliche Muster zu sehen sein:

  • Isolierte Lastspitzen: Eine Lastspitze kann auf eine geplante Aufgabe oder auf ein erwartetes Ereignis zurückzuführen sein. Wenn Sie wissen, um welche Aufgabe es sich handelt, müssen Sie entscheiden, ob die Leistung für deren Ausführung ausreicht. Wenn die Leistung in Ordnung ist, müssen Sie möglicherweise die Kapazität nicht erhöhen.
  • Lastspitzen und konstanter Verbrauch: Dieser Trend kann durch eine neue Workload verursacht werden. Aktivieren Sie die Überwachung auf der VM, um herauszufinden, welche Prozesse für die Last verantwortlich sind. Der erhöhte Verbrauch kann durch ineffizienten Code bedingt sein oder dem normalen Verbrauch des neuen Workloads entsprechen. Bei Normalverbrauch müssen Sie entscheiden, ob die Prozessleistung ausreichend ist.
  • Konstanter Verbrauch: Entspricht der Verbrauch Ihrer VM dem bisherigen? In diesem Fall sollten Sie die Prozesse ermitteln, die die meisten Ressourcen verbrauchen, und ggf. die Kapazität erhöhen.
  • Kontinuierlicher Anstieg des Verbrauchs: Steigt der Verbrauch konstant an? In diesem Fall könnte der Trend auf ineffizienten Code oder auf einen Prozess hindeuten, der über eine höhere Benutzerworkload verfügt.

Wenn Sie eine hohe CPU-Auslastung beobachten, können Sie eine der folgenden Möglichkeiten nutzen:

  • Sie erhöhen die VM-Größe, um eine Skalierung mit mehr Kernen zu ermöglichen.
  • Sie untersuchen das Problem noch genauer. Suchen Sie dafür die App und den Prozess, und führen Sie entsprechend eine Problembehandlung durch.

Wenn Sie die VM hochskalieren und die CPU immer noch über 95% ausgelastet ist, ist dann die App-Leistung besser oder der App-Durchsatz auf ein akzeptables Niveau gestiegen? Wenn dies nicht der Fall ist, müssen Sie für die jeweilige App eine Problembehandlung durchführen.

Arbeitsspeicherengpässe

Sie können den von der VM verwendeten Arbeitsspeicher anzeigen. Mithilfe der Protokolle können Sie den Trend nachvollziehen und sehen, ob dieser mit dem Zeitpunkt korreliert, an dem die Probleme auftreten. Es sollten jederzeit mindestens 100 MB Arbeitsspeicher verfügbar sein. Halten Sie nach den folgenden Trends Ausschau:

  • Lastspitzen und konstanter Verbrauch: Eine hohe Arbeitsspeicherauslastung ist möglicherweise nicht die Ursache für eine schlechte Leistung. Einige Apps wie die Engines relationaler Datenbanken benötigen standardmäßig viel Speicher. Wenn jedoch mehrere Apps viel Speicher verbrauchen, ist die Leistung möglicherweise unzureichend, da Arbeitsspeicherkonflikte die Freigabe von nicht genutztem Speicher (Trimming) und Auslagerungen auf den Datenträger verursachen. Diese Prozesse wirken sich negativ auf die Leistung aus.
  • Kontinuierlicher Anstieg des Verbrauchs: Dieser Trend könnte auf eine App zurückzuführen sein, die gerade initialisiert wird. Dies geschieht beispielsweise oft beim Start einer Datenbank-Engine. Der Trend könnte jedoch ebenfalls auf einen Arbeitsspeicherverlust in einer App hindeuten.
  • Nutzung einer Auslagerungsdatei: Überprüfen Sie, ob die Windows-Auslagerungsdatei oder unter Linux die Auslagerungsdatei in /dev/sdb häufig verwendet wird.

Sie können eine der folgenden Möglichkeiten nutzen, um eine hohe Arbeitsspeicherauslastung zu verhindern:

  • Sie erhöhen die VM-Größe und fügen für eine kurzfristige Lösung des Problems oder zur Nutzung von Auslagerungsdateien Arbeitsspeicher hinzu. Anschließend überwachen Sie den Verbrauch.
  • Sie untersuchen das Problem noch genauer. Suchen Sie die App oder den Prozess, die oder der den Engpass verursacht, und beheben Sie das Problem. Wenn die App bekannt ist, können Sie versuchen, die Speicherbelegung durch einen Maximalwert zu begrenzen.

Datenträgerengpässe

Die Netzwerkleistung kann auch mit dem Speichersubsystem der VM zusammenhängen. Sie können das Speicherkonto der VM im Portal untersuchen. Sehen Sie sich die Leistungsmetriken der Diagnoseverfahren für das Speicherkonto und für die VM an, um Speicherprobleme zu ermitteln. Halten Sie nach entscheidenden Trends Ausschau, wenn die Probleme in einem bestimmten Zeitraum auftreten.

  • Überprüfen Sie mithilfe der folgenden Metriken, ob ein Azure Storage-Timeout vorliegt: ClientTimeOutError (Fehler aufgrund von Clienttimeout), ServerTimeOutError (Fehler aufgrund von Servertimeout), AverageE2ELatency (Durchschnittliche End-to-End-Latenz), AverageServerLatency (Durchschnittliche Serverlatenz) und TotalRequests (Gesamtanforderungen). Wenn Werte für die Metrik TimeOutError (Timeoutfehler) erfasst werden, bedeutet das, dass ein E/A-Vorgang zu viel Zeit in Anspruch genommen hat und ein Timeout aufgetreten ist. Wenn AverageServerLatency zur selben Zeit wie TimeOutErrors ansteigt, könnte ein Problem mit der Plattform vorliegen: Stellen Sie in diesem Fall eine Anfrage beim technischen Microsoft-Support.
  • Verwenden Sie die Speicherkontometrik ThrottlingError (Einschränkungsfehler), um zu überprüfen, ob Azure Storage eingeschränkt ist. Wenn eine solche Einschränkung vorhanden ist, bedeutet das, dass der maximale IOPS des Kontos überschritten wird. Sie können dieses Problem überprüfen, indem Sie die Metrik TotalRequests untersuchen.

So beheben Sie Probleme im Zusammenhang mit einer hohen Datenträgerauslastung und Latenz:

  • Optimieren Sie für eine VM die E/A-Rate, um Skalierungen vorzunehmen, die nicht durch die Maximalwerte von virtuellen Festplatten (VHDs) eingeschränkt werden.
  • Erhöhen Sie den Durchsatz, und reduzieren Sie die Latenz. Wenn Sie über eine App verfügen, bei der die Latenz eine wichtige Rolle spielt, und Sie auf einen hohen Durchsatz angewiesen sind, sollten Sie Ihre VHDs zu Azure Storage Premium migrieren.

Blockierter Datenverkehr aufgrund von VM-Firewallregeln

Verwenden Sie das Tool „Überprüfen des IP-Flusses“ und NSG-Flussprotokolle von Network Watcher, um für einen NSG-Datenfluss eine Problembehandlung durchzuführen. Dabei ermitteln Sie, ob eine NSG oder UDR (User Defined Routing) den Datenverkehr beeinträchtigt.

Führen Sie „Überprüfen des IP-Flusses“ aus, und geben Sie die lokale VM und die Remote-VM an. Wenn Sie auf Check (Überprüfen) klicken, führt Azure für die bestehenden Regeln einen Logiktest durch. Wenn aus den Ergebnissen hervorgeht, dass der Zugriff zulässig ist, verwenden Sie NSG-Flussprotokolle.

Navigieren Sie im Portal zu den NSGs. Klicken Sie unter Flowprotokolleinstellungen auf Ein. Versuchen Sie nun noch mal, eine Verbindung mit der VM herzustellen. Verwenden Sie Network Watcher Traffic Analytics, um die Daten zu visualisieren. Wenn aus den Ergebnissen hervorgeht, dass der Zugriff zulässig ist, liegt das Problem nicht bei der NSG-Regel.

Wenn Sie das Problem zu diesem Zeitpunkt immer noch nicht diagnostizieren konnten, liegt möglicherweise ein Problem mit der Remote-VM vor. Deaktivieren Sie die Firewall auf der Remote-VM, und überprüfen Sie noch mal, ob eine Verbindung hergestellt werden kann. Wenn die Firewall deaktiviert ist und Sie eine Verbindung mit der Remote-VM herstellen können, überprüfen Sie die Einstellungen der Remotefirewall. Aktivieren Sie dann die Firewall noch mal.

Fehlende Kommunikation zwischen den Front-End- und Back-End-Subnetzen

Standardmäßig können alle Subnetze in Azure kommunizieren. Wenn zwei VMs, die sich in zwei verschiedenen Subnetzen befinden, nicht miteinander kommunizieren können, muss die Kommunikation aufgrund einer Konfiguration blockiert werden. Führen Sie das Tool zum Überprüfen des IP-Flusses aus, um die Verbindung von der Front-End-VM zur Back-End-VM zu testen, und überprüfen Sie erst danach die Datenflussprotokolle. „Überprüfen des IP-Flusses“ führt einen Logiktest für die Regeln im Netzwerk aus.

Wenn aus den Ergebnissen hervorgeht, dass eine NSG im Back-End-Subnetz die Kommunikation verhindert, müssen Sie diese NSG neu konfigurieren. Aus Sicherheitsgründen müssen Sie einige Verbindungen mit dem Front-End blockieren, da dieses über das öffentliche Internet zugänglich ist.

Indem Sie Verbindungen mit dem Back-End blockieren, schränken Sie potenzielle Gefahren ein, die sich aus Schadsoftware oder einem Sicherheitsangriff ergeben. Wenn die NSG jedoch sämtliche Verbindungen blockiert, ist sie falsch konfiguriert. Aktivieren Sie daher die erforderlichen Protokolle und Ports.