Création de requêtes

Aperçu

Que vous utilisiez des métriques, logs, traces, monitors, dashboards, notebooks, etc., tous les graphiques dans Datadog possèdent la même fonctionnalité de base. Cette page explique comment interroger à l’aide de l’éditeur graphique. Les utilisateurs avancés peuvent créer et modifier des graphiques avec JSON. Pour en savoir plus, consultez Graphing with JSON.

Vous pouvez interroger à l’aide de l’éditeur graphique sur les pages Dashboards ou Notebooks, ou utiliser Quick Graphs disponible sur n’importe quelle page. Ouvrez Quick Graphs en appuyant sur G sur n’importe quelle page. Pour en savoir plus, consultez Quick Graphs Guide.

Éditeur graphique

Sur les widgets, ouvrez l’éditeur graphique en cliquant sur l’icône de crayon dans le coin supérieur droit. L’éditeur de graphiques dispose des onglets suivants :

  • Share: Intégrez le graphique sur n’importe quelle page web externe.
  • JSON: Un éditeur plus flexible, qui nécessite des connaissances en langage de définition de graphique.
  • Edit: L’onglet UI par défaut pour les options de graphique.

Lorsque vous ouvrez pour la première fois l’éditeur graphique, vous êtes sur l’onglet Edit. Ici, vous pouvez utiliser l’interface utilisateur pour choisir la plupart des paramètres. Voici un exemple :

Onglet d'édition

Configuration d’un graphique

Pour configurer votre graphique sur un dashboard, suivez ce processus :

  1. Sélectionnez la visualisation
  2. Définissez la métrique
  3. Filtrer votre métrique
  4. Configurer l’agrégation temporelle
  5. Configurer l’agrégation spatiale
  6. Appliquer la fonction
  7. Intitulez le graphique

Sélectionnez votre visualisation

Sélectionnez votre visualisation à partir des widgets disponibles.

Définissez la métrique

Choisissez la métrique à représenter graphiquement en la recherchant ou en la sélectionnant dans le menu déroulant à côté de Metric. Si vous ne savez pas quelle métrique utiliser, le menu déroulant des métriques fournit des informations supplémentaires, y compris le unit, type, interval, description, tags et le nombre de tag values.

Vous pouvez également voir des indicateurs de source Datadog ou OpenTelemetry. Si votre environnement utilise les deux, vous pouvez utiliser le modificateur de requête de Telemetry source pour Query Across Datadog and OpenTelemetry Metrics dans un seul graphique.

Menu déroulant de sélection de métriques

Explorez vos métriques plus en détail depuis la page Metrics Explorer ou un Notebook, ou consultez la liste des métriques sur la page Metrics Summary.

Filtrer

Votre métrique choisie peut être filtrée par hôte ou par tag en utilisant le menu déroulant from à droite de la métrique. Le filtre par défaut est (partout).

Filtrez le graphique avec le champ 'from', en utilisant des variables de modèle et une logique booléenne
  • Utilisez le filtrage avancé dans le menu déroulant from pour évaluer des requêtes filtrées par booléen ou par caractères génériques.
  • Filtrer les requêtes dynamiquement, en utilisant des variables de modèle. Ajoutez le $ avec la clé de tag et le graphique applique automatiquement le tag que vous choisissez dans le menu déroulant des variables de modèle. Pour plus d’informations, consultez la documentation sur les variables de modèle.

Pour en savoir plus sur les tags, consultez la documentation relative au tagging.

Agrégation et regroupement

Méthode d’agrégation

La méthode d’agrégation est à côté du menu déroulant du filtre. La valeur par défaut est avg by, mais vous pouvez changer la méthode en max by, min by ou sum by. Dans la plupart des cas, la métrique a de nombreuses valeurs pour chaque intervalle de temps, provenant de nombreux hôtes ou instances. La méthode d’agrégation choisie détermine comment les métriques sont agrégées en une seule ligne.

Configurer l’agrégation temporelle

Quelles que soient les options choisies ci-dessus, il y a toujours une certaine agrégation des données en raison des contraintes de taille physique de la fenêtre contenant le graphique. Si une métrique est mise à jour chaque seconde, et que vous regardez 4 heures de données, vous avez besoin de 14 400 points pour tout afficher. Chaque graphique affiché a environ 300 points montrés à tout moment. Par conséquent, chaque point affiché à l’écran représente 48 points de données.

