Création et gestion de variables
Dans IBM® Cloud Logs, une variable est un espace réservé pour une valeur utilisée dans les requêtes. Lorsqu'elles sont utilisées dans des tableaux de bord personnalisés, les requêtes de votre tableau de bord sont mises à jour pour afficher les données relatives à cette valeur.
Les variables rendent les tableaux de bord plus interactifs et dynamiques. Au lieu d'utiliser des noms spécifiques pour les serveurs, les applications ou les capteurs dans vos requêtes, vous pouvez utiliser des variables. Vous pouvez facilement passer d'une vue à l'autre des données. Cela signifie que si vous avez des mesures complexes, à cardinalité élevée, vous pouvez ajouter des variables pour zoomer sur des valeurs spécifiques qui vous intéressent. Les variables peuvent être utilisées dans tous les widgets pour tous les types de données, quel que soit le type de source de la variable.
Types de variables
Vous pouvez choisir parmi différents types de variables.
- Variables à valeur statique
- Vous pouvez définir manuellement une liste fixe de valeurs variables, telles qu'un nombre ou une chaîne de nombres séparés par une virgule. Par exemple, si vous avez des noms de pays qui ne changent jamais, vous pouvez les créer en tant que variable à valeur statique plutôt qu'en tant que variable de requête de source de données.
- Variable d'interrogation
- Les valeurs des variables sont récupérées à partir d'une requête de source de données de logs ou de métriques. Par exemple, une variable de requête peut générer une liste de noms de serveurs, d'identifiants de capteurs ou de centres de données, en mettant à jour les valeurs de manière dynamique en récupérant des options à l'aide d'une requête de source de données. Les variables de requête sont utiles lorsque plusieurs instances de sources de données sont gérées, en particulier dans des environnements différents.
Définition de variables pour les tableaux de bord personnalisés
-
Cliquez sur l'icône Tableau de bord
Tableaux de bord > Tableaux de bord personnalisés.
-
Dans un tableau de bord nouveau ou existant, cliquez sur l'icône Variable gérée { }.
-
Cliquez sur + Variable.
-
Pour tous les types de variables, configurez les champs suivants :
-
Nom de variable. Le texte saisi dans ce champ détermine la façon dont le nom de la variable apparaît dans votre requête, par exemple
{{ podvalues }}. Les majuscules et les espaces ne sont pas autorisés dans le nom de la variable. -
Nom d'affichage (facultatif). Le texte saisi dans ce champ apparaît dans la sélection en tant que partie de la liste déroulante, par exemple "Mes Pods".
-
Option de sélection.
- Valeur multiple
- L'option multi-valeurs indique que l'utilisateur peut sélectionner plusieurs valeurs au sein d'une variable spécifique. Certaines requêtes ne prennent pas en charge les valeurs multiples, telles que
{{ variablename }}. Choisissez cette option uniquement si votre requête prend en charge plusieurs valeurs. - Inclure tout
- L'option Inclure tout peut être sélectionnée lorsque l'option multi-valeurs est activée. La requête sélectionnera toutes les valeurs disponibles et futures pour une période donnée, indépendamment de votre sélection spécifique. Lorsque les deux options sont sélectionnées, toutes les options variables sont sélectionnées par défaut, et une ou plusieurs peuvent être désélectionnées. Si aucune option n'est spécifiée, vous pouvez sélectionner une valeur de variable à la fois.
-
Pour les variables de type
query:-
Spécifiez la source de la requête (
logsoumetrics). -
Pour
variable type, spécifiezvaluespourlogs. Pourmetrics, indiquezmetric names,metric labelsoulabel values. Si vous sélectionnezmetric labels, sélectionnez l'étiquette à utiliser pour les valeurs affichées. -
Pour
logs, définissez le champ en sélectionnant une clé de journal que vous souhaitez interroger. Une liste des valeurs variables actuelles est affichée dans l'aperçu des valeurs, par ordre alphanumérique. -
Pour
metrics, dans Metrics regex, entrez une expression regex pour récupérer la liste des métriques que vous souhaitez afficher. Par exemple,^kube(.*)renvoie tous les noms de métriques qui commencent par kube.-
Pour
label values, pour Metric label, choisissez le libellé des valeurs affichées. Rendez l'étiquette dynamique en insérant une variable, par exemplePod Name = {{ pod }}. -
Pour
label values, pour les filtres d'étiquettes, créez une ou plusieurs variables imbriquées et une couche de filtre supplémentaire pour votre requête. Par exemple, vous pouvez choisir de filtrer les étiquettes par cluster en sélectionnant une valeur qui est{{ podvalue }}ou le nom codé en dur de votre cluster. -
Pour
metrics, pour Nom d'affichage de la valeur de la variable, définissez comment les valeurs sont affichées dans la liste de sélection déroulante.Une liste des valeurs variables actuelles pour le champ est affichée dans l'aperçu des valeurs.
-
-
Pour Trier les valeurs, sélectionnez la manière de trier les données dans l'aperçu des valeurs.
-
-
Cliquez sur Sauvegarder.
Les variables peuvent également être modifiées ou supprimées de la liste des variables définies.
Utilisation de variables dans les requêtes
Outre l'utilisation de variables dans les tableaux de bord personnalisés, vous pouvez utiliser des variables définies dans les requêtes Lucene, DataPrime, et PromQL.
Requêtes Lucene
Vous pouvez utiliser des variables définies dans les requêtes Lucene. Par exemple, product_id:{{ pid }} où pid est le nom de la variable (et non le nom affiché),
DataPrime interrogations
Après la création d'une variable, les valeurs de la variable choisies par l'utilisateur peuvent être utilisées comme paramètres d'interrogation dans une requête DataPrime en
utilisant $p.<variable_name>.
PromQL interrogations
Utilisez {{ variable_name }} dans le langage d'interrogation PromQL.
Par exemple, la requête PromQL sum(kube_pod_owner{pod=~"{{ pod }}"}) est utilisée pour agréger les mesures liées aux pods Kubernetes. {pod=~"{{ pod }}"} est un sélecteur d'étiquette qui filtre
la mesure kube_pod_owner pour le pod spécifique dont le nom correspond à la valeur de la variable. L'espace réservé {{ pod }} est une variable modèle qui remplace le nom du pod lors de l'exécution de la requête.
Vous pouvez également utiliser des variables prédéfinies dans votre requête PromQL.
| Variable | Description | Exemples |
|---|---|---|
${__range} |
Cette variable représente la durée de la plage horaire du tableau de bord. Il est rendu sous la forme d'une chaîne d'intervalles prise en charge par PromQL. Par exemple, si vous sélectionnez une période allant de 13.00 à
14.30, la variable ${__range} est calculée comme 90m. |
1d, 5m |
${__range_s} |
Calculé comme le nombre de secondes dans la période de temps sélectionnée. | 60s, 180s |
${__range_ms} |
Calculé comme le nombre de millisecondes dans la période de temps sélectionnée. | 60ms, 180ms |
Par exemple, vous pouvez utiliser le __range variable dans sum_over_time.
sum_over_time(kube_pod_owner[${__range}])