Stellen Sie eine Connect zu einer Azure Monitor-Datenquelle her - Amazon Managed Grafana

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie eine Connect zu einer Azure Monitor-Datenquelle her

Die Azure Monitor-Datenquelle unterstützt mehrere Dienste in der Azure-Cloud:

  • Der Azure Monitor-Dienst ist der Plattformdienst, der eine einzige Quelle für die Überwachung von Azure-Ressourcen bietet. Weitere Informationen finden Sie unter Den Azure Monitor-Dienst abfragen.

  • Der Application Insights-Server ist ein erweiterbarer APM-Dienst (Application Performance Management) für Webentwickler auf mehreren Plattformen. Er kann zur Überwachung Ihrer Live-Webanwendung verwendet werden. Er erkennt automatisch Leistungsanomalien. Weitere Informationen finden Sie unter Den Application Insights Analytics-Dienst abfragen.

  • Mit Azure Log Analytics (oder Azure Logs) haben Sie Zugriff auf Protokolldaten, die von Azure Monitor erfasst wurden. Weitere Informationen finden Sie unter Den Azure Log Analytics-Dienst abfragen.

  • Verwenden Sie den Application Insights Analytics-Dienst, um Application Insights-Daten mit derselben Abfragesprache abzufragen, die für Azure Log Analytics verwendet wird. Weitere Informationen finden Sie unter Den Application Insights Analytics-Dienst abfragen.

Die Datenquelle wird hinzugefügt

Die Datenquelle kann auf Metriken von vier verschiedenen Diensten zugreifen. Sie können den Zugriff auf die Dienste konfigurieren, die Sie verwenden. Es ist auch möglich, dieselben Anmeldeinformationen für mehrere Dienste zu verwenden, wenn Sie sie in Azure AD so eingerichtet haben.

  1. Über das Grafana-Hauptmenü können neu installierte Datenquellen sofort im Bereich Datenquellen hinzugefügt werden. Wählen Sie als Nächstes oben rechts die Schaltfläche Datenquelle hinzufügen. Die Azure Monitor-Datenquelle kann im Bereich Cloud in der Liste der Datenquellen ausgewählt werden.

  2. Im Namensfeld gibt Grafana automatisch einen Namen für die Datenquelle ein: Azure Monitor oder so etwas wieAzure Monitor - 3. Wenn Sie mehrere Datenquellen konfigurieren, ändern Sie den Namen in einen aussagekräftigeren Namen.

  3. Wenn Sie Azure Monitor verwenden, benötigen Sie vier Informationen aus dem Azure-Portal (detaillierte Anweisungen finden Sie unter dem zuvor angegebenen Link):

    • Mandanten-ID (Azure Active Directory, Eigenschaften, Verzeichnis-ID)

    • Client-ID (Azure Active Directory, App-Registrierungen, Wählen Sie Ihre App, Anwendungs-ID)

    • Geheimer Client-Schlüssel (Azure Active Directory, App-Registrierungen, Wählen Sie Ihre App, Schlüssel)

    • Standard-Abonnement-ID (Abonnements, Abonnement auswählen, Übersicht, Abonnement-ID)

  4. Fügen Sie diese vier Elemente in die Felder im Abschnitt Azure Monitor-API-Details ein.

    • Die Abonnement-ID kann pro Abfrage geändert werden. Speichern Sie die Datenquelle und aktualisieren Sie die Seite, um die Liste der Abonnements zu sehen, die für die angegebene Client-ID verfügbar sind.

  5. Wenn Sie auch den Azure Log Analytics-Dienst verwenden, müssen Sie diese beiden Konfigurationswerte angeben oder die Client-ID und den Secret aus dem vorherigen Schritt wiederverwenden.

    • Client-ID (Azure Active Directory, App-Registrierungen, Wählen Sie Ihre App, Anwendungs-ID)

    • Geheimer Client-Schlüssel (Azure Active Directory, App-Registrierungen, Wählen Sie Ihre App, Schlüssel, Erstellen Sie einen Schlüssel, Verwenden Sie den geheimen Clientschlüssel)

  6. Wenn Sie Application Insights verwenden, benötigen Sie zwei Informationen aus dem Azure-Portal (detaillierte Anweisungen finden Sie unter dem zuvor angegebenen Link):

    • Application ID

    • API-Schlüssel

  7. Fügen Sie diese beiden Elemente in die entsprechenden Felder im Abschnitt Application Insights API-Details ein.

  8. Testen Sie, ob die Konfigurationsdetails korrekt sind, indem Sie auf die Schaltfläche Speichern und testen klicken.