En pratique, les métriques sont collectées par l’Agent toutes les 15 à 20 secondes. Ainsi, les données d’une journée correspondent à 4 320 points de données. Si vous affichez les données d’une journée sur un seul graphique, Datadog regroupe automatiquement les données. Pour plus de détails sur l’agrégation temporelle, voir l’Introduction aux métriques. Consultez la documentation sur le Regroupement pour en savoir plus sur les intervalles de regroupement et comment Datadog regroupe automatiquement les points de données.

Pour regrouper manuellement les données, utilisez la fonction de regroupement. Cliquez sur l’icône sigma pour ajouter une fonction et sélectionnez rollup dans le menu déroulant. Ensuite, choisissez comment vous souhaitez agréger les données et l’intervalle en secondes.

Cette requête crée une ligne unique représentant l’espace disque total disponible en moyenne sur l’ensemble des machines déployées, avec un intervalle de cumul des données de 1 minute :

exemple de regroupement de la métrique system.disk.free sur toutes les machines

Lorsque vous passez à la vue JSON, voici à quoi ressemble la requête :

"query": "avg:system.disk.free{*}.rollup(avg, 60)"

Le JSON complet ressemble à ce qui suit :

{
    "viz": "timeseries",
    "requests": [
        {
            "formulas": [
                {
                    "formula": "query1"
                }
            ],
            "queries": [
                {
                    "data_source": "metrics",
                    "name": "query1",
                    "query": "avg:system.disk.free{*}.rollup(avg, 60)"
                }
            ],
            "response_format": "timeseries",
            "type": "line",
            "style": {
                "palette": "dog_classic",
                "type": "solid",
                "width": "normal"
            }
        }
    ],
    "yaxis": {
        "scale": "linear",
        "min": "auto",
        "max": "auto",
        "include_zero": true,
        "label": ""
    },
    "markers": []
}

Pour obtenir davantage d’information sur l’utilisation de la vue JSON, consultez la section Graphiques JSON.

Configurer l’agrégation de l’espace

À côté du menu déroulant de la méthode d’agrégation, choisissez ce qui constitue une ligne ou un regroupement sur un graphique. Par exemple, si vous choisissez host, il y a une ligne pour chaque host. Chaque ligne est composée de la métrique sélectionnée sur un host particulier agrégée selon la méthode choisie.

De plus, vous pouvez cliquer sur les étiquettes dans le menu déroulant de la métrique utilisé pour définir la métrique afin de regrouper et d’agréger vos données.

Requêtes imbriquées

La fonctionnalité de requêtes imbriquées de Datadog vous permet d’ajouter des couches supplémentaires d’agrégation temporelle et/ou spatiale sur les résultats des requêtes de métriques existantes. Cette capacité de requête avancée vous permet également de calculer des percentiles et des écarts types sur les résultats de requêtes agrégées de métriques de type count/rate/gauge et d’accéder à des requêtes de plus haute résolution sur des périodes historiques.

Pour plus d’informations, consultez la documentation sur les requêtes imbriquées.

Graphiques avancés

En fonction de vos besoins d’analyse, vous pouvez choisir d’appliquer d’autres fonctions mathématiques à la requête. Les exemples incluent les taux et les dérivées, le lissage, et d’autres. Voir la liste des fonctions disponibles.

Datadog prend également en charge la possibilité de représenter graphiquement vos métriques, journaux, traces et autres sources de données avec diverses opérations arithmétiques et fonctions de comparaison. Utilisez +, -, /, *, minimum() et maximum() pour modifier les valeurs affichées sur vos graphiques. Cette syntaxe permet à la fois des valeurs entières et des opérations arithmétiques utilisant plusieurs métriques.

Pour représenter les métriques séparément, utilisez la virgule (,). Par exemple, a, b, c.

Remarque : Les requêtes utilisant des virgules ne sont prises en charge que dans les visualisations, elles ne fonctionnent pas sur les monitors. Utilisez opérateurs booléens ou opérations arithmétiques pour combiner plusieurs métriques dans un monitor.

Arithmétique des métriques utilisant un entier

Modifiez la valeur affichée d’une métrique sur un graphique en effectuant une opération arithmétique. Par exemple, pour visualiser le double d’une métrique spécifique, cliquez sur le lien Advanced... dans l’éditeur graphique. Ensuite, entrez votre opération arithmétique dans la boîte Formula, dans ce cas : a * 2 :

Exemple de formule - multiplication

Arithmétique entre deux métriques

Visualisez le pourcentage d’une métrique en divisant une métrique par une autre. Par exemple :

jvm.heap_memory / jvm.heap_memory_max

Utilisez l’option Advanced... dans l’éditeur graphique et sélectionnez Add Query. Chaque requête se voit attribuer une lettre par ordre alphabétique : la première métrique est représentée par a, la deuxième métrique est représentée par b, etc.

