Creación y gestión de variables

En IBM® Cloud Logs, una variable es un marcador de posición para un valor que se utiliza en las consultas. Cuando se utiliza en cuadros de mando personalizados, las consultas del cuadro de mando se actualizan para mostrar los datos de ese valor.

Las variables hacen que los cuadros de mando sean más interactivos y dinámicos. En lugar de poner nombres específicos para servidores, aplicaciones o sensores en sus consultas, puede utilizar variables en su lugar. Puedes cambiar fácilmente entre distintas vistas de datos. Esto significa que si tiene métricas complejas y de alta cardinalidad, puede añadir variables para ampliar valores específicos que le interesen. Las variables se pueden utilizar en todos los widgets para todos los tipos de datos, independientemente del tipo de fuente de la variable.

Tipos de variable

Puede elegir entre distintos tipos de variables.

Variables de valor estático
Puede definir manualmente una lista fija de valores variables, como un número o una cadena de números separados por una coma. Por ejemplo, si tiene nombres de países que nunca cambian, es posible que desee crearlos como una variable de valor estático en lugar de una variable de consulta de fuente de datos.
Variable de consulta
Los valores de las variables se recuperan de una consulta de registros o de una fuente de datos de métricas. Por ejemplo, una variable de consulta puede generar una lista de nombres de servidores, ID de sensores o centros de datos, actualizando dinámicamente los valores mediante la obtención de opciones utilizando una consulta de fuente de datos. Las variables de consulta son beneficiosas cuando se gestionan múltiples instancias de fuentes de datos, especialmente en entornos diversos.

Definición de variables para cuadros de mando personalizados

  1. Conéctese a su cuenta IBM Cloud.

  2. Acceda a su instancia IBM Cloud Logs

  3. Haga clic en el icono Cuadro de mandos Cuadro de mandos Cuadros de mandos > Cuadros de mandos personalizados.

  4. En un cuadro de mando nuevo o existente, haga clic en el icono Variable gestionada { }.

  5. Haz clic en + Variable.

  6. Para todos los tipos de variables, configure los siguientes campos:

    • Tipo variable.

    • Nombre de variable. El texto que se introduce en este campo determina cómo aparece el nombre de la variable en la consulta, por ejemplo, {{ podvalues }}. No se permiten mayúsculas ni espacios en el nombre de la variable.

    • Nombre para mostrar (opcional). El texto introducido en este campo aparece en la selección como parte de la lista desplegable, por ejemplo, "Mis Pods".

    • Opción de selección.

      Multivalor
      Multi-valor especifica que el usuario puede seleccionar múltiples valores dentro de una variable específica. Algunas consultas no admiten valores múltiples, como {{ variablename }}. Elija esta opción sólo si su consulta admite varios valores.
      Incluir todo
      Incluir todo puede seleccionarse cuando la opción multivalor está activada. La consulta seleccionará todos los valores disponibles y futuros para un periodo de tiempo concreto, independientemente de su selección específica. Cuando se seleccionan ambas opciones, se seleccionan por defecto todas las opciones variables, y se pueden deseleccionar una o varias. Si no se especifica ninguna de las dos opciones, puede seleccionar un valor de variable cada vez.
  7. Para variables de tipo query :

    • Especifique la fuente de consulta (logs o metrics).

    • Para variable type especifique values para logs. Para metrics especifique metric names, metric labels, o label values. Si selecciona metric labels, seleccione la etiqueta que se utilizará para los valores mostrados.

    • Para logs, defina el campo seleccionando una clave de registro que desee consultar. En la vista previa de valores se muestra una lista de los valores actuales de las variables en orden alfanumérico.

    • En metrics, en Metrics regex, introduzca una expresión regex para obtener la lista de métricas que desea mostrar. Por ejemplo, ^kube(.*) devuelve todos los nombres de métricas que empiezan por kube.

      • En label values, en Etiqueta métrica, elija la etiqueta para los valores mostrados. Haga que la etiqueta sea dinámica insertando una variable, por ejemplo Pod Name = {{ pod }}.

      • En label values, para los filtros de etiquetas, cree una o más variables anidadas y una capa de filtro adicional para su consulta. Por ejemplo, puede optar por filtrar las etiquetas por clúster seleccionando un valor que sea {{ podvalue }} o el nombre codificado de su clúster.

      • En metrics, para Nombre de visualización del valor de la variable, defina cómo se muestran los valores en la lista de selección desplegable.

        En la vista previa de valores se muestra una lista de los valores variables actuales del campo.

    • En Ordenar valores, seleccione cómo ordenar los datos en la Vista previa de valores.

  8. Pulse Guardar.

Las variables también pueden editarse o borrarse de la lista de variables definidas.

Utilización de variables en consultas

Además de utilizar variables en cuadros de mando personalizados, puede utilizar variables definidas en consultas Lucene, DataPrime, y PromQL.

Consultas Lucene

Puede utilizar variables definidas en las consultas de Lucene. Por ejemplo, product_id:{{ pid }} donde pid es el nombre de la variable (no el nombre para mostrar),

DataPrime consultas

Una vez creada una variable, los valores de la variable elegidos por el usuario pueden utilizarse como parámetros de consulta en una consulta DataPrime utilizando $p.<variable_name>.

PromQL consultas

Utilice {{ variable_name }} en el lenguaje de consulta PromQL.

Por ejemplo, la consulta PromQL sum(kube_pod_owner{pod=~"{{ pod }}"}) se utiliza para agregar métricas relacionadas con los pods Kubernetes. {pod=~"{{ pod }}"} es un selector de etiquetas que filtra la métrica kube_pod_owner para el pod específico cuyo nombre coincide con el valor de la variable. El marcador de posición {{ pod }} es una variable de plantilla, que sustituye al nombre real del pod cuando se ejecuta la consulta.

También puede utilizar variables predefinidas en su consulta PromQL.

Variables predefinidas PromQL
Variable Descripción Ejemplos
${__range} Esta variable representa la duración del intervalo de tiempo del cuadro de mandos. Se representa como una cadena de intervalos compatible con PromQL. Por ejemplo, si selecciona un intervalo de tiempo de 13.00 a 14.30, la variable ${__range} se calcula como 90m. 1d, 5m
${__range_s} Calculado como el número de segundos en el intervalo de tiempo seleccionado. 60s, 180s
${__range_ms} Calculado como el número de milisegundos en el intervalo de tiempo seleccionado. 60ms, 180ms

Por ejemplo, puede utilizar __range variable en sum_over_time.

sum_over_time(kube_pod_owner[${__range}])