Wenn Sie in Schritt 4 eine neue Azure Active Directory-App erstellen, verwenden Sie alternativ die Azure-CLI:

az ad sp create-for-rbac -n "http://localhost:3000"

Wählen Sie einen Dienst

Nachdem Sie im Abfrage-Editor für ein Panel Ihre Azure Monitor-Datenquelle ausgewählt haben, besteht der erste Schritt darin, einen Dienst auszuwählen. Es gibt vier Optionen:

  • Azure Monitor

  • Application Insights

  • Azure Log Analytics

  • Insights Analytics

Der Abfrage-Editor ändert sich je nachdem, welche Option Sie auswählen. Azure Monitor ist die Standardeinstellung.

Den Azure Monitor-Dienst abfragen

Der Azure Monitor-Dienst stellt Metriken für alle Azure-Dienste bereit, die Sie ausführen. Er hilft Ihnen zu verstehen, wie Ihre Anwendungen in Azure funktionieren, und findet proaktiv Probleme, die sich auf Ihre Anwendungen auswirken.

Wenn Sie mit Ihren Azure Monitor-Anmeldeinformationen Zugriff auf mehrere Abonnements haben, wählen Sie zuerst das entsprechende Abonnement aus.

Beispiele für Metriken, die Sie über den Dienst abrufen können, sind:

  • Microsoft.Compute/virtualMachines - Percentage CPU

  • Microsoft.Network/networkInterfaces - Bytes sent

  • Microsoft.Storage/storageAccounts - Used Capacity

Mit dem Abfrage-Editor können Sie mehrere Dimensionen nach Metriken abfragen, die sie unterstützen. Metriken, die mehrere Dimensionen unterstützen, sind in der Liste der unterstützten Metriken von Azure Monitor aufgeführt, für die ein oder mehrere Werte in der Spalte Dimension für die Metrik aufgeführt sind.

Formatieren von Legendenschlüsseln mit Aliasnamen für Azure Monitor

Die Standardformatierung der Legende für die Azure Monitor-API lautet:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Diese können lang sein, aber Sie können diese Formatierung ändern, indem Sie Aliase verwenden. Im Feld Legendenformat können Sie die folgenden Aliase beliebig kombinieren.

Beispiele für Azure Monitor:

  • Blob Type: {{ blobtype }}

  • {{ resourcegroup }} - {{ resourcename }}

Aliasmuster für Azure Monitor

  • {{ resourcegroup }}= durch den Wert der Ressourcengruppe ersetzt

  • {{ namespace }}= ersetzt durch den Wert des Namespace (zum Beispiel Microsoft.Compute/VirtualMachines)

  • {{ resourcename }}= ersetzt durch den Wert des Ressourcennamens

  • {{ metric }}= durch den Namen der Metrik ersetzt (z. B. Prozentualer CPU-Wert)

  • {{ dimensionname }}= Legacy ab Version 7.1+ (aus Gründen der Abwärtskompatibilität), ersetzt durch den Schlüssel/die Bezeichnung der ersten Dimension (sortiert nach dem Schlüssel/der Bezeichnung) (zum Beispiel Blobtype)

  • {{ dimensionvalue }}= Legacy ab Version 7.1+ (aus Gründen der Abwärtskompatibilität), ersetzt durch den Wert der ersten Dimension (sortiert nach Schlüssel/Label) (zum Beispiel) BlockBlob

  • {{ arbitraryDim }}= Verfügbar in Version 7.1+, ersetzt durch den Wert der entsprechenden Dimension. (wird zum Beispiel{{ blobtype }}) BlockBlob

Vorlagenvariablen für Azure Monitor erstellen

Anstatt Dinge wie Server-, Anwendungs- und Sensornamen in Ihren metrischen Abfragen fest zu codieren, können Sie stattdessen Variablen verwenden. Variablen werden als Drop-down-Auswahlfelder oben im Dashboard angezeigt. Sie können diese Dropdown-Felder verwenden, um die in Ihrem Dashboard angezeigten Daten zu ändern.

Beachten Sie, dass der Azure Monitor-Dienst noch nicht mehrere Werte unterstützt. Um mehrere Zeitreihen zu visualisieren (z. B. Metriken für Server1 und Server2), fügen Sie mehrere Abfragen hinzu, sodass Sie sie im selben Diagramm oder in derselben Tabelle anzeigen können.

Das Azure Monitor-Datenquellen-Plug-In bietet die folgenden Abfragen, die Sie im Feld Abfrage in der Bearbeitungsansicht für Variablen angeben können. Sie können sie verwenden, um die Optionsliste einer Variablen zu füllen.