Ensuite, dans la boîte Formula, entrez l’arithmétique (a / b pour cet exemple). Pour afficher uniquement le résultat de la formule, consultez Masquer une requête de la visualisation.

Exemple de formule - ratio

Voici un autre exemple montrant comment vous pouvez représenter graphiquement le ratio entre error logs et info logs.

status:error / status:info
Exemple de formule - ratio de logs

Remarque : Les formules ne sont pas lettrées. L’arithmétique ne peut pas être effectuée entre des formules.

Masquer une requête de la visualisation

Lorsqu’un widget a plusieurs requêtes et une formule, vous pouvez masquer des requêtes individuelles afin que seul le résultat de la formule apparaisse sur le graphique. Cliquez sur l’étiquette de la lettre de la requête pour basculer sa visibilité sur le graphique. Une étiquette bleue indique que la requête est affichée ; une étiquette grise indique qu’elle est masquée. La requête masquée est toujours utilisée dans le calcul de la formule.

Minimum ou Maximum entre deux requêtes

Utilisez minimum() et maximum() pour comparer deux requêtes point par point et renvoyer la valeur inférieure ou supérieure à chaque horodatage.

Remarque : L’utilisation de min() et max() pour la comparaison arithmétique est obsolète. Utilisez minimum() et maximum() à la place. Cette obsolescence s’applique uniquement à la syntaxe de comparaison arithmétique. Les méthodes d’agrégation telles que min by, max by et l’agrégation de requêtes imbriquées avec min et max restent inchangées.

Voici un exemple utilisant maximum() pour trouver l’utilisation maximale du CPU entre deux zones de disponibilité.

maximum(system.cpu.user{availability-zone:eastus-1}, system.cpu.user{availability-zone:eastus-2})
Exemple de formule pour 'maximum' montrant la valeur supérieure entre deux requêtes métriques.

De plus, vous pouvez également calculer le minimum entre deux requêtes sur différents produits. Voici un autre exemple utilisant minimum() pour trouver le minimum entre les journaux avec des statuts d’erreur et des statuts d’avertissement.

minimum(status:error, status:warn)
Exemple de formule pour 'minimum' montrant la valeur inférieure entre deux requêtes de journaux.

Créez un alias

Vous pouvez créer un alias personnalisé pour vos sources de données pour permettre à vos utilisateurs d’interpréter plus facilement les résultats du graphique.

Alias personnalisé

Créez un titre

Si vous n’entrez pas de titre, un titre est généré automatiquement en fonction de vos sélections. Cependant, il est recommandé de créer un titre qui décrit l’objectif du graphique.

Enregistrer

Cliquez sur Done pour enregistrer votre travail et quitter l’éditeur. Vous pouvez toujours revenir à l’éditeur pour modifier le graphique. Si vous apportez des modifications que vous ne souhaitez pas enregistrer, cliquez sur Cancel.

Options supplémentaires

Superpositions d’événements

Widgets de séries temporelles montrant les taux d'erreur RUM avec des événements de déploiement superposés

Visualisez les corrélations d’événements en utilisant la section Event Overlays dans l’éditeur de graphiques pour la visualisation Séries temporelles. Dans le champ de recherche, entrez tout texte ou requête de recherche structurée. La recherche d’événements utilise la syntaxe de recherche des journaux.

La superposition d’événements prend en charge toutes les sources de données. Cela permet une corrélation plus facile entre les événements commerciaux et les données de tout service Datadog.

Avec la superposition d’événements, vous pouvez rapidement voir comment les actions au sein de l’organisation impactent la performance des applications et de l’infrastructure. Voici quelques exemples de cas d’utilisation :

  • Taux d’erreur RUM avec des événements de déploiement superposés
  • Corrélation de l’utilisation du CPU avec des événements liés au provisionnement de serveurs supplémentaires
  • Corrélation du trafic sortant avec une activité de connexion suspecte
  • Corrélation de toutes les données de séries temporelles avec des alertes de surveillance pour s’assurer que Datadog a été configuré avec les alertes appropriées

Graphique divisé

Les graphiques partagés vous permettent de visualiser des représentations d’une métrique en fonction de différents tags.

Visualisez des graphiques divisés de metric container.cpu.usage dans le widget en plein écran
  1. Accédez à cette fonctionnalité via l’onglet Split Graph lors de la visualisation des graphiques.
  2. Vous pouvez modifier la métrique sort by pour voir la relation entre les données que vous affichez et d’autres métriques.
  3. Limitez le nombre de graphiques affichés en changeant la valeur limit to.

Lectures complémentaires

Documentation, liens et articles supplémentaires utiles: