Microsoft Azure
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Microsoft Azure

Crawler Crawler

Présentation

Associez Microsoft Azure pour :

  • Obtenir des métriques sur des machines virtuelles Azure sans avoir nécessairement à installer l’Agent
  • Appliquer un tag à vos machines virtuelles Azure comportant des informations spécifiques à Azure (p. ex, la localisation)
  • Recueillir des métriques d’autres services : Application Gateway, App Service (Web et mobile), Batch Service, Event Hubs, IoT Hub, Logic App, Redis Cache, Server Farm (plan App Service), SQL Database, SQL Elastic Pool, Virtual Machine Scale Set, et bien d’autres encore.
L'intégration Azure de Datadog est conçue pour recueillir TOUTES les métriques en provenance d'Azure Monitor. Datadog s'efforce de mettre régulièrement à jour sa documentation afin d'inclure chaque sous-intégration. Toutefois, les métriques et les services proposés par les différents services cloud étant en permanente évolution, il est possible que la liste ne soit pas actuelle.
Les métriques azure.*.status et azure.*.count sont générées par Datadog à partir d'Azure Resource Health. En savoir plus sur ces métriques.
IntégrationDescription
[Analysis Services][1]Un service qui fournit des modèles de données dans le cloud.
[Gestion des API][2]Un service pour publier, sécuriser, transformer, maintenir et surveiller les API.
[App Service][3]Un service de déploiement et de mise à l’échelle d’applications Web, mobiles, API et de logique métier
[App Service Environment][4]Un service qui fournit un environnement pour l’exécution sécurisée de vos applications App Service à grande échelle.
[Plan App Service][5]Un ensemble de ressources de calcul nécessaires à l’exécution d’une application Web.
[Application Gateway][6]Un équilibreur de charge du trafic Web qui vous permet de gérer le trafic vers vos applications Web.
[Automation][7]Un service conçu pour faciliter la gestion de la configuration et l’automatisation au sein de vos environnements.
[Batch Service][8]Un planificateur et processeur de tâches gérés
[Cognitive Services][9]Un ensemble d’API, de SDK et de services mis à votre disposition pour vous permettre de créer des applications sans connaissances en intelligence artificielle ou en science des données.
[Container Instances][10]Un service qui vous permet de déployer des conteneurs sans avoir à provisionner ou gérer l’infrastructure sous-jacente.
[Container Service][11]Un cluster Kubernetes, DC/OS ou Docker Swarm prêt pour la production.
[Cosmos DB][12]Un service de base de données qui prend en charge les bases de données clé-valeur, de documents, en colonnes et graphiques.
[Customer Insights][13]Permet aux organisations de consolider divers jeux de données pour bénéficier d’une vue globale sur leurs clients.
[Data Explorer][14]Un service d’exploration de données rapide et hautement évolutif.
[Data Factory][15]Un service qui permet de composer des services de stockage, de déplacement et de traitement des données au sein de pipelines de données automatisés.
[Data Lake Analytics][16]Un service d’analyse qui simplifie le traitement des tâches de Big Data.
[Data Lake Store][17]Une solution Data Lake sans limite qui améliore l’analytique Big Data.
[Database for MariaDB][18]Un service qui fournit une version communautaire entièrement gérée et prête à l’emploi de MariaDB.
[Event Grid][19]Un service pour gérer le routage des événements qui permet une consommation d’événements uniforme à l’aide d’un modèle pub/sub.
[Event Hubs][20]Un service géré de flux de données à grande échelle
[ExpressRoute][21]Un service pour étendre vos réseaux sur site dans le cloud.
[Pare-feu][22]Un service de sécurité réseau basé sur le cloud pour protéger les ressources de votre réseau virtuel Azure.
[Functions][23]Un service conçu pour exécuter du code sans serveur en réponse à un événement.
[HDInsights][24]Un service cloud conçu pour traiter d’importants volumes de données.
[IoT Hub][25]Connexion, surveillance et gestion de milliards de ressources IoT
[Key Vault][26]Un service conçu pour protéger et gérer les clés de chiffrement et les secrets utilisés par les services et applications cloud.
[Load Balancer][27]Permet de mettre à l’échelle vos applications et d’assurer la haute disponibilité de vos services.
[Logic Apps][28]Conception de solutions d’intégration puissantes
[Machine Learning][29]Service de machine learning pour l’entreprise permettant d’accélérer la création et le déploiement de modèles
[Network Interfaces][30]Permet à une machine virtuelle de communiquer avec des ressources Internet, Azure et locales.
[Notification Hubs][31]Un moteur de notifications Push qui vous permet d’envoyer des notifications vers n’importe quelle plateforme depuis n’importe quel backend.
[Adresse IP publique][32]Une ressource qui permet d’assurer une connectivité entrante et une connectivité sortante à partir d’Internet.
[Redis Cache][33]Cache de données géré
[Relay][34]Permet l’exposition sécurisée des services exécutés dans votre réseau d’entreprise sur le cloud public.
[Recherche cognitive][35]Un service de recherche basé sur le cloud qui fournit des outils permettant d’ajouter une expérience de recherche riche.
StockageStockage d’[objets blob][36], de [fichiers][37], de [files d’attente][38] et de [tables][39].
[Stream Analytics][40]Un moteur de traitement d’événements pour analyser d’importants volumes de données diffusées à partir d’appareils.
[SQL Database][41]Base de données relationnelle fortement évolutive dans le cloud
[Pool élastique SQL Database][42]Gestion des performances de plusieurs bases de données
[Utilisation et quotas][43]Surveillance de votre utilisation d’Azure.
[Machine virtuelle][44]Service de gestion de machines virtuelles
[Virtual Machine Scale Sets][45]Déploiement, gestion et mise à l’échelle automatique d’un groupe de machines virtuelles identiques
[Réseau virtuel[45]Permet aux ressources Azure de communiquer entre elles, avec Internet et avec les réseaux sur site en toute sécurité.

Configuration

Installation

Intégrez votre compte Microsoft Azure à Datadog à l’aide de l’outil d’interface de ligne de commande Azure ou du portail Azure. Cette méthode d’intégration fonctionne automatiquement sur tous les clouds Azure : Public, Chine, Allemagne et Government. Suivez les instructions ci-dessous afin que Datadog détecte automatiquement le type de cloud que vous utilisez pour terminer l’intégration.

Intégration via l’interface de ligne de commande Azure

Afin d’intégrer Datadog à Azure à l’aide de l’interface de ligne de commande Azure, assurez-vous que [celle-ci est bien installée][47].

Commencez par vous connecter au compte Azure que vous souhaitez intégrer à Datadog :

az login

Exécutez la commande « account show » :

az account show

Saisissez la valeur Tenant ID générée dans le carré d’intégration Azure de Datadog, sous Tenant name/ID.

Créez une application en tant que service principal à l’aide du format :

az ad sp create-for-rbac --role "Monitoring Reader" --scopes /subscriptions/{id_abonnement}
  • Cette commande accorde au service principal le rôle monitoring reader pour l’abonnement que vous souhaitez surveiller.
  • La valeur appID générée à partir de cette commande doit être saisie dans le carré d’intégration Azure de Datadog, sous Client ID.
  • Ajoutez --name <NOM_PERSONNALISÉ> pour utiliser un nom personnalisé. Autrement, Azure générera un nom unique. Le nom n’est pas utilisé dans le processus de configuration.
  • Ajoutez --password <MOTDEPASSE_PERSONNALISÉ> pour utiliser un mot de passe personnalisé. Autrement, Azure générera un mot de passe unique. Ce mot de passe doit être saisi dans le carré d’intégration Datadog/Azure, sous Client Secret.

Commencez par vous connecter au compte Azure que vous souhaitez intégrer à Datadog :

azure login

Exécutez la commande « account show » :

az account show

Saisissez la valeur Tenant ID générée dans le carré d’intégration Azure de Datadog, sous Tenant name/ID.

Créez un nom et un mot de passe :

azure ad sp create -n <NOM> -p <MOTDEPASSE>
  • Le <NOM> n’est PAS utilisé et est seulement requis dans le cadre du processus de configuration.
  • Le <MOTDEPASSE> choisi doit être saisi dans le carré d’intégration Azure de Datadog, sous Client Secret.
  • La valeur Object Id renvoyée par cette commande est utilisée pour <ID_OBJET> dans la prochaine commande.

Créez une application en tant que service principal à l’aide du format :

azure role assignment create --objectId <ID_OBJET> -o "Monitoring Reader" -c /subscriptions/<ID_ABONNEMENT>/
  • Cette commande accorde au service principal le rôle monitoring reader pour l’abonnement que vous souhaitez surveiller.
  • La valeur Service Principal Name générée à partir de cette commande doit être saisie dans le carré d’intégration Azure de Datadog, sous Client ID.
  • <ID_ABONNEMENT> correspond à l’abonnement Azure que vous souhaitez surveiller et est représenté par ID dans azure account show ou sur le portail.

Commencez par vous connecter au compte Azure que vous souhaitez intégrer à Datadog :

azure login

Exécutez la commande « account show » :

az account show

Saisissez la valeur Tenant ID générée dans le carré d’intégration Azure de Datadog, sous Tenant name/ID.

Créez un nom, home-page, identifier-uris et mot de passe :

azure ad app create --name "<NOM>" --home-page "<URL>" --identifier-uris "<URL>" --password "<MOTDEPASSE>"
  • Les valeurs name, home-page et identifier-uris ne sont PAS utilisées et sont seulement requises dans le cadre du processus de configuration.
  • Le password que vous choisissez doit être saisi dans le carré d’intégration Azure de Datadog, sous Client Secret.
  • La valeur AppId renvoyée par cette commande est utilisée dans la prochaine commande et doit être saisie dans le carré d’intégration Azure de Datadog, sous Client ID.

Créez un service principal avec :

Pour les interfaces de ligne de commande Azure < 0.10.2 :

azure ad sp create {app-id}

Pour les interfaces de ligne de commande Azure >= 0.10.2 :

azure ad sp create -a {app-id}
  • La valeur Object Id renvoyée par cette commande est utilisée pour <ID_OBJET> dans la prochaine commande.

Créez une application Active Directory à l’aide du format :

azure role assignment create --objectId <ID_OBJET> --roleName "Monitoring Reader" --subscription <ID_ABONNEMENT>
  • Cette commande accorde au service principal le rôle monitoring reader pour l’abonnement que vous souhaitez surveiller.
  • <ID_ABONNEMENT> correspond à l’abonnement Azure que vous souhaitez surveiller et est représenté par ID dans azure account show ou sur le portail.

Intégration via le portail Azure

  1. Créez une inscription d’application dans votre Active Directory et envoyez les bons identifiants à Datadog.
  2. Donnez à cette application une autorisation de lecture pour tous les abonnements que vous souhaitez surveiller.
Créer l’inscription d’application
  1. Sous Azure Active Directory, accédez à Inscriptions des applications et cliquez sur Nouvelle inscription d’application :
  2. Saisissez les informations suivantes et cliquez sur le bouton Créer. Remarque : le nom et l’URL de connexion ne sont pas utilisés et sont seulement requis dans le cadre du processus de configuration.
  • Nom : Datadog Auth
  • Types de compte pris en charge : Accounts in this organizational directory only (Datadog)
  • URI de redirection : https://app.datadoghq.com. Si vous utilisez le site européen de Datadog : https://app.datadoghq.eu
Accorder un accès en lecture à l’application
  1. Accédez à la section Abonnements en utilisant la barre de recherche ou depuis la barre latérale de gauche :
  1. Cliquez sur l’abonnement que vous souhaitez surveiller.
  2. Sélectionnez Contrôle d’accès (IAM) dans le menu d’abonnement, puis Ajouter -> Ajouter une attribution de rôle :
  1. Pour Rôle, sélectionnez Lecteur de surveillance. Sous Sélectionner, choisissez le nom de l’application que vous avez créée :
  1. Cliquez sur Save.
  2. Répétez ce processus pour tout autre abonnement que vous souhaitez surveiller à l’aide de Datadog. Remarque : les utilisateurs d’Azure Lighthouse peuvent ajouter les abonnements des locataires clients.

Remarque : les diagnostics doivent être activés pour que les machines virtuelles déployées avec ARM puissent recueillir des métriques. Consultez la section Activer les diagnostics.

Terminer l’intégration
  1. Dans Inscriptions des applications, sélectionnez l’application que vous avez créée, copiez les valeurs ID d’application et ID de locataire, puis collez-les dans le carré d’intégration Azure de Datadog, sous Client ID et Tenant ID.
  2. Pour cette même application, accédez à Gérer -> Certificats et secrets.
  3. Ajoutez une nouvelle Clé secrète client intitulée datadogClientSecret, sélectionnez un intervalle pour Date d’expiration et cliquez sur Ajouter :
  1. Une fois la valeur de la clé indiquée, collez-la dans le carré d’intégration Azure de Datadog, sous Client Secret, puis cliquez sur Install Integration ou Update Configuration.

Configuration

Vous pouvez choisir de limiter le nombre de machines virtuelles Azure qui sont transmises à Datadog en ajoutant des tags sous Optionally filter to VMs with tag.

Cette liste de tags séparés par des virgules au format <KEY>:<VALUE> définit un filtre utilisé lors de la collecte de métriques. Les wildcards, tels que ? (pour un seul caractère) et * (pour plusieurs caractères), peuvent également être utilisés. Seules les machines virtuelles qui correspondent à l’un des tags définis sont importées dans Datadog. Les autres machines virtuelles sont ignorées. Ajoutez ! devant un tag pour exclure les machines virtuelles correspondant à ce tag. Par exemple :

datadog:monitored,env:production,!env:staging,instance-type:c1.*

Collecte de métriques

Une fois le carré d’intégration configuré, les métriques sont recueillies par un crawler. Pour recueillir des métriques supplémentaires, déployez l’Agent Datadog sur vos machines virtuelles :

Installation de l’Agent

  1. Dans le portail Azure, accédez à Machine virtuelle -> Paramètres -> Extensions -> Ajouter et sélectionnez l’Agent Datadog.
  2. Cliquez sur Créer, saisissez votre clé d’API Datadog et cliquez sur OK.

Pour effectuer l’installation de l’Agent en fonction du système d’exploitation ou de l’outil CICD, consultez les instructions d’installation de l’Agent Datadog au sein de l’application.

Remarque : lors de l’installation de l’Agent Datadog avec l’extension Azure, les contrôleurs de domaine ne sont pas pris en charge.

Validation

Vous devrez peut-être patienter quelques minutes avant que les métriques des applications apparaissent sous le nouvel abonnement.

Accédez au dashboard par défaut des machines virtuelles Azure pour visualiser les données de votre infrastructure, qui s’ajoutent automatiquement au dashboard.

Collecte de logs

Le meilleur moyen d’envoyer les logs d’Azure à Datadog est d’utiliser l’Agent ou un DaemonSet. Si cela n’est pas possible pour une certaine ressource, Datadog vous conseille de créer un pipeline de transfert de logs en utilisant un Event Hub Azure pour recueillir les logs de la plateforme Azure. Si une ressource ne prend pas en charge la diffusion des logs de la plateforme Azure à un Event Hub, vous pouvez les transférer via le service Stockage Blob Azure.

Pour envoyer des logs d’Azure à Datadog, suivez cette méthode globale :

  1. Créez un Event Hub Azure.
  2. Configurez la fonction Datadog/Azure avec un déclencheur Event Hub pour transmettre les logs à Datadog.
  3. Configurez vos services Azure de façon à ce que leurs logs soient envoyés au Event Hub en créant un paramètre de diagnostic.

Les instructions qui suivent permettent d’effectuer une première configuration basique à l’aide du portail Azure. Toutes ces étapes peuvent être effectuées via l’interface de ligne de commande, Powershell ou des modèles de ressources. Pour ce faire, référez-vous à la documentation Azure.

Event Hub Azure

Créez un Event Hub Azure :

Créez un espace de nommage ou ajoutez un nouvel Event Hub à un espace de nommage existant en suivant les instructions ci-dessous.

  1. Dans le portail Azure, accédez à la vue d’ensemble Event Hubs et cliquez sur Ajouter.
  2. Indiquez le nom, le niveau tarifaire, l’abonnement et le groupe de ressources.
  3. Sélectionnez une région. Remarque : l’Event Hub doit se trouver dans la même région que la ressource dont les logs doivent être transférés. Pour les logs d’activité ou toute autre source de logs propres à l’ensemble du compte, la région n’a pas d’importance.
  4. Sélectionnez les options de votre choix pour les unités de débit, les zones de disponibilité et l’inflation automatique.
  5. Cliquez sur Créer.

Ajoutez un Event Hub à votre espace de nommage Event Hub.

  1. Dans le portail Azure, accédez à un espace de nommage (nouveau ou existant).
  2. Cliquez sur + Event Hub.
  3. Sélectionnez les options de votre choix pour le nom, le nombre de partitions et la rétention des messages.
  4. Cliquez sur Créer.

Fonction Datadog/Azure

Configurez la fonction Datadog/Azure avec un déclencheur Event Hub pour transmettre les logs à Datadog :

Créez une application de fonctions ou utilisez une application de fonctions existante et passez à la section suivante.

  1. Dans le portail Azure, accédez à Applications de fonctions -> Fonctions et cliquez sur Ajouter.
  2. Sélectionnez un abonnement, un groupe de ressources, une région et nommez votre fonction.
  3. Sélectionnez Code comme valeur du paramètre Publier, Node.js comme valeur du paramètre Runtime, et 12 LTS* comme valeur du paramètre Version.
  4. Cliquez sur Next:Hosting.
  5. Sélectionnez un compte de stockage et un type de plan, puis sélectionnez Windows comme système d’exploitation.
  6. Passez en revue et créez votre nouvelle application de fonctions.
  7. Attendez que votre déploiement se termine.

Ajoutez une nouvelle fonction à votre application de fonctions en utilisant le modèle de déclencheur Event Hub.

  1. Sélectionnez une application de fonctions, nouvelle ou existante, dans la liste des applications de fonctions.
  2. Sélectionnez Fonctions dans le menu des fonctions et cliquez sur Ajouter.
  3. Sélectionnez un déclencheur Azure Event Hub dans le menu des modèles et cliquez sur Nouveau.
  4. Sélectionnez votre espace de nommage et votre Event Hub pour la connexion de l’Event Hub et cliquez sur OK.
  5. Cliquez sur Créer une fonction.

Pointez votre déclencheur Event Hub vers Datadog.

  1. Sélectionnez votre nouveau déclencheur Event Hub dans la vue des fonctions.
  2. Cliquez sur Code + Test dans le menu latéral pour les développeurs.
  3. Ajoutez le code de la fonction Datadog/Azure à votre fichier index.js.
  4. Ajoutez votre clé d’API en créant une variable d’environnement DD_API_KEY dans l’onglet de configuration de votre application de fonctions, ou copiez-la dans le code de la fonction en remplaçant <DATADOG_API_KEY> à la ligne 22.
  5. Enregistrez la fonction.
  6. Cliquez sur Integration, puis sur Azure Event Hubs sous le déclencheur et vérifiez les paramètres suivants : a. Event Parameter Name doit être défini sur eventHubMessages. b. Event Hub Cardinality doit être défini sur Many. c. Event Hub Data Type doit être vide.
  7. Cliquez sur Save.
  8. Vérifiez que votre configuration est valide en exécutant la fonction et en recherchant le message de test dans le Log Explorer de Datadog.

Logs d’activité

  1. Dans le portail Azure, accédez au Journal d’activité.
  2. Cliquez sur Paramètres de diagnostic.
  3. Cliquez sur Ajouter un paramètre de diagnostic.
  4. Dans la section Détails de la catégorie, sélectionnez les catégories de logs à envoyer à Datadog.
  5. Dans la section Détails de la destination, sélectionnez Diffuser vers un Event Hub.
  6. Définissez l’espace de nommage et le nom de l’Event Hub. Ces derniers doivent correspondre à l’espace de nommage et au nom de l’Event Hub que vous avez utilisés pour créer votre déclencheur Event Hub.
  7. Définissez la clé d’accès partagé. Celle-ci doit être configurée avec un accès en envoi ou en gestion.
  8. Cliquez sur Enregistrer.
  9. Vérifiez que les logs de cette ressource apparaissent dans le Log Explorer de Datadog pour confirmer que votre configuration est valide.

Logs de ressource

Configurez vos services Azure de façon à ce que leurs logs soient envoyés au Event Hub en créant un paramètre de diagnostic.

  1. Dans le portail Azure, accédez à la ressource dont les logs doivent être envoyés à Datadog.
  2. Dans la section Surveillance du panneau de la ressource, cliquez sur Paramètre de diagnostic.
  3. Cliquez sur Ajouter un paramètre de diagnostic.
  4. Dans la section Détails de la catégorie, sélectionnez les catégories de logs à envoyer à Datadog.
  5. Dans la section Détails de la destination, sélectionnez Diffuser vers un Event Hub.
  6. Définissez l’espace de nommage et le nom de l’Event Hub. Ces derniers doivent correspondre à l’espace de nommage et au nom de l’Event Hub que vous avez utilisés pour créer votre déclencheur Event Hub.
  7. Définissez la clé d’accès partagé. Celle-ci doit être configurée avec un accès en envoi ou en gestion.
  8. Cliquez sur Enregistrer.
  9. Vérifiez que les logs de cette ressource apparaissent dans le Log Explorer de Datadog pour confirmer que votre configuration est valide.

Pour recueillir des logs à partir de l’ensemble de vos Azure App Services, suivez cette méthode globale :

  1. Configurez Stockage Blob Azure depuis le portail Azure, Explorateur Stockage Azure, l’interface de ligne de commande Azure ou Powershell.
  2. Configurez la fonction Datadog/Azure chargée de transmettre les logs depuis votre stockage blob vers Datadog.
  3. Configurez vos Azure App Services de façon à transférer leurs logs au Stockage Blob.

Créer une fonction Stockage Blob Azure

Si vous n’avez jamais utilisé de fonction Azure, consultez la section Créer votre première fonction sur le portail Azure.

  1. Dans le portail Azure, accédez à Applications de fonctions -> Fonctions et cliquez sur Ajouter.
  2. Sélectionnez un abonnement, un groupe de ressources, une région et nommez votre fonction.
  3. Sélectionnez Code comme valeur du paramètre Publier, et Node.js comme valeur du paramètre Runtime.
  4. Cliquez sur Next:Hosting.
  5. Sélectionnez un compte de stockage et un type de plan, puis sélectionnez Windows comme système d’exploitation.
  6. Passez en revue et créez votre nouvelle fonction en cliquant sur Create.
  7. Une fois le déploiement terminé, sélectionnez votre nouvelle fonction dans la liste des Applications de fonction.
  8. Choisissez de générer votre fonction Dans le portail et utilisez le modèle de déclencheur de Stockage Blob (sous Autres modèles…). Si on vous le demande, installez l’extension Microsoft.Azure.WebJobs.Extensions.EventHubs.
  9. Sélectionnez ou ajoutez votre Connexion du compte de stockage et cliquez sur Créer.
  10. Créez un fichier index.js et ajoutez le code de la fonction Datadog/Azure (remplacez <DATADOG_API_KEY> par votre clé d’API Datadog).
  11. Enregistrez la fonction.
  12. Pour Intégrer, définissez Nom du paramètre d’objet blob sur blobContent, et cliquez sur Enregistrer.
  13. Vérifiez que vos logs apparaissent dans le Log Explorer de Datadog pour confirmer que votre configuration est valide.

Données collectées

Métriques

<tr>
  <td>
  <strong>azure.cdn_profiles.status.status</strong><br>(gauge)</td>
  <td>Status of Azure CDN Profiles
  </td>
</tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.commands.egress.abandon.success</strong><br>(count)</td> <td>Number of cloud-to-device commands abandoned by the device </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.commands.egress.complete.success</strong><br>(count)</td> <td>Number of cloud-to-device commands completed successfully by the device </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.commands.egress.reject.success</strong><br>(count)</td> <td>Number of cloud-to-device commands rejected by the device </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.methods.failure</strong><br>(count)</td> <td>The count of all failed direct method calls. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.methods.request_size</strong><br>(gauge)</td> <td>The average min and max of all successful direct method requests.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.methods.response_size</strong><br>(gauge)</td> <td>The average min and max of all successful direct method responses.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.methods.success</strong><br>(count)</td> <td>The count of all successful direct method calls. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.read.failure</strong><br>(count)</td> <td>The count of all failed back-end-initiated twin reads. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.read.size</strong><br>(gauge)</td> <td>The average min and max of all successful back-end-initiated twin reads.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.read.success</strong><br>(count)</td> <td>The count of all successful back-end-initiated twin reads. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.update.failure</strong><br>(count)</td> <td>The count of all failed back-end-initiated twin updates. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.update.size</strong><br>(gauge)</td> <td>The average min and max size of all successful back-end-initiated twin updates.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.c2d.twin.update.success</strong><br>(count)</td> <td>The count of all successful back-end-initiated twin updates. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.built_in.events</strong><br>(count)</td> <td>Number of times messages were successfully written to the built-in endpoint (messages/events) </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.event_hubs</strong><br>(count)</td> <td>Number of times messages were successfully written to Event Hub endpoints </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.service_bus_queues</strong><br>(count)</td> <td>Number of times messages were successfully written to Service Bus Queue endpoints </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.service_bus_topics</strong><br>(count)</td> <td>Number of times messages were successfully written to Service Bus Topic endpoints </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.storage</strong><br>(count)</td> <td>Number of times messages were successfully written to storage endpoints </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.storage.blobs</strong><br>(count)</td> <td>Number of blobs written to storage endpoints </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.egress.storage.bytes</strong><br>(gauge)</td> <td>Amount of data in bytes written to storage endpoints<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.latency.built_in.events</strong><br>(gauge)</td> <td>The average latency between message ingress to the IoT hub and message ingress into the built-in endpoint (messages/events) in milliseconds <br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.latency.event_hubs</strong><br>(gauge)</td> <td>The average latency between message ingress to the IoT hub and message ingress into an Event Hub endpoint in milliseconds<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.latency.service_bus_queues</strong><br>(gauge)</td> <td>The average latency between message ingress to the IoT hub and message ingress into a Service Bus Queue endpoint in milliseconds<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.latency.service_bus_topics</strong><br>(gauge)</td> <td>The average latency between message ingress to the IoT hub and message ingress into a Service Bus Topic endpoint in milliseconds<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.endpoints.latency.storage</strong><br>(gauge)</td> <td>The average latency between message ingress to the IoT hub and message ingress into a storage endpoint in milliseconds<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.egress.dropped</strong><br>(count)</td> <td>Number of messages dropped because the delivery endpoint was dead </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.egress.fallback</strong><br>(count)</td> <td>Number of messages written to the fallback endpoint </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.egress.invalid</strong><br>(count)</td> <td>The count of messages not delivered due to incompatibility with the endpoint </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.egress.orphaned</strong><br>(count)</td> <td>The count of messages not matching any routes including the fallback route </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.egress.success</strong><br>(count)</td> <td>Number of times messages were successfully written to endpoints (total) </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.ingress.all_protocol</strong><br>(count)</td> <td>Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.ingress.send_throttle</strong><br>(count)</td> <td>Number of throttling errors due to device throughput throttles </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.telemetry.ingress.success</strong><br>(count)</td> <td>Number of device-to-cloud telemetry messages sent successfully to your IoT hub </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.read.failure</strong><br>(count)</td> <td>The count of all failed device-initiated twin reads. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.read.size</strong><br>(gauge)</td> <td>The average min and max of all successful device-initiated twin reads.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.read.success</strong><br>(count)</td> <td>The count of all successful device-initiated twin reads. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.update.failure</strong><br>(count)</td> <td>The count of all failed device-initiated twin updates. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.update.size</strong><br>(gauge)</td> <td>The average min and max size of all successful device-initiated twin updates.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.d2c.twin.update.success</strong><br>(count)</td> <td>The count of all successful device-initiated twin updates. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.daily_message_quota_used</strong><br>(count)</td> <td>Number of total messages used today. This is a cumulative value that is reset to zero at 00:00 UTC every day. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.device_data_usage</strong><br>(count)</td> <td>Bytes transferred to and from any devices connected to IotHub </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.devices.connected_devices.all_protocol</strong><br>(count)</td> <td>Number of devices connected to your IoT hub </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.devices.total_devices</strong><br>(count)</td> <td>Number of devices registered to your IoT hub </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.cancel_job.failure</strong><br>(count)</td> <td>The count of all failed calls to cancel a job. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.cancel_job.success</strong><br>(count)</td> <td>The count of all successful calls to cancel a job. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.completed</strong><br>(count)</td> <td>The count of all completed jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.create_direct_method_job.failure</strong><br>(count)</td> <td>The count of all failed creation of direct method invocation jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.create_direct_method_job.success</strong><br>(count)</td> <td>The count of all successful creation of direct method invocation jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.create_twin_update_job.failure</strong><br>(count)</td> <td>The count of all failed creation of twin update jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.create_twin_update_job.success</strong><br>(count)</td> <td>The count of all successful creation of twin update jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.failed</strong><br>(count)</td> <td>The count of all failed jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.list_jobs.failure</strong><br>(count)</td> <td>The count of all failed calls to list jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.list_jobs.success</strong><br>(count)</td> <td>The count of all successful calls to list jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.query_jobs.failure</strong><br>(count)</td> <td>The count of all failed calls to query jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.jobs.query_jobs.success</strong><br>(count)</td> <td>The count of all successful calls to query jobs. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.tenant_hub.requested_usage_rate</strong><br>(gauge)</td> <td>requested usage rate<br><em>Shown as percent</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.twin_queries.failure</strong><br>(count)</td> <td>The count of all failed twin queries. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.twin_queries.result_size</strong><br>(gauge)</td> <td>The average min and max of the result size of all successful twin queries.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools_iothubtenants.twin_queries.success</strong><br>(count)</td> <td>The count of all successful twin queries. </td> </tr>

<tr> <td> <strong>azure.devices_elasticpools.elastic_pool.requested_usage_rate</strong><br>(gauge)</td> <td>requested usage rate<br><em>Shown as percent</em> </td> </tr>

<tr> <td> <strong>azure.insights_autoscalesettings.metric_threshold</strong><br>(count)</td> <td>The configured autoscale threshold when autoscale ran. </td> </tr>

<tr> <td> <strong>azure.insights_autoscalesettings.observed_capacity</strong><br>(count)</td> <td>The capacity reported to autoscale when it executed. </td> </tr>

<tr> <td> <strong>azure.insights_autoscalesettings.observed_metric_value</strong><br>(count)</td> <td>The value computed by autoscale when executed </td> </tr>

<tr> <td> <strong>azure.insights_autoscalesettings.scale_actions_initiated</strong><br>(count)</td> <td>The direction of the scale operation. </td> </tr>

<tr> <td> <strong>azure.locationbasedservices_accounts.latency</strong><br>(gauge)</td> <td>Duration of API calls<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.network_connections.bits_in_per_second</strong><br>(rate)</td> <td>Bits ingressing Azure per second<br><em>Shown as bit</em> </td> </tr>

<tr> <td> <strong>azure.network_connections.bits_out_per_second</strong><br>(rate)</td> <td>Bits egressing Azure per second<br><em>Shown as bit</em> </td> </tr>

<tr> <td> <strong>azure.network_connections.status</strong><br>(gauge)</td> <td>Status of Azure Network Connections metrics </td> </tr>

<tr> <td> <strong>azure.network_dnszones.query_volume</strong><br>(count)</td> <td>Number of queries served for a DNS zone </td> </tr>

<tr> <td> <strong>azure.network_dnszones.record_set_capacity_utilization</strong><br>(gauge)</td> <td>Percent of Record Set capacity utilized by a DNS zone<br><em>Shown as percent</em> </td> </tr>

<tr> <td> <strong>azure.network_dnszones.record_set_count</strong><br>(count)</td> <td>Number of Record Sets in a DNS zone </td> </tr>

<tr> <td> <strong>azure.network_networkwatchers_connectionmonitors.average_roundtrip_ms</strong><br>(gauge)</td> <td>Average network round-trip time (ms) for connectivity monitoring probes sent between source and destination<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.network_networkwatchers_connectionmonitors.probes_failed_percent</strong><br>(gauge)</td> <td>% of connectivity monitoring probes failed<br><em>Shown as percent</em> </td> </tr>

<tr> <td> <strong>azure.network_trafficmanagerprofiles.qps_by_endpoint</strong><br>(count)</td> <td>Number of times a Traffic Manager endpoint was returned in the given time frame </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_average_bandwidth</strong><br>(rate)</td> <td>Average bandwidth of a tunnel in bytes per second<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_egress_bytes</strong><br>(gauge)</td> <td>Outgoing bytes of a tunnel<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_egress_packet_drop_tsmismatch</strong><br>(count)</td> <td>Outgoing packet drop count from traffic selector mismatch of a tunnel </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_egress_packets</strong><br>(count)</td> <td>Outgoing packet count of a tunnel </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_ingress_bytes</strong><br>(gauge)</td> <td>Incoming bytes of a tunnel<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_ingress_packet_drop_tsmismatch</strong><br>(count)</td> <td>Incoming packet drop count from traffic selector mismatch of a tunnel </td> </tr>

<tr> <td> <strong>azure.network_virtualnetworkgateways.tunnel_ingress_packets</strong><br>(count)</td> <td>Incoming packet count of a tunnel </td> </tr>

<tr> <td> <strong>azure.operationalinsights_workspaces.status</strong><br>(gauge)</td> <td>Status of Azure Operational Insights </td> </tr>

<tr> <td> <strong>azure.powerbidedicated_capacities.query_duration</strong><br>(gauge)</td> <td>DAX Query duration in last interval<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.powerbidedicated_capacities.query_pool_job_queue_length</strong><br>(count)</td> <td>Number of jobs in the queue of the query thread pool. </td> </tr>

<tr> <td> <strong>azure.servicefabric_clusters.status</strong><br>(gauge)</td> <td>Status of Azure Service Fabric </td> </tr>

<tr> <td> <strong>azure.storage.availability</strong><br>(gauge)</td> <td>The percentage of availability for the storage service or the specified API operation.<br><em>Shown as percent</em> </td> </tr>

<tr> <td> <strong>azure.storage.egress</strong><br>(gauge)</td> <td>The amount of egress data, in bytes.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.storage.ingress</strong><br>(gauge)</td> <td>The amount of ingress data, in bytes.<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.storage.status</strong><br>(gauge)</td> <td>Status of Azure Storage Integration </td> </tr>

<tr> <td> <strong>azure.storage.success_e2_e_latency</strong><br>(gauge)</td> <td>The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds.<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.storage.success_server_latency</strong><br>(gauge)</td> <td>The average latency used by Azure Storage to process a successful request, in milliseconds.<br><em>Shown as millisecond</em> </td> </tr>

<tr> <td> <strong>azure.storage.transactions</strong><br>(count)</td> <td>The number of requests made to a storage service or the specified API operation. </td> </tr>

<tr> <td> <strong>azure.storage.used_capacity</strong><br>(gauge)</td> <td>Account used capacity<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.app_connections</strong><br>(count)</td> <td>Connections </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.average_memory_working_set</strong><br>(gauge)</td> <td>Average memory working set<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.average_response_time</strong><br>(count)</td> <td>Average Response Time<br><em>Shown as second</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.bytes_received</strong><br>(gauge)</td> <td>Data In<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.bytes_sent</strong><br>(gauge)</td> <td>Data Out<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.cpu_time</strong><br>(gauge)</td> <td>CPU Time<br><em>Shown as second</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.function_execution_count</strong><br>(count)</td> <td>Function Execution Count </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.function_execution_units</strong><br>(count)</td> <td>Function Execution Units </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.handles</strong><br>(count)</td> <td>Handle Count </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http101</strong><br>(count)</td> <td>Http 101 </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http2xx</strong><br>(count)</td> <td>Http 2xx </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http3xx</strong><br>(count)</td> <td>Http 3xx </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http401</strong><br>(count)</td> <td>Http 401 </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http403</strong><br>(count)</td> <td>Http 403 </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http404</strong><br>(count)</td> <td>Http 404 </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http406</strong><br>(count)</td> <td>Http 406 </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http4xx</strong><br>(count)</td> <td>Http 4xx </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.http5xx</strong><br>(count)</td> <td>Http Server Errors </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.memory_working_set</strong><br>(gauge)</td> <td>Memory working set<br><em>Shown as byte</em> </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.requests</strong><br>(count)</td> <td>Requests </td> </tr>

<tr> <td> <strong>azure.web_sites_slots.threads</strong><br>(count)</td> <td>Thread Count </td> </tr>

Événements

L’intégration Azure envoie tous vos événements Azure à votre flux d’événements Datadog.

Checks de service

L’intégration Azure n’inclut aucun check de service.

Tags

Les métriques, événements et checks de service des intégrations Azure reçoivent les tags suivants :

IntégrationEspace de nommageClés de tag Datadog
Toutes les intégrations AzureToutescloud_provider, region, kind, type, name, resource_group, tenant_name, subscription_name, subscription_id, status (le cas échéant)
Intégrations VM Azureazure.vm.*host, size, operating_system, availability_zone
Plans Azure App Serviceazure.web_serverfarms.*per_site_scaling, plan_size, plan_tier, operating_system
Applications Web et Fonctions Azure App Servicesazure.app_services.*, azure.functions.*operating_system, server_farm_id, reserved, usage_state, fx_version (applications web Linux uniquement), php_version, dot_net_framework_version, java_version, node_version, python_version
Azure SQL Databaseazure.sql_servers_databases.*license_type, max_size_mb, server_name, role, zone_redundant.
Pour les liens de réplication uniquement : state primary_server_name primary_server_region secondary_server_name secondary_server_region
Azure Load Balancerazure.network_loadbalancers.*sku_name
Utilisation et quotas Azureazure.usage.*usage_category, usage_name

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin