Ajouter des filtres permanents à un tableau de bord personnalisé

Ce document explique comment ajouter des filtres permanents au niveau du tableau de bord. à vos tableaux de bord personnalisés. Les filtres permanents, qui vous permettent de modifier les données affiché dans un tableau de bord sans avoir à modifier chaque widget, état par défaut et peuvent s'appliquer à l'ensemble du tableau de bord widgets. La barre d'outils du tableau de bord affiche chaque filtre permanent, ainsi que un menu qui vous permet de modifier temporairement la valeur du filtre.

Lorsque vous souhaitez définir une présentation par défaut des données dans un tableau de bord avec des options issues du menu pour modifier cet affichage et ajouter des filtres permanents. Pour exemple : pour afficher les métriques de toutes les zones pour une zone spécifique, puis créez un filtre permanent basé sur l'étiquette zone.

Vous pouvez créer et appliquer des filtres permanents à l'aide de la console Google Cloud ou l'API Cloud Monitoring. Ce document explique comment utiliser le console Google Cloud. Pour en savoir plus sur l'utilisation de l'API Cloud Monitoring, consultez Créer et gérer des tableaux de bord à l'aide de l'API: filtres de tableau de bord

Pour en savoir plus sur l'ajout et la modification des regroupements et des filtres temporaires, voir Ajouter des filtres temporaires à un tableau de bord personnalisé.

Fonctionnement des filtres des tableaux de bord

Un filtre de tableau de bord spécifie une étiquette et une valeur. La série temporelle les affichages du tableau de bord déterminent les étiquettes disponibles pour le filtrage. La prise en charge d'un filtre à l'échelle du tableau de bord par widget dépend du type de données le widget s'affiche, ainsi que sa configuration:

  • Pour les widgets qui affichent des données de séries temporelles, comme les graphiques en courbes, les règles suivantes s'appliquent:

    • Si la série temporelle affichée par le widget ne prend pas en charge le libellé dans un , le filtre pour l'ensemble du tableau de bord ne modifie pas les données affichées.

      Par exemple, si vous ajoutez un filtre sur le libellé instance_id, mais qu'un graphique n'affiche pas de données avec le libellé instance_id sur le tableau de bord, puis le filtre ne modifie pas les données affichées.

    • Si le widget spécifie une valeur pour une étiquette, alors le un filtre à l'échelle du tableau de bord ne modifie pas les données affichées.

      Par exemple, si vous ajoutez un filtre sur le libellé instance_id, mais qu'un graphique du tableau de bord inclut un filtre basé sur l'étiquette instance_id, puis le filtre d'ensemble du tableau de bord ne modifie pas les données affichées.

    • Dans le cas contraire, le graphique filtre les données affichées des séries temporelles qui satisfont au filtre applicable à l'ensemble du tableau de bord.

  • Pour les widgets des panneaux de journaux, les filtres de l'ensemble du tableau de bord sont basés sur un l'étiquette de ressource pour mettre à jour la requête. Par exemple, si vous ajoutez le paramètre filtre d'ensemble du tableau de bord cluster_name: mycluster, la requête est mis à jour pour inclure resource.labels."cluster_name"="mycluster".

Vous pouvez ajouter plusieurs filtres à l'ensemble du tableau de bord. Ces filtres sont associés avec l'opérateur logique AND.

Avant de commencer

Pour obtenir les autorisations nécessaires pour ajouter ou modifier des filtres permanents à l'aide de la console Google Cloud, demandez à votre administrateur de vous accorder le Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles, consultez Contrôlez les accès avec Identity and Access Management.

Créer un filtre permanent

Lorsque vous concevez un tableau de bord, vous pouvez identifier plusieurs façons d'afficher les les données affichées par le tableau de bord. Par exemple, lorsqu'un tableau de bord affiche des métriques des instances de VM, vous pouvez afficher les métriques de toutes les VM Vous souhaitez peut-être afficher les métriques des VM d'une zone spécifique. Vous pourriez créer un filtre permanent pour le libellé zone avec l'ensemble par défaut à toutes les zones, *. Lorsque vous consultez le tableau de bord, vous pouvez utiliser les du filtre zone pour sélectionner une zone spécifique.

Vous pouvez limiter l'application d'un filtre permanent à des widgets spécifiques. Imaginez un scénario dans lequel vous souhaitez obtenir une vue côte à côte des métriques pour les VM situées dans deux zones différentes. Vous construisez deux collections de graphiques et créer un filtre pour chaque collection. Votre configuration par défaut satisfait à votre objectif initial. Toutefois, lorsque vous consultez le tableau de bord, liste vos variables et comprend des menus vous permettant de sélectionner valeurs. Vous pouvez utiliser ces menus pour afficher les données de différentes zones.

Les filtres permanents qui ne s'appliquent qu'à des widgets spécifiques sont parfois appelés variables de modèle. Après avoir créé un filtre de ce type, lorsque vous ajouter un widget à votre tableau de bord, vous pouvez également appliquer le filtre à ce widget. Pour plus d'informations, consultez Appliquer un filtre permanent à un widget.

Pour créer un filtre permanent, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Tableaux de bord .

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils du tableau de bord, cliquez sur Paramètres. puis sélectionnez Gérer les filtres.
  3. Cliquez sur Libellé, puis sélectionnez un libellé. Par exemple : vous pouvez sélectionner zone.
  4. Cliquez sur Valeur par défaut, puis sélectionnez la valeur par défaut pour l'étiquette. Pour faire correspondre toutes les valeurs, sélectionnez *.

    Une fois le filtre créé, il est ajouté à la barre d'outils de votre tableau de bord. À modifier temporairement la valeur du filtre, sélectionner le filtre, puis créer une dans le menu.

  5. Effectuez l'une des opérations suivantes :

    • Pour appliquer le filtre à tous les widgets du tableau de bord, sélectionnez Appliquer à tous. puis sélectionnez Appliquer.

    • Pour appliquer le filtre à certains widgets du tableau de bord:

      1. Décochez la case Appliquer à tous les éléments.
      2. Dans le champ Nom de la variable, saisissez un nom à afficher pour la .
      3. Développez le menu Appliquer aux graphiques, puis sélectionnez les widgets auquel s'applique le filtre, puis sélectionnez OK.

      4. Cliquez sur Appliquer.

Appliquer un filtre permanent à un widget

Pour appliquer un filtre permanent à un widget, vous devez associer ce widget à l'aide de la variable:

  • Pour les graphiques configurés à l'aide de menus, vous pouvez : effectuer cette association lors de la création ou de la modification du filtre.

  • Dans le panneau des journaux, modifiez le widget et configurez la requête par défaut. Assurez-vous de suivre les instructions de la section intitulée Syntaxe pour appliquer un filtre permanent.

  • Pour les graphiques et les tableaux définis par MQL ou PromQL, modifiez la valeur graphique ou table, puis modifiez le MQL ou PromQL. Assurez-vous de suivre les instructions de la section intitulée Syntaxe pour appliquer un filtre permanent.

Syntaxe pour appliquer un filtre permanent

L'exemple suivant montre la représentation JSON partielle d'un tableau de bord. qui définit une variable de modèle et un filtre pour l'ensemble du tableau de bord:

{
  "dashboardFilters": [
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "instance_id",
        "stringValue": "3133577226154888113",
        "templateVariable": "iid"
      },
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "zone"
      }
    ],
  "displayName": "Illustrate Template Variables",
  ...

Dans le fichier JSON affiché, la première entrée de la structure dashboardFilters correspond à une variable de modèle nommée iid et à un filtre pour l'ensemble du tableau de bord avec la clé d'étiquette zone. La variable de modèle est un alias du libellé instance_id.

La structure de données d'une variable de modèle ne répertorie pas les widgets auxquels s'applique. Pour associer un widget à une variable de modèle, modifier la requête du widget pour inclure une référence à la variable. Lorsque le widget est affiché dans le tableau de bord, la valeur de la variable de modèle est résolue.

Consultez les sections suivantes pour découvrir comment annoter les panneaux et les graphiques des journaux:

Panneau des journaux

Pour configurer un panneau des journaux afin de filtrer l'affichage en fonction de la valeur d'une de modèle, ajoutez-la au volet de requête. L'exemple suivant illustre une requête qui filtre en fonction de la valeur de la variable de modèle iid:

${iid}

Avant que le panneau des journaux n'interroge les journaux à afficher, la variable de modèle est résolu. Dans cet exemple, si la valeur de la variable de modèle est "12345", alors ${iid} est remplacé par l'instruction resource.labels."instance_id"="12345"

Vous pouvez également n'inclure que la valeur d'une variable de modèle dans une requête. Nous vous recommandons de n'utiliser la valeur que dans le cadre d'un filtre défini avec une expression régulière. Par exemple, la requête suivante utilise une expression régulière pour faire correspondre les entrées de journal dont la charge utile JSON contient les valeurs chaîne:

jsonPayload.message=~"Connected to instance: ${iid.value}"

Si vous avez configuré une requête pour le panneau des journaux, puis que vous sélectionnez le bouton pour ouvrir l'explorateur de journaux, les variables de modèle sont résolues avant l'explorateur de journaux est ouvert.

Le tableau suivant montre comment la variable de modèle est résolue par la méthode Journaux:

Syntaxe Valeur
sélectionnée
Expression du panneau des journaux résolus
${iid} 12345 resource.labels."instance_id"="12345"
${iid} * ""
${iid.value} 12345 12345
${iid.value} * .*

Graphiques et tableaux définis par MQL

Lorsque vous utilisez le langage MQL (Monitoring Query Language) pour configurer un graphique, ajoutez un pipeline à la chaîne de requête:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| every 1m
| ${iid}

Avant que le graphique n'interroge la série temporelle à afficher, la variable de modèle est résolu. Dans cet exemple, si la valeur de la variable de modèle est "12345", alors ${iid} est remplacé par l'instruction filter (resource.instance_id == '12345') Ce filtre correspond à la période comportant une étiquette nommée resource.instance_id, et uniquement lorsque la valeur de cette étiquette est exactement 12345.

Lorsque vous souhaitez filtrer des séries temporelles à l'aide d'une expression régulière, configurer la requête pour n'inclure que la valeur de la variable de modèle. Pour illustrer la syntaxe, les éléments suivants montre comment utiliser une expression régulière pour déterminer si la valeur de la L'étiquette resource.instance_id contient la valeur de la variable de modèle iid:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| filter resource.instance_id=~"${iid.value}"
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m

Le tableau suivant montre comment la variable de modèle est résolue pour MQL requêtes:

Syntaxe Valeur
sélectionnée
Expression MQL résolue
${iid} 12345 filter (resource.instance_id == '12345')
${iid} * filter (true)
${iid.value} 12345 12345
${iid.value} * .*

Graphiques et tableaux définis par PromQL

Lorsque vous définissez un graphique à l'aide de PromQL, ajoutez à la chaîne de requête le encapsulée par des accolades:

compute_googleapis_com:instance_cpu_utilization {
    project_id="my-project", ${iid}
}

Avant que le graphique n'interroge la série temporelle à afficher, la variable de modèle est résolu. Dans cet exemple, si la valeur de la variable de modèle est "12345", alors ${iid} est remplacé par l'instruction instance_id == '12345'

Comme pour MQL, lorsque vous définissez un widget avec PromQL, la requête ne peut extraire que la valeur de la variable de modèle. Nous vous recommandons n'utiliser la valeur que dans le cadre d'un filtre défini avec une expression régulière. À illustrer la syntaxe, l'exemple suivant montre comment utiliser une expression régulière pour déterminez si la valeur de l'étiquette instance_id contient la valeur du variable de modèle iid:

compute_googleapis_com:instance_cpu_utilization{
    instance_id=~"${iid.value}"
}

Le tableau suivant montre comment la variable de modèle est résolue pour PromQL requêtes:

Syntaxe Valeur
sélectionnée
Expression PromQL résolue
${iid} 12345 instance_id == '12345'
${iid} * noop_filter=~".*"
${iid.value} 12345 12345
${iid.value} * .+

Graphiques et tables définis avec des filtres de séries temporelles

Lorsque vous définissez un graphique à l'aide de filtres de séries temporelles, ajoutez la variable à la chaîne de filtre:

"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\"
           resource.type=\"gce_instance\" ${iid}"

Contrairement aux graphiques définis par MQL et PromQL, vous ne pouvez pas utiliser la valeur d'une variable de modèle dans un filtre de série temporelle.

Le tableau suivant montre comment la variable de modèle est résolue:

Syntaxe Valeur
sélectionnée
Expression de filtre résolue
${iid} 12345 resource.instance_id == "12345"
${iid} * Omission
${iid.value} 12345 Non compatible
${iid.value} * Non compatible

Modifier un filtre permanent

Pour modifier temporairement la valeur d'un filtre affiché dans le tableau de bord dans la barre d'outils, cliquez sur le nom du filtre, puis saisissez une valeur ou créez dans le menu.

Pour modifier la configuration d'un filtre permanent, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Tableaux de bord .

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils du tableau de bord, cliquez sur Paramètres. puis sélectionnez Gérer les filtres.
  3. Recherchez le filtre à modifier, puis utilisez les menus pour définir vos de modifications.
  4. Cliquez sur Appliquer.

Supprimer un filtre permanent

  1. Dans la console Google Cloud, accédez à la page Tableaux de bord .

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils du tableau de bord, cliquez sur Paramètres. puis sélectionnez Gérer les filtres.
  3. Recherchez le filtre à supprimer, puis cliquez sur Supprimer.
  4. Cliquez sur Appliquer.

Étape suivante