Name Beschreibung
Subscriptions() Gibt eine Liste von Abonnements zurück.
ResourceGroups() Gibt eine Liste von Ressourcengruppen zurück.
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa) Gibt eine Liste von Ressourcengruppen für ein bestimmtes Abonnement zurück.
Namespaces(aResourceGroup) Gibt eine Liste von Namespaces für die angegebene Ressourcengruppe zurück.
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup) Gibt eine Liste von Namespaces für die angegebene Ressourcengruppe und das Abonnement zurück.
ResourceNames(aResourceGroup, aNamespace) Gibt eine Liste von Ressourcennamen zurück.
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace) Gibt eine Liste von Ressourcennamen für ein bestimmtes Abonnement zurück.
MetricNamespace(aResourceGroup, aNamespace, aResourceName) Gibt eine Liste von metrischen Namespaces zurück.
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Gibt eine Liste von metrischen Namespaces für ein bestimmtes Abonnement zurück.
MetricNames(aResourceGroup, aNamespace, aResourceName) Gibt eine Liste von Metriknamen zurück.
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Gibt eine Liste von Metriknamen für ein bestimmtes Abonnement zurück.

Beispiele:

  • Abfrage „Resource Groups“: ResourceGroups()

  • Übergeben der Variablen für den Metriknamen: Namespaces(cosmo)

  • Verkettung von Vorlagenvariablen: ResourceNames($rg, $ns)

  • Parameter nicht in Anführungszeichen setzen: MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)

Weitere Hinweise zu Vorlagen und Vorlagenvariablen finden Sie unterVorlagen.

Liste der unterstützten Azure Monitor-Metriken

Nicht alle von der Azure Monitor-API zurückgegebenen Metriken haben Werte. Um das Erstellen einer Abfrage zu vereinfachen, verfügt die Grafana-Datenquelle über eine Liste unterstützter Azure Monitor-Metriken und ignoriert Metriken, die niemals Werte haben werden. Diese Liste wird regelmäßig aktualisiert, wenn der Azure-Cloud neue Dienste und Metriken hinzugefügt werden.

Azure Monitor-Warnmeldungen

Grafana-Benachrichtigungen werden für den Azure Monitor-Dienst unterstützt. Dies ist keine Azure Alerts-Unterstützung. Weitere Informationen zur Grafana-Warnung finden Sie unter. Grafana-Warnung

Den Application Insights-Dienst abfragen

Formatieren von Legendenschlüsseln mit Aliasnamen für Application Insights

Die Standardformatierung der Legende ist:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Im Feld Legendenformat können die folgenden Aliase beliebig kombiniert werden.

Beispiele für Application Insights:

  • city: {{ client/city }}

  • {{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]

Alias-Muster für Application Insights

  • {{ groupbyvalue }}= Legacy ab Grafana 7.1+ (aus Gründen der Abwärtskompatibilität) ersetzt durch den Schlüssel/die Bezeichnung der ersten Dimension (sortiert nach Schlüssel/Label)

  • {{ groupbyname }}= Legacy ab Grafana 7.1+ (aus Gründen der Abwärtskompatibilität) ersetzt durch den Wert der ersten Dimension (sortiert nach Schlüssel/Label) (zum Beispiel) BlockBlob

  • {{ metric }}= ersetzt durch den Namen der Metrik (zum Beispiel requests/count)

  • {{ arbitraryDim }}= Verfügbar in Version 7.1+, ersetzt durch den Wert der entsprechenden Dimension. ({{ client/city }}wird zum Beispiel Chicago)

Filterausdrücke für Application Insights

Das Filterfeld verwendet einen OData-Filterausdruck.

Beispiele:

  • client/city eq 'Boydton'

  • client/city ne 'Boydton'

  • client/city ne 'Boydton' and client/city ne 'Dublin'

  • client/city eq 'Boydton' or client/city eq 'Dublin'

Erstellung von Vorlagen mit Variablen für Application Insights

Verwenden Sie eine der folgenden Abfragen im Abfragefeld in der Bearbeitungsansicht für Variablen.

Weitere Informationen zu Vorlagen und Vorlagenvariablen finden Sie unterVorlagen.

Name Beschreibung
AppInsightsMetricNames() Gibt eine Liste von Metriknamen zurück.
AppInsightsGroupBys(aMetricName) Gibt eine Liste von group by Klauseln für den angegebenen Metriknamen zurück.

Beispiele:

  • Abfrage mit Metriknamen: AppInsightsMetricNames()

  • Übergabe der Variablen für den Metriknamen: AppInsightsGroupBys(requests/count)

  • Verkettung von Vorlagenvariablen: AppInsightsGroupBys($metricnames)

Application Insights-Warnmeldungen

Grafana-Benachrichtigungen werden für Application Insights unterstützt. Dies ist keine Unterstützung für Azure Alerts. Weitere Informationen zur Grafana-Warnung finden Sie unter. Grafana-Warnung

Den Azure Log Analytics-Dienst abfragen

Abfragen werden in der neuen Azure Log Analytics-Abfragesprache (oder KustoDB) geschrieben. Eine Log Analytics-Abfrage kann als Zeitreihendaten oder als Tabellendaten formatiert werden.

Wenn Sie mit Ihren Anmeldeinformationen Zugriff auf mehrere Abonnements haben, wählen Sie das entsprechende Abonnement aus, bevor Sie Abfragen eingeben.

Zeitreihenabfragen

Zeitreihenabfragen beziehen sich auf das Grafikfenster und andere Bereiche wie das SingleStat Panel. Jede Abfrage muss mindestens eine Datetime-Spalte und eine Spalte mit numerischen Werten enthalten. Das Ergebnis muss in aufsteigender Reihenfolge nach der Datetime-Spalte sortiert werden.

Das folgende Codebeispiel zeigt eine Abfrage, die die aggregierte Anzahl nach Stunden gruppiert zurückgibt.

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc

Eine Abfrage kann auch eine oder mehrere Spalten enthalten, die nicht numerisch sind oder keine Datetime-Spalten sind. Diese Spalten gelten als Dimensionen und werden in der Antwort zu Beschriftungen. Zum Beispiel eine Abfrage, die die aggregierte Anzahl gruppiert nach Stunde, Computer und der zurückgibt. CounterName

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc

Sie können auch zusätzliche Zahlenwertspalten (mit oder ohne mehrere Dimensionen) auswählen. Sie erhalten beispielsweise eine Anzahl und einen Durchschnittswert nach Stunde CounterName, Computer und InstanceName:

Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
Anmerkung

Tipp: In der vorherigen Abfrage wurden die Kusto-Syntax und die Kusto-Syntax Samples=count() ["Avg Value"]=... verwendet, um diese Spalten umzubenennen — die zweite Syntax berücksichtigt das Leerzeichen. Dies ändert den Namen der Metrik, die Grafana verwendet. Infolgedessen entsprechen Dinge wie Serienlegenden und Tabellenspalten Ihren Angaben. In diesem Beispiel Samples wird anstelle von angezeigt_count.

Tabellenabfragen

Tabellenabfragen werden hauptsächlich im Tabellenbereich verwendet und zeigen eine Liste von Spalten und Zeilen. Diese Beispielabfrage gibt Zeilen mit den sechs angegebenen Spalten zurück.

AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc

Formatieren des Anzeigenamens für Log Analytics

Das Standardformat für Anzeigenamen ist:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Dies kann mithilfe der Feldoption Anzeigename angepasst werden.

Azure Log Analytics-Makros

Um das Schreiben von Abfragen zu vereinfachen, bietet Grafana mehrere Makros, die Sie in der WHERE-Klausel einer Abfrage verwenden können:

  • $__timeFilter()— Erweitert sich dahin TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) andTimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z), wo die Datumsangaben von und bis aus der Grafana-Zeitauswahl stammen.

  • $__timeFilter(datetimeColumn)— Erweitert sich dahin datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) anddatetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z), wo die Datumsangaben von und bis aus der Grafana-Zeitauswahl stammen.

  • $__timeFrom()— Gibt die From Datetime aus dem Grafana-Picker zurück. Beispiel: datetime(2018-06-05T18:09:58.907Z).

  • $__timeTo()— Gibt die From Datetime aus dem Grafana-Picker zurück. Beispiel: datetime(2018-06-05T20:09:58.907Z).

  • $__escapeMulti($myVar)— soll mit mehrwertigen Template-Variablen verwendet werden, die unzulässige Zeichen enthalten. Wenn es die folgenden zwei Werte als Zeichenfolge $myVar hat'\\grafana-vm\Network(eth0)\Total','\\hello!', dann wird es erweitert zu:@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'. Wenn Sie Variablen mit einem Wert verwenden, ist dieses Makro nicht erforderlich, maskieren Sie die Variable stattdessen inline:@'\$myVar'.

  • $__contains(colName, $myVar)— soll mit mehrwertigen Template-Variablen verwendet werden. Wenn es den Wert $myVar hat'value1','value2', wird es erweitert zu:colName in ('value1','value2').

    Wenn Sie die Option Alle verwenden, aktivieren Sie das Kontrollkästchen Alle Optionen einbeziehen und geben Sie im Feld Alle Werte benutzerdefiniert den folgenden Wert ein:all. Wenn der Wert angegeben $myVar istall, wird das Makro stattdessen auf erweitert1 == 1. Bei Vorlagenvariablen mit zahlreichen Optionen erhöht dies die Abfrageleistung, da keine umfangreiche „where.. in“ -Klausel erstellt wird.

