Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connectez-vous à une source de données Azure Monitor
La source de données Azure Monitor prend en charge plusieurs services dans le cloud Azure :
-
Le service Azure Monitor est le service de plateforme qui fournit une source unique pour surveiller les ressources Azure. Pour plus d’informations, consultez Interrogation du service Azure Monitor.
-
Le serveur Application Insights est un service de gestion des performances des applications (APM) extensible destiné aux développeurs Web sur plusieurs plateformes. Il peut être utilisé pour surveiller votre application Web en direct. Il détectera automatiquement les anomalies de performances. Pour plus d’informations, consultez Interrogation du service Application Insights Analytics.
-
Azure Log Analytics (ou Azure Logs) vous donne accès aux données de journal collectées par Azure Monitor. Pour plus d’informations, consultez Interrogation du service Azure Log Analytics.
-
Utilisez le service Application Insights Analytics pour interroger les données Application Insights
en utilisant le même langage de requête que celui utilisé pour Azure Log Analytics. Pour plus d’informations, consultez Interrogation du service Application Insights Analytics.
Ajouter la source de données
La source de données peut accéder aux métriques provenant de quatre services différents. Vous pouvez configurer l'accès aux services que vous utilisez. Il est également possible d'utiliser les mêmes informations d'identification pour plusieurs services si c'est ainsi que vous les avez configurés dans Azure AD.
-
Accessibles depuis le menu principal de Grafana, les sources de données nouvellement installées peuvent être ajoutées immédiatement dans la section Sources de données. Cliquez ensuite sur le bouton Ajouter une source de données en haut à droite. La source de données Azure Monitor pourra être sélectionnée dans la section Cloud de la liste des sources de données.
-
Dans le champ du nom, Grafana saisira automatiquement le nom de la source de données :
Azure Monitor
ou quelque chose comme.Azure Monitor - 3
Si vous configurez plusieurs sources de données, remplacez le nom par un nom plus informatif. -
Si vous utilisez Azure Monitor, vous avez besoin de quatre informations provenant du portail Azure (pour des instructions détaillées, consultez le lien fourni précédemment) :
-
ID du locataire (Azure Active Directory, propriétés, ID de répertoire)
-
ID client (Azure Active Directory, inscriptions d'applications, choisissez votre application, ID d'application)
-
Secret du client (Azure Active Directory, inscriptions d'applications, choix de votre application, clés)
-
ID d'abonnement par défaut (abonnements, choix de l'abonnement, aperçu, numéro d'abonnement)
-
-
Collez ces quatre éléments dans les champs de la section Détails de l'API Azure Monitor.
-
L'identifiant d'abonnement peut être modifié par requête. Enregistrez la source de données et actualisez la page pour voir la liste des abonnements disponibles pour l'ID client spécifié.
-
-
Si vous utilisez également le service Azure Log Analytics, vous devez spécifier ces deux valeurs de configuration ou réutiliser l'ID client et le secret de l'étape précédente.
-
ID client (Azure Active Directory, inscriptions d'applications, choisissez votre application, ID d'application)
-
Secret du client (Azure Active Directory, enregistrements d'applications, choix de votre application, clés, création d'une clé, utilisation du secret client)
-
-
Si vous utilisez Application Insights, vous avez besoin de deux informations provenant du portail Azure (pour des instructions détaillées, consultez le lien fourni précédemment) :
-
ID d'application
-
Clé d'API
-
-
Collez ces deux éléments dans les champs appropriés de la section Détails de l'API Application Insights.
-
Vérifiez que les détails de configuration sont corrects en cliquant sur le bouton Enregistrer et tester.
Sinon, à l'étape 4, si vous créez une nouvelle application Azure Active Directory, utilisez la CLI Azure
az ad sp create-for-rbac -n "http://localhost:3000"
Choisir un service
Dans l'éditeur de requêtes d'un panneau, après avoir choisi votre source de données Azure Monitor, la première étape consiste à sélectionner un service. Il existe quatre options :
-
Azure Monitor
-
Application Insights
-
Azure Log Analytics
-
Insights Analytics
L'éditeur de requêtes change en fonction de l'option sélectionnée. Azure Monitor est le moniteur par défaut.
Interrogation du service Azure Monitor
Le service Azure Monitor fournit des métriques pour tous les services Azure que vous exécutez. Il vous aide à comprendre les performances de vos applications sur Azure et détecte de manière proactive les problèmes affectant vos applications.
Si vos informations d'identification Azure Monitor vous donnent accès à plusieurs abonnements, choisissez d'abord l'abonnement approprié.
Voici des exemples de statistiques que vous pouvez obtenir du service :
-
Microsoft.Compute/virtualMachines - Percentage CPU
-
Microsoft.Network/networkInterfaces - Bytes sent
-
Microsoft.Storage/storageAccounts - Used Capacity
L'éditeur de requêtes vous permet d'interroger plusieurs dimensions pour obtenir les métriques qui les prennent en charge. Les métriques qui prennent en charge plusieurs dimensions sont celles répertoriées dans la liste des métriques prises en charge par Azure Monitor
Formatage des clés de légende avec des alias pour Azure Monitor
Le format de légende par défaut pour l'API Azure Monitor est le suivant :
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
Elles peuvent être longues, mais vous pouvez modifier cette mise en forme en utilisant des alias. Dans le champ Format de légende, vous pouvez combiner les alias suivants comme vous le souhaitez.
Exemples d'Azure Monitor :
-
Blob Type: {{ blobtype }}
-
{{ resourcegroup }} - {{ resourcename }}
Modèles d'alias pour Azure Monitor
-
{{ resourcegroup }}
= remplacé par la valeur du groupe de ressources -
{{ namespace }}
= remplacé par la valeur de l'espace de noms (par exemple, Microsoft.Compute/VirtualMachines) -
{{ resourcename }}
= remplacé par la valeur du nom de la ressource -
{{ metric }}
= remplacé par le nom de la métrique (par exemple, pourcentage de processeur) -
{{ dimensionname }}
= Héritage à partir de la version 7.1 (pour des raisons de rétrocompatibilité) remplacé par la clé/étiquette de la première dimension (triée par clé/étiquette) (par exemple, blobtype) -
{{ dimensionvalue }}
= Héritage à partir de la version 7.1 (pour des raisons de rétrocompatibilité) remplacé par la valeur de la première dimension (telle que triée par clé/étiquette) (par exemple,) BlockBlob -
{{ arbitraryDim }}
= Disponible en version 7.1+ remplacée par la valeur de la dimension correspondante. (par exemple,{{ blobtype }}
devient BlockBlob)
Création de variables de modèle pour Azure Monitor
Au lieu de coder en dur des éléments tels que le nom du serveur, de l'application et du capteur dans vos requêtes métriques, vous pouvez utiliser des variables à leur place. Les variables sont affichées sous forme de boîtes de sélection déroulantes en haut du tableau de bord. Vous pouvez utiliser ces listes déroulantes pour modifier les données affichées dans votre tableau de bord.
Notez que le service Azure Monitor ne prend pas encore en charge les valeurs multiples. Pour visualiser plusieurs séries chronologiques (par exemple, les métriques pour serveur1 et serveur2), ajoutez plusieurs requêtes afin de pouvoir les afficher sur le même graphique ou dans le même tableau.
Le plug-in de source de données Azure Monitor fournit les requêtes suivantes que vous pouvez spécifier dans le champ Requête de la vue d'édition des variables. Vous pouvez les utiliser pour remplir la liste des options d'une variable.
Name (Nom) | Description |
---|---|
Subscriptions()
|
Renvoie la liste des abonnements. |
ResourceGroups()
|
Renvoie une liste de groupes de ressources. |
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa)
|
Renvoie une liste de groupes de ressources pour un abonnement spécifié. |
Namespaces(aResourceGroup)
|
Renvoie une liste d'espaces de noms pour le groupe de ressources spécifié. |
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup)
|
Renvoie une liste d'espaces de noms pour le groupe de ressources et l'abonnement spécifiés. |
ResourceNames(aResourceGroup, aNamespace)
|
Renvoie une liste de noms de ressources. |
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace)
|
Renvoie une liste de noms de ressources pour un abonnement spécifié. |
MetricNamespace(aResourceGroup, aNamespace,
aResourceName)
|
Renvoie une liste d'espaces de noms métriques. |
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace, aResourceName)
|
Renvoie une liste d'espaces de noms métriques pour un abonnement spécifié. |
MetricNames(aResourceGroup, aNamespace,
aResourceName)
|
Renvoie une liste de noms de métriques. |
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa,
aResourceGroup, aNamespace, aResourceName)
|
Renvoie une liste de noms de métriques pour un abonnement spécifié. |
Exemples :
-
Requête Resource Groups :
ResourceGroups()
-
Transmission de la variable de nom de la métrique :
Namespaces(cosmo)
-
Enchaînement des variables du modèle :
ResourceNames($rg, $ns)
-
Ne citez pas les paramètres :
MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)
Pour plus d'informations sur les modèles et les variables de modèles, consultezModèles.
Liste des métriques Azure Monitor prises en charge
Toutes les métriques renvoyées par l'API Azure Monitor n'ont pas de valeurs. Pour faciliter la création d'une requête, la source de données Grafana contient une liste des métriques Azure Monitor prises en charge, et elle ignore les métriques qui n'auront jamais de valeurs. Cette liste est régulièrement mise à jour à mesure que de nouveaux services et mesures sont ajoutés au cloud Azure.
Alertes Azure Monitor
Les alertes Grafana sont prises en charge pour le service Azure Monitor. Il ne s'agit pas du support Azure Alerts. Pour plus d'informations sur les alertes Grafana, consultez. Alerte Grafana
Interrogation du service Application Insights
Formatage des clés de légende avec des alias pour Application Insights
Le format de légende par défaut est le suivant :
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
Dans le champ Format de légende, les alias suivants peuvent être combinés comme vous le souhaitez.
Exemples d'applications Insights :
-
city: {{ client/city }}
-
{{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]
Modèles d'alias pour Application Insights
-
{{ groupbyvalue }}
= L'ancienne version de Grafana 7.1+ (pour la rétrocompatibilité) est remplacée par la clé/étiquette de la première dimension (triée par clé/étiquette) -
{{ groupbyname }}
= Héritage depuis Grafana 7.1+ (pour la rétrocompatibilité) remplacé par la valeur de la première dimension (telle que triée par clé/étiquette) (par exemple,) BlockBlob -
{{ metric }}
= remplacé par le nom de la métrique (par exemple, demandes/nombre) -
{{ arbitraryDim }}
= Disponible en version 7.1+ remplacée par la valeur de la dimension correspondante. (par exemple,{{ client/city }}
devient Chicago)
Expressions de filtrage pour Application Insights
Le champ de filtre prend une expression de filtre OData.
Exemples :
-
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'
Création de modèles avec des variables pour Application Insights
Utilisez l'une des requêtes suivantes dans le champ Requête de la vue d'édition de variables.
Pour plus d'informations sur les modèles et les variables de modèles, consultezModèles.
Name (Nom) | Description |
---|---|
AppInsightsMetricNames()
|
Renvoie une liste de noms de métriques. |
AppInsightsGroupBys(aMetricName)
|
Renvoie une liste de group by clauses pour le nom de métrique spécifié. |
Exemples :
-
Requête de noms de métriques :
AppInsightsMetricNames()
-
Transmission de la variable de nom de la métrique :
AppInsightsGroupBys(requests/count)
-
Enchaînement des variables du modèle :
AppInsightsGroupBys($metricnames)
Alertes Application Insights
Les alertes Grafana sont prises en charge pour Application Insights. Il ne s'agit pas du support Azure Alerts. Pour plus d'informations sur les alertes Grafana, consultez. Alerte Grafana
Interrogation du service Azure Log Analytics
Les requêtes sont écrites dans le nouveau langage de requête Azure Log Analytics (ou KustoDB).
Si vos informations d'identification vous donnent accès à plusieurs abonnements, choisissez l'abonnement approprié avant de saisir des requêtes.
Requêtes de séries chronologiques
Les requêtes de séries chronologiques concernent le panneau graphique et d'autres panneaux tels que le SingleStat panneau. Chaque requête doit contenir au moins une colonne date/heure et une colonne de valeur numérique. Le résultat doit être trié par ordre croissant selon la colonne datetime.
L'exemple de code suivant montre une requête qui renvoie le nombre agrégé groupé par heure.
Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc
Une requête peut également comporter une ou plusieurs colonnes non numériques/autres que la date et l'heure, et ces colonnes sont considérées comme des dimensions et deviennent des étiquettes dans la réponse. Par exemple, une requête qui renvoie le nombre agrégé groupé par heure, par ordinateur et par CounterName.
Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc
Vous pouvez également sélectionner des colonnes de valeurs numériques supplémentaires (avec ou sans dimensions multiples). Par exemple, obtenir un nombre et une valeur moyenne par heure, par ordinateur et InstanceName : CounterName
Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
Note
Conseil : Dans la requête précédente, la syntaxe Kusto et C Samples=count()
["Avg
Value"]=...
sont utilisées pour renommer ces colonnes, la deuxième syntaxe tenant compte de l'espace. Cela change le nom de la métrique utilisée par Grafana. Par conséquent, des éléments tels que les légendes des séries et les colonnes du tableau correspondront à ce que vous spécifiez. Dans cet exemple, Samples
est affiché au lieu de_count
.
Requêtes de table
Les requêtes de table sont principalement utilisées dans le panneau de table, et elles affichent une liste de colonnes et de lignes. Cet exemple de requête renvoie des lignes contenant les six colonnes spécifiées.
AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc
Formatage du nom d'affichage pour Log Analytics
Le format du nom d'affichage par défaut est le suivant :
metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}
Cela peut être personnalisé en utilisant l'option de champ du nom d'affichage.
Macros Azure Log Analytics
Pour faciliter l'écriture de requêtes, Grafana fournit plusieurs macros que vous pouvez utiliser dans la clause where d'une requête :
-
$__timeFilter()
— S'étend jusqu'à l'TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and
TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z)
endroit où se trouvent les dates de début et de fin par rapport au sélecteur d'heure Grafana. -
$__timeFilter(datetimeColumn)
— S'étend jusqu'à l'datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and
datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z)
endroit où se trouvent les dates de début et de fin par rapport au sélecteur d'heure Grafana. -
$__timeFrom()
— Renvoie la date et l'heure de départ depuis le sélecteur Grafana. Exemple:datetime(2018-06-05T18:09:58.907Z)
. -
$__timeTo()
— Renvoie la date et l'heure de départ depuis le sélecteur Grafana. Exemple:datetime(2018-06-05T20:09:58.907Z)
. -
$__escapeMulti($myVar)
— doit être utilisé avec des variables de modèle à valeurs multiples contenant des caractères non autorisés. S'il$myVar
contient les deux valeurs suivantes sous forme de chaîne'\\grafana-vm\Network(eth0)\Total','\\hello!'
, il s'étend à :@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'
. Si vous utilisez des variables à valeur unique, cette macro n'est pas nécessaire, échappez plutôt à la variable en ligne :@'\$myVar'
. -
$__contains(colName, $myVar)
— doit être utilisé avec des variables de modèle à valeurs multiples. S'il$myVar
a la valeur'value1','value2'
, il s'étend à :colName in ('value1','value2')
.Si vous utilisez l'option Tout, cochez la case Tout inclure et dans le champ Personnaliser toutes les valeurs, entrez la valeur suivante :
all
. Si$myVar
elle possède cette valeurall
, la macro s'étendra plutôt à1 == 1
. Pour les variables de modèle comportant de nombreuses options, cela améliore les performances des requêtes en évitant de créer une clause « where.. in » volumineuse.
Variables intégrées à Azure Log Analytics
Certaines variables Grafana peuvent également être utilisées dans les requêtes Azure Log Analytics :
-
$__interval
- Grafana calcule le grain temporel minimum qui peut être utilisé pour regrouper par heure dans les requêtes. Il renvoie un grain temporel tel que5m
ou1h
qui peut être utilisé dans la fonction bin ; par exemple,summarize count() by bin(TimeGenerated, $__interval)
. Pour plus d'informations sur les variables d'intervalle, consultezAjouter une variable d'intervalle.
Création de modèles avec des variables pour Azure Log Analytics
Toute requête Log Analytics renvoyant une liste de valeurs peut être utilisée dans le champ Requête de la vue d'édition des variables. Il existe également une fonction Grafana pour Log Analytics qui renvoie une liste d'espaces de travail.
Pour plus d'informations sur les modèles et les variables de modèle, consultezModèles et variables.
Name (Nom) | Description |
---|---|
workspaces()
|
Renvoie la liste des espaces de travail pour l'abonnement par défaut. |
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa)
|
Renvoie une liste d'espaces de travail pour l'abonnement spécifié (le paramètre peut être entre guillemets ou non). |
Le tableau suivant présente des exemples de requêtes variables.
Requête | Description |
---|---|
subscriptions()
|
Renvoie la liste des abonnements Azure. |
workspaces()
|
Renvoie la liste des espaces de travail pour l'abonnement par défaut. |
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa")
|
Renvoie la liste des espaces de travail pour un abonnement spécifié. |
workspaces("$subscription")
|
Avec une variable de modèle pour le paramètre d'abonnement. |
workspace("myWorkspace").Heartbeat \|
distinct Computer
|
Renvoie une liste de machines virtuelles. |
workspace("$workspace").Heartbeat \|
distinct Computer
|
Renvoie une liste de machines virtuelles avec une variable de modèle. |
workspace("$workspace").Perf \| distinct
ObjectName
|
Renvoie une liste d'objets à partir de la table Perf. |
workspace("$workspace").Perf \| where
ObjectName == "$object" \| distinct
CounterName
|
Renvoie une liste de noms de métriques à partir de la table Perf. |
L'exemple de code suivant montre une requête de série chronologique utilisant des variables.
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
Liens profonds entre les panneaux Grafana et l'éditeur de requêtes Log Analytics dans Azure Portal
Choisissez une série chronologique dans le panneau pour afficher un menu contextuel contenant un lien vers Afficher dans le portail Azure. Le choix de ce lien ouvre l'éditeur de requêtes Azure Log Analytics dans le portail Azure et exécute la requête depuis le panneau Grafana qui s'y trouve.
Si vous n'êtes pas actuellement connecté au portail Azure, le lien ouvre la page de connexion. Le lien fourni est valide pour n'importe quel compte, mais il affiche la requête uniquement si votre compte a accès à l'espace de travail Azure Log Analytics spécifié dans la requête.
Alertes Azure Log Analytics
Les alertes Grafana sont prises en charge pour Application Insights. Il ne s'agit pas du support Azure Alerts. Pour plus d'informations sur les alertes dans les espaces de travail Grafana, consultez. Alerte Grafana
Interrogation du service Application Insights Analytics
Si vous remplacez le type de service par Insights Analytics, un éditeur similaire au service Log Analytics est disponible. Ce service utilise également le langage Kusto, de sorte que les instructions pour interroger les données sont identiques à celles de KustoInterrogation du service Azure Log Analytics, sauf que vous interrogez plutôt les données d'Application Insights Analytics.