Konfigurieren der selbstgehosteten Integration Runtime (SHIR) für die Log Analytics-Sammlung
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Voraussetzungen
Für diese Methode benötigen Sie einen Log Analytics-Arbeitsbereich. Es wird empfohlen, die Arbeitsbereichs-ID und den Authentifizierungsschlüssel Ihres Log Analytics-Arbeitsbereichs zu notieren, da Sie diese später für bestimmte Szenarios benötigen. Mit dieser Lösung wird die Datenmenge erhöht, die an den Log Analytics-Arbeitsbereich gesendet wird, was sich geringfügig auf Ihre Gesamtkosten auswirken wird. Im weiteren Verlauf des Artikels wird immer wieder darauf hingewiesen, wie Sie diese Datenmenge auf ein Minimum beschränken.
Ziele und Szenarios
Instrumentieren Sie den virtuellen Computer (VM), auf dem die SHIR gehostet wird, um die Ereignisse und Leistungsindikatordaten für Ihren Log Analytics-Arbeitsbereich zu zentralisieren. Dabei können Sie zwischen den folgenden beiden Hauptszenarios wählen:
Instrumentieren lokaler VMs
Im Artikel Installieren des Log Analytics-Agents auf Windows-Computern wird beschrieben, wie Sie den Client auf einer VM installieren, die in der Regel lokal gehostet wird. Dabei kann es sich entweder um einen physischen Server oder um einen virtuellen Computer handeln, der auf einem kundenseitig verwalteten Hypervisor gehostet wird. Wie im Abschnitt mit den Voraussetzungen erwähnt, müssen Sie bei der Installation des Log Analytics-Agents die Arbeitsbereichs-ID und den Arbeitsbereichsschlüssel Ihres Log Analytics-Arbeitsbereichs angeben, um die Verbindung herzustellen.
Instrumentieren von Azure-VMs
Zum Instrumentieren einer auf einer Azure-VM basierenden SHIR wird empfohlen, die im Artikel Übersicht zum Aktivieren von VM Insights beschriebenen Einblicke in virtuelle Computer zu nutzen. Es gibt mehrere Möglichkeiten, den Log Analytics-Agent zu konfigurieren, wenn die SHIR auf einem virtuellen Azure-Computer gehostet wird. Informationen zu allen Optionen finden Sie im Artikel Übersicht über den Log Analytics-Agent.
Konfigurieren der Erfassung von Ereignisprotokollen und Leistungsindikatoren
In diesem Schritt erfahren Sie, wie Sie sowohl Protokolle der Ereignisanzeige als auch Leistungsindikatoren konfigurieren, die an Log Analytics gesendet werden sollen. Die unten beschriebenen Schritte gelten unabhängig davon, wie der Agent bereitgestellt wurde.
Auswählen von Journalen der Ereignisanzeige
Sammeln Sie zunächst Journale der Ereignisanzeige, die für die SHIR relevant sind. Eine Anleitung hierzu finden Sie im Artikel Datenquellen für das Sammeln von Windows-Ereignisprotokolldaten mit dem Log Analytics-Agent.
Dabei ist es wichtig zu wissen, dass bei der Auswahl der Ereignisprotokolle über die Schnittstelle üblicherweise nicht alle Journale angezeigt werden, die auf einem Computer vorhanden sein können. Daher werden die beiden Journale, die Sie für die Überwachung der SHIR benötigen, möglicherweise nicht in dieser Liste angezeigt. Wenn Sie jedoch den Namen des Journals genau so eingeben, wie er auf der lokalen VM angezeigt wird, wird das Journal erfasst und an Ihren Log Analytics-Arbeitsbereich gesendet.
Die Namen der Ereignisjournale, die Sie konfigurieren müssen, lauten:
- Connectors – Integration Runtime
- Integration Runtime
Wichtig
Wenn Sie die Kontrollkästchen bei Informationen aktiviert lassen, erhöht sich die Datenmenge erheblich, wenn viele SHIR-Hosts bereitgestellt werden und eine größere Anzahl von Überprüfungen erforderlich sind. Es wird daher dringend empfohlen, nur die Kontrollkästchen bei „Fehler“ und „Warnung“ zu aktivieren.
Auswählen von Leistungsindikatoren
Klicken Sie im gleichen Konfigurationsbereich auf Windows-Leistungsindikatoren, um einzelne Leistungsindikatoren auszuwählen, die an Log Analytics gesendet werden sollen.
Wichtig
Beachten Sie, dass Leistungsindikatoren naturgemäß einen kontinuierlichen Datenstrom darstellen. Es ist daher sehr wichtig, dass Sie die Auswirkungen der Datensammlung auf die Gesamtkosten Ihrer Azure Monitor-/Log Analytics-Bereitstellung berücksichtigen. Sofern Sie nicht über ein Budget für die Datenerfassung verfügen, das die konstante Erfassung von Daten beinhaltet, sollten Sie das Sammeln von Leistungsindikatoren nur für einen definierten Zeitraum zur Einrichtung einer Leistungsbaseline konfigurieren.
In der Schnittstelle wird bei der ersten Konfiguration ein Indikatorensatz empfohlen. Wählen Sie die Leistungsindikatoren aus, die zu der von Ihnen gewünschten Leistungsanalyse passen. Häufig überwachte Indikatoren sind %CPU und Verfügbarer Arbeitsspeicher. Doch auch andere Indikatoren wie Nutzung der Netzwerkbandbreite können in Szenarios mit großem Datenvolumen und eingeschränkter Bandbreite oder Ausführungszeit nützlich sein.
Anzeigen von Ereignissen und Leistungsindikatordaten in Log Analytics
Hier erfahren Sie, wie Sie Überwachungsdaten in den Azure Monitor-Protokollen bzw. im Log Analytics-Speicher mithilfe der Kusto-Abfragesprache (Kusto Query Language, KQL) analysieren. Weitere Informationen finden Sie unter Kusto-Abfragen.
Die beiden Tabellen, in denen die Telemetriedaten gespeichert werden, heißen „Perf“ bzw. „Event“. Mit der folgenden Abfrage wird die Zeilenanzahl überprüft, um festzustellen, ob eingehender Datenverkehr vorhanden ist. Dies bestätigt, dass die oben beschriebene Instrumentierung ordnungsgemäß funktioniert.
KQL-Beispielabfragen
Überprüfen der Zeilenanzahl
(
Event
| extend TableName = "Event"
| summarize count() by TableName
)
| union
(
Perf
| extend TableName = "Perf"
| summarize count() by TableName
)
Abfragen von Ereignissen
Abrufen der ersten 10 Ereigniszeilen
Event
| take 10
Abrufen der Anzahl der Ereignisse nach Schweregrad der Meldung
Event
| summarize count() by EventLevelName
Rendern eines Kreisdiagramms mit der Anzahl nach Schweregrad der Meldung
Event
| summarize count() by EventLevelName
| render piechart
Abrufen aller Fehler mit einer bestimmten Textzeichenfolge
Diese Suche betrifft alle Meldungen, die das Wort disconnected enthalten.
Event
| where RenderedDescription has "disconnected"
Suchen nach einem Schlüsselwort in mehreren Tabellen ohne Kenntnis des Schemas
Dieser Suchbefehl ist für Fälle geeignet, in denen nicht bekannt ist, in welcher Spalte die Informationen enthalten sind. Die Abfrage gibt alle Zeilen aus den angegebenen Tabellen zurück, die mindestens eine Spalte mit dem Suchbegriff enthalten. Das gesuchte Wort lautet in diesem Beispiel disconnected.
search in (Perf, Event) "disconnected"
Abrufen aller Ereignisse aus einem bestimmten Protokolljournal
In diesem Beispiel beschränken wir die Abfrage auf das Protokolljournal mit dem Namen Connectors – Integration Runtime.
Event
| where EventLog == "Connectors - Integration Runtime"
Einschränken von Abfrageergebnissen mithilfe von Zeiträumen
In diesem Beispiel wird dieselbe Abfrage wie oben verwendet, die Ergebnisse werden jedoch auf den Zeitraum von vor 2 Tagen oder früher eingeschränkt.
Event
| where EventLog == "Connectors - Integration Runtime"
and TimeGenerated >= ago(2d)
Abfragen von Leistungsindikatordaten
Abrufen der ersten 10 Leistungsindikatorwerte
Perf
| take 10
Abrufen eines bestimmten Leistungsindikators mit Zeiteinschränkungen
Perf
| where TimeGenerated >= ago(24h)
and ObjectName == "Network Adapter"
and InstanceName == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
and CounterName == "Bytes Received/sec"
Leistungsindikatoren sind naturgemäß hierarchisch. Verwenden Sie daher in Ihrer Abfrage genügend Prädikate vom Typ where, um nur den gewünschten Indikator auszuwählen.
Abrufen des 95. Perzentils für einen bestimmten Leistungsindikator nach 30-Minuten-Abschnitten der letzten 24 Stunden
In diesem Beispiel werden alle Leistungsindikatoren für einen bestimmten Netzwerkadapter abgerufen.
Perf
| where TimeGenerated >= ago(24h)
and ObjectName == "Network Adapter"
and InstanceName == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
| project TimeGenerated, Computer, ObjectName, InstanceName, CounterName, CounterValue
| summarize percentile(CounterValue, 95) by bin(TimeGenerated, 30m), Computer, ObjectName, InstanceName, CounterName
Verwenden von Variablen aus Gründen der Wiederverwendbarkeit des Codes
Hier werden die Namen des Objekts und des Leistungsindikators zu Variablen, damit der KQL-Abfragetext bei späteren Änderungen an der Auswahl nicht geändert werden muss.
let pObjectName = "Memory"; // Required to select the right counter
let pCounterName = "Available MBytes"; // Required to select the right counter
Perf
| where Type == "Perf" and ObjectName == pObjectName and CounterName == pCounterName
| project TimeGenerated, Computer, CounterName, CounterValue
| order by TimeGenerated asc
| summarize Value=max(CounterValue) by CounterName, TimeStamps=TimeGenerated