Integrierte Variablen von Azure Log Analytics

Es gibt auch einige Grafana-Variablen, die in Azure Log Analytics-Abfragen verwendet werden können:

  • $__interval- Grafana berechnet die minimale Zeitspanne, die verwendet werden kann, um in Abfragen nach Zeit zu gruppieren. Es gibt eine Zeitstruktur wie 5m oder zurück1h, die in der Bin-Funktion verwendet werden kann; zum Beispiel. summarize count() by bin(TimeGenerated, $__interval) Weitere Hinweise zu Intervallvariablen finden Sie unterEine Intervallvariable hinzufügen.

Templates mit Variablen für Azure Log Analytics

Jede Log Analytics-Abfrage, die eine Werteliste zurückgibt, kann im Abfragefeld in der Bearbeitungsansicht für Variablen verwendet werden. Es gibt auch eine Grafana-Funktion für Log Analytics, die eine Liste von Workspaces zurückgibt.

Hinweise zu Vorlagen und Vorlagenvariablen finden Sie unter. Vorlagen und Variablen

Name Beschreibung
workspaces() Gibt eine Liste der Workspaces für das Standardabonnement zurück.
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa) Gibt eine Liste von Workspaces für das angegebene Abonnement zurück (der Parameter kann in Anführungszeichen oder ohne Anführungszeichen stehen).

Die folgende Tabelle zeigt Beispiele für Variablenabfragen.

Abfrage Beschreibung
subscriptions() Gibt eine Liste von Azure-Abonnements zurück.
workspaces() Gibt eine Liste von Workspaces für das Standardabonnement zurück.
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa") Gibt eine Liste von Arbeitsbereichen für ein bestimmtes Abonnement zurück.
workspaces("$subscription") Mit Vorlagenvariable für den Abonnementparameter.
workspace("myWorkspace").Heartbeat \| distinct Computer Gibt eine Liste von virtuellen Maschinen zurück.
workspace("$workspace").Heartbeat \| distinct Computer Gibt eine Liste von virtuellen Maschinen mit einer Vorlagenvariablen zurück.
workspace("$workspace").Perf \| distinct ObjectName Gibt eine Liste von Objekten aus der Perf-Tabelle zurück.
workspace("$workspace").Perf \| where ObjectName == "$object" \| distinct CounterName Gibt eine Liste von Metriknamen aus der Perf-Tabelle zurück.

Das folgende Codebeispiel zeigt eine Zeitreihenabfrage mit Variablen.

Perf | where ObjectName == "$object" and CounterName == "$metric" | where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo() | where $__contains(Computer, $computer) | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc

Deep-Linking von Grafana-Panels zum Log Analytics-Abfrage-Editor im Azure-Portal

Wählen Sie im Panel eine Zeitreihe aus, um ein Kontextmenü mit einem Link zur Ansicht im Azure-Portal anzuzeigen. Wenn Sie diesen Link auswählen, wird der Azure Log Analytics-Abfrage-Editor im Azure-Portal geöffnet und die Abfrage wird dort über das Grafana-Bedienfeld ausgeführt.

Wenn Sie derzeit nicht im Azure-Portal angemeldet sind, öffnet der Link die Anmeldeseite. Der angegebene Link ist für jedes Konto gültig, aber er zeigt die Abfrage nur an, wenn Ihr Konto Zugriff auf den in der Abfrage angegebenen Azure Log Analytics-Arbeitsbereich hat.

Azure Log Analytics-Warnung

Grafana-Benachrichtigungen werden für Application Insights unterstützt. Dies ist keine Unterstützung für Azure Alerts. Weitere Informationen zu Benachrichtigungen in Grafana-Arbeitsbereichen finden Sie unter. Grafana-Warnung

Den Application Insights Analytics-Dienst abfragen

Wenn Sie den Diensttyp in Insights Analytics ändern, ist ein ähnlicher Editor wie der Log Analytics-Dienst verfügbar. Dieser Dienst verwendet auch die Kusto-Sprache, sodass die Anweisungen zum Abfragen von Daten identisch sind mit der AusnahmeDen Azure Log Analytics-Dienst abfragen, dass Sie stattdessen Application Insights Analytics-Daten abfragen.