Métriques dans Application Insights
Application Insights prend en charge trois types de métriques différents : standard (préaggrégé), basés sur les journaux et métriques personnalisées. Chacun apporte une valeur unique dans la supervision de l’intégrité des applications, des diagnostics et de l’analytique. Les développeurs qui instrumentent les applications peuvent décider du type de métrique qui est le mieux adapté à un scénario particulier. Les décisions sont prises en fonction de la taille de l'application, du volume de télémétrie prévu et des exigences commerciales en matière de précision des mesures et d'alerte. Cet article explique la différence entre tous les types de métriques pris en charge.
Métriques standard
Les métriques standard dans Application Insights sont des métriques prédéfinies qui sont automatiquement collectées et surveillées par le service. Ces métriques couvrent un large éventail d’indicateurs de performances et d’utilisation, tels que l’utilisation du processeur, la consommation de mémoire, les taux de requête et les temps de réponse. Les métriques standard fournissent une vue d’ensemble complète de l’intégrité et des performances de votre application sans nécessiter de configuration supplémentaire. Les métriques standard sont agrégées préalablement pendant la collecte et stockées sous forme de série chronologique dans un référentiel spécialisé avec uniquement des dimensions clés, ce qui leur donne de meilleures performances au moment de la requête. Cela rend les métriques standard le meilleur choix pour les alertes en quasi temps réel sur les dimensions des métriques et les tableaux de bord plus réactifs.
Métriques basées sur les journaux
Les métriques basées sur les journaux dans Application Insights sont un concept de temps de requête, représenté sous la forme d’une série chronologique sur les données de journal de votre application. Les journaux sous-jacents ne sont pas agrégés préalablement au moment de la collecte ou du stockage et conservent toutes les propriétés de chaque entrée de journal. Cette rétention permet d’utiliser les propriétés du journal en tant que dimensions sur les métriques basées sur les journaux au moment de la requête pour le filtrage des graphiques de métriques et le fractionnement des métriques, ce qui donne aux métriques basées sur les journaux une valeur analytique et de diagnostic supérieure. Toutefois, les techniques de réduction du volume de télémétrie telles que l’échantillonnage et le filtrage des données de télémétrie, couramment utilisées avec les applications de surveillance générant de grands volumes de données de télémétrie, ont un impact sur la quantité des entrées de journal collectées et réduisent donc la précision des métriques basées sur les journaux.
Métriques personnalisées (préversion)
Les métriques personnalisées dans Application Insights vous permettent de définir et de suivre des mesures spécifiques propres à votre application. Ces métriques peuvent être créées en instrumentant votre code pour envoyer des données de télémétrie personnalisées à Application Insights. Les métriques personnalisées offrent la flexibilité nécessaire pour surveiller tout aspect de votre application qui n’est pas couvert par les métriques standard, ce qui vous permet d’obtenir des insights plus approfondis sur le comportement et les performances de votre application.
Pour plus d’informations, consultez Métriques personnalisées dans Azure Monitor (préversion).
Remarque
Application Insights fournit également une fonctionnalité appelée flux de métriques en direct, qui permet une surveillance en temps quasi réel de vos applications web et ne stocke pas de données de télémétrie.
Comparaison des métriques
Fonctionnalité | Métriques standard | Métriques basées sur les journaux | Métriques personnalisées |
---|---|---|---|
Source de données | Données de série chronologique prédéfinies collectées pendant l’exécution. | Dérivé des données de journal à l’aide de requêtes Kusto. | Métriques définies par l’utilisateur collectées via le Kit de développement logiciel (SDK) ou l’API Application Insights. |
Granularité | Intervalles fixes (1 minute). | Dépend de la granularité des données de journal elle-même. | Granularité flexible basée sur les métriques définies par l’utilisateur. |
Précision | Élevé, non affecté par l’échantillonnage des journaux. | Peut être affecté par l’échantillonnage et le filtrage. | Précision élevée, en particulier lors de l’utilisation de méthodes prédéfinies comme GetMetric. |
Cost | Inclus dans la tarification d’Application Insights. | En fonction des coûts d’ingestion et de requête des données de journal. | Consultez Modèle de tarification et rétention. |
Configuration | Disponible automatiquement avec une configuration minimale. | Exiger la configuration des requêtes de journal pour extraire les métriques souhaitées à partir des données de journal. | Nécessite une implémentation et une configuration personnalisées dans le code. |
Performance des requêtes | Rapide, en raison de l’agrégation au préalable. | Plus lent, car il implique l’interrogation des données de journal. | Dépend du volume de données et de la complexité des requêtes. |
Stockage | Stocké en tant que données de série chronologique dans le magasin de métriques Azure Monitor. | Stocké en tant que journaux dans l’espace de travail Log Analytics. | Stocké dans Log Analytics et dans le magasin de métriques Azure Monitor. |
Alertes | Prend en charge les alertes en temps réel. | Permet des scénarios d’alerte complexes basés sur des données de journal détaillées. | Alertes flexibles basées sur des métriques définies par l’utilisateur. |
Limite de service | Soumis aux limites d’Application Insights. | Soumis aux limites d’espace de travail Log Analytique. | Limité par le quota pour les métriques gratuites et le coût des dimensions supplémentaires. |
Cas d’utilisation | Analyse en temps réel, tableaux de bord de performances et insights rapides. | Diagnostics détaillés, résolution des problèmes et analyse approfondie. | Indicateurs de performances personnalisés et métriques spécifiques à l’entreprise. |
Exemples | Utilisation du processeur, utilisation de la mémoire, durée de la requête. | Nombres de demandes, traces d’exceptions, appels de dépendances. | Métriques personnalisées spécifiques à l’application, telles que l’engagement utilisateur, les utilisations de fonctionnalités. |
Agrégation au préalable des métriques
Les kits SDK OpenTelemetry et les kits SDK Application Insights plus récents (API classique) agrègent au préalable les métriques pendant la collecte afin de réduire le volume de données envoyées du SDK au point de terminaison du canal de télémétrie. Ce processus s'applique aux métriques standard envoyées par défaut afin que la précision ne soit pas affectée par l'échantillonnage ou le filtrage. Il s’applique également aux métriques personnalisées envoyées à l’aide de l’API OpenTelemetry ou GetMetric et TrackValue, ce qui entraîne moins d’ingestion de données et un coût inférieur. Si votre version du Kit de développement logiciel (SDK) Application Insights prend en charge GetMetric et TrackValue, il s’agit de la méthode préférée d’envoi de métriques personnalisées.
Pour les Kits de développement logiciel (SDK) qui n’implémentent pas la pré-agrégation (ce qui est le cas avec les anciennes versions des SDK Application Insights ou pour l’instrumentation du navigateur), le serveur back-end d’Application Insights continue à renseigner les nouvelles métriques en agrégeant les événements reçus par le point de terminaison du canal de télémétrie d’Application Insights. Pour les métriques personnalisées, vous pouvez utiliser la méthode trackMetric . Même si vous ne bénéficiez pas de la réduction du volume de données transmises sur le réseau, vous pouvez utiliser les métriques pré-agrégées, et profiter de performances et d’une prise en charge améliorées de la génération d’alertes dimensionnelles en quasi-temps réel avec des Kits de développement logiciel (SDK) qui ne pré-agrègent pas les métriques lors de la collecte.
Le point de terminaison du canal de télémétrie préaggrege les événements avant l’échantillonnage d’ingestion. Pour cette raison, l’échantillonnage d’ingestion n’affecte jamais l’exactitude des métriques pré-agrégées, quelle que soit la version du Kit de développement logiciel (SDK) que vous utilisez avec votre application.
Les tableaux suivants répertorient où la préaggregation est préagrégée.
Préagrégation des métriques avec la distribution OpenTelemetry Azure Monitor
SDK de production actuels | Préagrégation des métriques standard | Préagrégation des métriques personnalisées |
---|---|---|
ASP.NET Core | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
.NET (via Exporter) | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
Java (3.x) | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
Natif Java | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
Node.JS | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
Python | Kit SDK | Kit de développement logiciel (SDK) via l’API OpenTelemetry |
Préagrégement des métriques avec le Kit de développement logiciel (SDK) Application Insights (API classique)
SDK de production actuels | Préagrégation des métriques standard | Préagrégation des métriques personnalisées |
---|---|---|
.NET Core et .NET Framework | SDK (V2.13.1+) | SDK (V2.7.2+) via GetMetric Point de terminaison du canal de télémétrie via TrackMetric |
Java (2.x) | Point de terminaison du canal de télémétrie | Point de terminaison du canal de télémétrie via TrackMetric |
JavaScript (navigateur) | Point de terminaison du canal de télémétrie | Point de terminaison du canal de télémétrie via TrackMetric |
Node.JS | Point de terminaison du canal de télémétrie | Point de terminaison du canal de télémétrie via TrackMetric |
Python | Point de terminaison du canal de télémétrie | SDK via OpenCensus.stats (supprimé) Point de terminaison du canal de télémétrie via TrackMetric |
Attention
Le Kit de développement logiciel (SDK) Java 2.x Application Insights n’est plus recommandé. Utilisez plutôt l’offre Java basée sur OpenTelemetry.
Le Kit de développement logiciel (SDK) Python OpenCensus est mis hors service. Nous recommandons l’offre Python basée sur OpenTelemetry et fournissons des conseils de migration.
Préaggregation des métriques avec l’autoinstrumentation
Avec l’autoinstrumentation, le Kit de développement logiciel (SDK) est automatiquement ajouté au code de votre application et ne peut pas être personnalisé. Pour les métriques personnalisées, l’instrumentation manuelle est requise.
SDK de production actuels | Préagrégation des métriques standard | Préagrégation des métriques personnalisées |
---|---|---|
ASP.NET Core | SDK 1 | Non pris en charge |
ASP.NET | SDK 2 | Non pris en charge |
Java | Kit SDK | Pris en charge 3 |
Node.JS | Kit SDK | Non pris en charge |
Python | Kit SDK | Non pris en charge |
Notes de bas de page
- 1 L’auto-instrumentation d’ASP.NET Core sur App Service émet des métriques standard sans dimensions. L’instrumentation manuelle est requise pour toutes les dimensions.
- 2 L’auto-instrumentation d’ASP.NET sur des machines virtuelles/groupes de machines virtuelles identiques et localement émet des métriques standard sans dimensions. Il en va de même pour Azure App Service, mais le niveau de collection doit être défini sur recommandé. L’instrumentation manuelle est requise pour toutes les dimensions.
- 3 L’agent Java utilisé avec l’autoinstrumentation capture les métriques émises par les bibliothèques populaires et les envoie à Application Insights en tant que métriques personnalisées.
Dimensions et pré-agrégation des métriques personnalisées
Toutes les métriques que vous envoyez en utilisant des appels d’API OpenTelemetry, trackMetric ou GetMetric et TrackValue sont stockées automatiquement à la fois dans des magasins de métriques et de journaux. Ces mesures se trouvent dans le tableau customMetrics d'Application Insights et dans Metrics Explorer, dans l'espace de noms des mesures personnalisées appelé azure.applicationinsights. Bien que la version basée sur les journaux de votre métrique personnalisée conserve toujours toutes les dimensions, la version pré-agrégée de la métrique est stockée par défaut sans aucune dimension. La conservation des dimensions des métriques personnalisées est une fonctionnalité d'évaluation qui peut être activée dans l'onglet Utilisation et estimation des coûts et en sélectionnant Avec des dimensions sous Envoyer des métriques personnalisées à Azure Metric Store.
Quotas
Les métriques pré-agrégées sont stockées en tant que séries chronologiques dans Azure Monitor. Des quotas Azure Monitor sur les métriques personnalisées s’appliquent.
Notes
Un dépassement de quota peut avoir des conséquences inattendues. Azure Monitor peut devenir non fiable dans votre abonnement ou votre région. Pour savoir comment éviter de dépasser le quota, consultez Limitations et considérations relatives à la conception.
Pourquoi la collecte des dimensions des métriques personnalisées est-elle désactivée par défaut ?
La collecte des dimensions des métriques personnalisées est désactivée par défaut, car à l’avenir, le stockage des métriques personnalisées avec des dimensions sera facturé indépendamment d’Application Insights. Le stockage des métriques personnalisées non dimensionnelles demeure gratuit (jusqu’à un certain quota). Pour en savoir plus sur les modifications à venir de notre modèle de tarification, consultez notre page officielle de tarification.
Créer des graphiques et explorer des métriques
Utilisez Azure Monitor Metrics Explorer pour générer des graphiques à partir des métriques personnalisées pré-agrégées et des métriques basées sur les journaux, et pour créer des tableaux de bord avec des graphiques. Après avoir sélectionné la ressource Application Insights souhaitée, utilisez le sélecteur d’espace de noms pour basculer entre les métriques.
Modèles de tarification pour les métriques Application Insights
L’ingestion de métriques dans Application Insights, qu’elles soient basées sur les journaux ou pré-agrégées, génère des coûts proportionnels à la taille des données ingérées. Pour plus d’informations, consultez Informations de tarification des Journaux Azure Monitor. Vos métriques personnalisées, y compris toutes ses dimensions, sont toujours stockées dans le magasin de journaux Application Insights. En outre, une version pré-agrégée de vos métriques personnalisées sans dimensions est transférée par défaut au magasin de métriques.
La sélection de l’option Activer la génération d’alertes sur les dimensions des métriques personnalisées pour stocker toutes les dimensions des métriques pré-agrégées dans le magasin de métriques peut générer des coûts supplémentaires conformément à la Tarification des métriques personnalisées.
Métriques disponibles
Les sections suivantes répertorient les métriques avec des agrégations et des dimensions prises en charge. Les détails sur les métriques reposant sur un journal incluent les instructions de requête Kusto sous-jacentes.
Métriques de disponibilité
Les métriques de la catégorie Disponibilité vous permettent d’afficher l’intégrité de votre application web telle qu'elle apparaît dans le monde entier. Configurer les tests de disponibilité pour commencer à utiliser les métriques de cette catégorie.
Disponibilité (availabilityResults/availabilityPercentage)
La métrique Disponibilité indique le pourcentage des tests web qui n'ont détecté aucun problème. La valeur la plus basse possible est 0, qui indique que tous les tests web ont échoué. La valeur 100 signifie que tous les tests en ligne ont satisfait aux critères de validation.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Pourcentage | Avg | Run location , Test name |
Durée du test de disponibilité (availabilityResults/duration)
La métrique Durée du test de disponibilité indique le temps nécessaire pour exécuter le test web. Pour les tests web à plusieurs étapes, la métrique reflète le temps d'exécution total de toutes les étapes.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Run location , Test name , Test result |
Test de disponibilité (availabilityResults/count)
La métrique Tests de disponibilité reflète le nombre de tests web exécutés par Azure Monitor.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Run location , Test name , Test result |
Métriques du navigateur
Les métriques du navigateur sont collectées par le Kit de développement logiciel (SDK) JavaScript Application Insights à partir des navigateurs réels des utilisateurs finaux. Elles vous donnent un excellent aperçu de l'expérience de vos utilisateurs avec votre application web. Les métriques du navigateur ne sont généralement pas échantillonnées, ce qui signifie qu’elles offrent une plus grande précision des données d'utilisation par rapport aux métriques côté serveur qui peuvent être biaisées par l'échantillonnage.
Notes
Pour collecter les métriques du navigateur, votre application doit être instrumentée avec le kit SDK JavaScript Application Insights.
Temps de chargement de la page de navigateur (browserTimings/totalDuration)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Aucun(e) |
Temps de traitement du client (browserTiming/processingDuration)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Aucun(e) |
Temps de connexion au réseau pour le chargement de page (browserTimings/networkDuration)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Aucun(e) |
Temps de réception de réponse (browserTimings/receiveDuration)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Aucun(e) |
Temps d’envoi de la requête (browserTimings/sendDuration)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Aucun(e) |
Métriques d’échec
Les métriques de la catégorie Échecs montrent les problèmes liés au traitement des requêtes, aux appels de dépendances et aux exceptions levées.
Exceptions du navigateur (exceptions/browser)
Cette métrique reflète le nombre d'exceptions levées à partir de votre code d'application exécuté dans le navigateur. Seules les exceptions suivies avec un appel à l’API Application Insights trackException()
sont incluses dans la métrique.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role name |
Échecs d'appel de dépendance (dependencies/failed)
Nombre d’appels de dépendance ayant échoué.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Target of dependency call |
Exceptions (exceptions/count)
Chaque fois que vous consignez une exception dans Application Insights, un appel à la méthode trackException() du SDK est effectué. La métrique Exceptions indique le nombre d'exceptions consignées.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Device type |
Demandes ayant échoué (requests/failed)
Nombre de requêtes de serveur suivies qui ont été marquées comme ayant échoué. Par défaut, le SDK Application Insights marque automatiquement chaque requête de serveur qui renvoie le code de réponse HTTP 5xx ou 4xx comme une requête ayant échoué. Vous pouvez personnaliser cette logique en modifiant la propriété success (réussite) de l'élément de télémétrie de requête dans un initialisateur de télémétrie personnalisé.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Is synthetic traffic , Request performance , Result code |
Exceptions du serveur (exceptions/server)
Cette métrique indique le nombre d'exceptions du serveur.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name |
Compteurs de performance
Utilisez les métriques de la catégorie Compteurs de performance pour accéder aux compteurs de performance système collectés par Application Insights.
Mémoire disponible (performanceCounters/availableMemory)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Mégaoctets / Gigaoctets (dépendant des données) | Moy, Max, Min | Cloud role instance |
Taux d’exceptions (performanceCounters/exceptionRate)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Moy, Max, Min | Cloud role instance |
Durée d’exécution de la requête HTTP (performanceCounters/requestExecutionTime)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Cloud role instance |
Taux de requêtes HTTP (performanceCounters/requestsPerSecond)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Demandes par seconde | Moy, Max, Min | Cloud role instance |
Requêtes HTTP dans la file d'attente de l'application (performanceCounters/requestsInQueue)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Moy, Max, Min | Cloud role instance |
Processeur de processus (performanceCounters/processCpuPercentage)
La métrique indique la part de la capacité totale du processeur consommée par le processus qui héberge votre application surveillée.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Pourcentage | Moy, Max, Min | Cloud role instance |
Remarque
La plage de la métrique est comprise entre 0 et 100 * n, où n est le nombre de cœurs de processeur disponibles. Par exemple, la valeur métrique de 200 % peut représenter l’utilisation complète de deux cœurs d’UC ou d’une demi-utilisation de 4 cœurs de processeur, et ainsi de suite. La valeur normalisée de l’UC de processus est une autre mesure collectée par de nombreux kits de développement logiciel (SDK) qui représente la même valeur, mais la divise par le nombre de cœurs de processeur disponibles. Par conséquent, la plage de mesures normalisées de l’UC de processus est comprise entre 0 et 100.
Taux d’E/S du processus (performanceCounters/processIOBytesPerSecond)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Octets par seconde | Moyenne, Min, Max | Cloud role instance |
Octets privés du processus (performanceCounters/processPrivateBytes)
Quantité de mémoire non partagée que le processus surveillé a allouée pour ses données.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Octets | Moyenne, Min, Max | Cloud role instance |
Temps processeur (performanceCounters/processorCpuPercentage)
Consommation d’UC de tous les processus s'exécutant sur l'instance de serveur surveillée.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Pourcentage | Moyenne, Min, Max | Cloud role instance |
Notes
La métrique Temps processeur n'est pas disponible pour les applications hébergées dans Azure App Services. Utilisez la métrique Utilisation de l'UC pour suivre l'utilisation d’UC des applications web hébergées dans App Services.
Indicateurs de performances de serveur
Appels de dépendance (dependencies/count)
Cette métrique est liée au nombre d'appels de dépendance.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call , Target of a dependency call |
Durée de la dépendance (dependencies/duration)
Cette métrique fait référence à la durée des appels de dépendance.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call , Target of a dependency call |
Taux de requêtes du serveur (requests/rate)
Cette métrique reflète le nombre de requêtes de serveur entrantes reçues par votre application web.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Nombre par seconde | Avg | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Requêtes serveur (requests/count)
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Temps de réponse du serveur (requests/duration)
Cette métrique reflète le temps nécessaire aux serveurs pour traiter les demandes entrantes.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code , Successful request |
Métriques d'utilisation
Temps de chargement de la page consultée (pageViews/duration)
Cette métrique fait référence au temps nécessaire au chargement des événements PageView.
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Millisecondes | Moy, Max, Min | Cloud role name , Is traffic synthetic |
Affichages de pages (pageViews/count)
Nombre d'événements PageView consignés avec l'API Application Insights TrackPageView().
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role name , Is traffic synthetic |
Traces (traces/count)
Nombre d'instructions de suivi consignées avec l'appel à l’API Application Insights TrackTrace().
Unité de mesure | Agrégations prises en charge | Dimensions prises en charge |
---|---|---|
Count | Count | Cloud role instance , Cloud role name , Is traffic synthetic , Severity level |
Métriques personnalisées
Non applicable aux métriques standard.
Accéder directement aux métriques basées sur les journaux avec l’API REST Application Insights
L’API REST Application Insights permet la récupération programmatique des métriques basées sur les journaux. Il propose également un paramètre ai.include-query-payload
facultatif qui, lorsqu’il est ajouté à une chaîne de requête, invite l’API à retourner non seulement les données de série chronologique, mais également l’instruction KQL (Kusto Query Language) utilisée pour l’extraire. Ce paramètre peut être particulièrement bénéfique pour les utilisateurs qui visent à comprendre la connexion entre les événements bruts dans Log Analytics et la métrique basée sur les journaux résultantes.
Pour accéder directement à vos données, transmettez le paramètre ai.include-query-payload
à l’API Application Insights dans une requête à l’aide de KQL.
Remarque
Pour récupérer la requête des journaux sous-jacents DEMO_APP
et DEMO_KEY
, n’ont pas besoin d’être remplacés. Si vous souhaitez simplement récupérer l’instruction KQL et non les données de série chronologique de votre propre application, vous pouvez copier et coller directement dans votre barre de recherche de navigateur.
api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload
Voici un exemple d’instruction KQL de retour pour la métrique « Utilisateurs authentifiés ». (Dans cet exemple, "users/authenticated"
est l’ID de métrique.)
output
{
"value": {
"start": "2024-06-21T09:14:25.450Z",
"end": "2024-06-21T21:14:25.450Z",
"users/authenticated": {
"unique": 0
}
},
"@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}