En este documento, se describe cómo puedes agregar filtros permanentes a nivel del panel a tus paneles personalizados. Los filtros permanentes, que te permiten modificar los datos que muestra un panel sin tener que modificar cada widget, tienen un estado predeterminado y se pueden aplicar a todo el panel o solo a widgets específicos. La barra de herramientas del panel muestra cada filtro permanente, junto con un menú que te permite cambiar temporalmente el valor del filtro.
Cuando quieras definir una presentación predeterminada de los datos en un panel junto con opciones basadas en menús para modificar esa visualización, agrega filtros permanentes. Por ejemplo, si deseas ver las métricas de todas las zonas y también de una zona específica, crea un filtro permanente basado en la etiqueta zone
.
Puedes crear y aplicar filtros permanentes con la consola de Google Cloud o la API de Cloud Monitoring. En este documento, se describe cómo usar la console de Google Cloud. Para obtener información sobre el uso de la API de Cloud Monitoring, consulta Crea y administra paneles con la API: Filtros de paneles.
Si deseas obtener información para agregar y modificar filtros y agrupaciones temporales, consulta Agrega filtros temporales a un panel personalizado.
Cómo funcionan los filtros del panel
Un filtro de panel especifica una etiqueta y un valor. Las series temporales a las que las pantallas del panel determinan las etiquetas disponibles para filtrar. La forma en que un widget admite un filtro para todo el panel depende del tipo de datos que muestra y de la configuración del widget:
Para los widgets que muestran datos de series temporales, como gráficos de líneas, la se aplican las siguientes reglas:
Si la serie temporal que muestra el widget no admite la etiqueta en un filtro, el filtro del panel completo no cambia los datos que se muestran.
Por ejemplo, si agregas un filtro a la etiqueta
instance_id
, pero un gráfico del panel no muestra datos con una etiquetainstance_id
, el filtro no cambia los datos que se muestran.Si el widget especifica un valor para una etiqueta, entonces el filtro para todo el panel no cambia los datos que se muestran.
Por ejemplo, si agregas un filtro en la etiqueta
instance_id
, pero un gráfico incluye un filtro basado en la etiquetainstance_id
y, luego, el filtro para todo el panel no cambia los datos que se muestran.De lo contrario, el gráfico filtrará los datos que se mostrarán solo para aquellos que satisfacen el filtro de todo el panel.
En el caso de los widgets del panel de registros, los filtros del panel que se basan en una etiqueta de recurso actualizan la consulta. Por ejemplo, si agregas el filtro para todo el panel cluster_name: mycluster, entonces la consulta será para incluir resource.labels."cluster_name"="mycluster".
Puedes agregar varios filtros en todo el panel. Estos filtros se unen con un AND lógico
Antes de comenzar
A fin de obtener los permisos que necesitas para agregar o modificar filtros permanentes con la consola de Google Cloud,
solicita a tu administrador que te otorgue el
Rol de IAM de Editor de Monitoring (roles/monitoring.editor
) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Para obtener más información sobre los roles, consulta Controla el acceso con Identity and Access Management.
Crea un filtro permanente
Cuando diseñas un panel, puedes identificar varias formas de ver la
datos que muestra el panel. Por ejemplo, cuando un panel muestra métricas
Para instancias de VM, es posible que quieras ver las métricas de todas las VMs
y es posible que quiera ver las métricas
de las VMs de una zona específica. Puedes crear un filtro permanente para la etiqueta zone
con el valor predeterminado establecido en todas las zonas, *
. Cuando veas el panel, puedes usar el menú del filtro zone
para seleccionar una zona específica.
Puedes restringir un filtro permanente a widgets específicos. Supongamos que quieres obtener una vista en paralelo de las métricas para VMs en dos zonas diferentes. Construyes dos colecciones de gráficos y crear un filtro para cada colección. Tu configuración predeterminada cumpla con tu objetivo original. Sin embargo, cuando mires el panel, la barra de herramientas enumera tus variables e incluye menús que te permiten seleccionar diferentes de salida. Puedes usar estos menús para ver los datos de diferentes zonas.
Los filtros permanentes que solo se aplican a widgets específicos a veces se denominan variables de plantilla. Después de crear un filtro de este tipo, cuando agregues un widget a tu panel, también podrás aplicar el filtro a ese widget. Para obtener más información, consulta Cómo aplicar un filtro permanente a un widget.
Para crear un filtro permanente, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel, haz clic en settings Configuración y, luego, selecciona Administrar filtros.
- Haz clic en arrow_drop_down Etiqueta y, luego, selecciona una. Por ejemplo:
puedes seleccionar
zone
. Haz clic en arrow_drop_down Valor predeterminado y, luego, selecciona el valor predeterminado para la etiqueta. Para hacer coincidir todos los valores, selecciona
*
.Después de crear el filtro, se agregará a la barra de herramientas del panel. Para cambiar temporalmente el valor del filtro, selecciónalo y, luego, realiza una selección en el menú.
Realiza una de las siguientes acciones:
Para aplicar el filtro a todos los widgets del panel, haz lo siguiente: Selecciona Aplicar a todas y, luego, Aplicar.
Para crear una variable o aplicar el filtro a algunos widgets de la Panel:
- Borra Aplicar a todas.
- En el campo Nombre de variable, ingresa un nombre visible para el de salida.
Expande el menú Aplicar a gráficos y selecciona los widgets que se aplica el filtro y, luego, selecciona Aceptar.
Haz clic en Aplicar.
Cómo aplicar un filtro permanente a un widget
Para aplicar un filtro permanente a un widget, debes asociarlo con la variable:
En el caso de los gráficos que configuras con menús, puedes realizar esta asociación cuando creas o editas el filtro.
Para el panel de registros, edita el widget y configura la consulta predeterminada. Asegúrate de seguir las instrucciones de la sección titulada Sintaxis para aplicar un filtro permanente.
En el caso de los gráficos y las tablas definidos por MQL o PromQL, edita el gráfico o la tabla y, luego, modifica la MQL o PromQL. Asegúrate de seguir las instrucciones de la sección titulada Sintaxis para aplicar un filtro permanente.
Sintaxis para aplicar un filtro permanente
Por ejemplo, a continuación se muestra la representación JSON parcial de un panel que define una variable de plantilla y un filtro para todo el panel:
{ "dashboardFilters": [ { "filterType": "RESOURCE_LABEL", "labelKey": "instance_id", "stringValue": "3133577226154888113", "templateVariable": "iid" }, { "filterType": "RESOURCE_LABEL", "labelKey": "zone" } ], "displayName": "Illustrate Template Variables", ...
En el JSON que se muestra, la primera entrada en la estructura dashboardFilters
es para una variable de plantilla con el nombre iid
y un filtro para todo el panel con la clave de etiqueta zone
. La variable de plantilla es un alias de la etiqueta instance_id
.
La estructura de datos para una variable de plantilla no enumera los widgets para los cuales que se aplique. En su lugar, para asociar un widget con una variable de plantilla, debes modificar la consulta del widget para incluir una referencia a la variable. Cuando el widget se muestra en el panel, se resuelve el valor de la variable de plantilla.
Consulta las siguientes secciones para saber cómo anotar paneles y gráficos de registros:
- Panel de registros
- Gráficos y tablas definidos por MQL
- Gráficos y tablas definidos por PromQL
- Gráficos y tablas definidos con filtros de series temporales
Panel de registros
Para configurar un panel de registros que filtre la visualización según el valor de una variable de plantilla, agrega la variable al panel de consulta. En el siguiente ejemplo, se ilustra una búsqueda que filtra según el valor de la variable de plantilla iid
:
${iid}
Antes de que el panel de registros consulte los registros, la variable de plantilla
se haya resuelto. En este ejemplo, si el valor de la variable de plantilla
es "12345"
, luego, ${iid}
se reemplaza con la sentencia
resource.labels."instance_id"="12345"
También puedes incluir solo el valor de una variable de plantilla en una consulta. Te recomendamos que solo uses el valor como parte de un filtro definido con una expresión regular. Por ejemplo, la siguiente consulta usa una expresión regular para hacer coincidir las entradas de registro que tienen una carga útil de JSON que contiene la cadena descrita:
jsonPayload.message=~"Connected to instance: ${iid.value}"
Si configuraste una consulta para el panel de registros y, luego, seleccionas el botón para abrir el Explorador de registros, las variables de la plantilla se resuelven antes se abra el Explorador de registros.
En la siguiente tabla, se muestra cómo resuelve la variable de plantilla mediante la panel de registros:
Sintaxis | Selected Value |
Expresión del panel de registros resuelta |
---|---|---|
${iid} |
12345 |
resource.labels."instance_id"="12345" |
${iid} |
* |
"" |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.* |
Gráficos y tablas definidos por MQL
Cuando uses el lenguaje de consulta de Monitoring (MQL) para configurar un gráfico, agrega una canalización y el variable a la cadena de consulta:
fetch gce_instance | metric 'compute.googleapis.com/instance/cpu/utilization' | every 1m | ${iid}
Antes de que el gráfico consulte las series temporales que se mostrarán, la variable de plantilla
se haya resuelto. En este ejemplo, si el valor de la variable de plantilla
es "12345"
, luego, ${iid}
se reemplaza con la sentencia
filter (resource.instance_id == '12345')
Este filtro coincide con la hora
que tienen una etiqueta llamada resource.instance_id
, y solo cuando el valor
de esa etiqueta es exactamente 12345
.
Cuando quieras filtrar series temporales con una expresión regular,
configurar la consulta para que incluya solo el valor de la variable de plantilla.
Para ilustrar la sintaxis, a continuación, se muestra cómo usar una expresión regular para determinar si el valor de la etiqueta resource.instance_id
contiene el valor de la variable de plantilla 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
En la siguiente tabla, se muestra cómo se resuelve la variable de plantilla para las consultas de MQL:
Sintaxis | Valor seleccionado |
Expresión de MQL resuelta |
---|---|---|
${iid} |
12345 |
filter (resource.instance_id == '12345') |
${iid} |
* |
filter (true) |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.* |
Gráficos y tablas definidos por PromQL
Cuando definas un gráfico con PromQL, agrega el variable unida por llaves:
compute_googleapis_com:instance_cpu_utilization { project_id="my-project", ${iid} }
Antes de que el gráfico consulte las series temporales que se mostrarán, la variable de plantilla
se haya resuelto. En este ejemplo, si el valor de la variable de plantilla
es "12345"
, luego, ${iid}
se reemplaza con la sentencia
instance_id == '12345'
De manera similar a MQL, cuando defines un widget con PromQL, la consulta
solo puedes extraer el valor de la variable de plantilla. Te recomendamos que solo uses el valor como parte de un filtro definido con una expresión regular. Para
ilustramos la sintaxis; a continuación, se muestra cómo usar una expresión regular para
determina si el valor de la etiqueta instance_id
contiene el valor del
variable de plantilla iid
:
compute_googleapis_com:instance_cpu_utilization{ instance_id=~"${iid.value}" }
En la siguiente tabla, se muestra cómo se resuelve la variable de plantilla para PromQL. en la nube:
Sintaxis | Valor seleccionado |
Se resolvió la expresión de PromQL |
---|---|---|
${iid} |
12345 |
instance_id == '12345' |
${iid} |
* |
noop_filter=~".*" |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.+ |
Gráficos y tablas definidos con filtros de series temporales
Cuando definas un gráfico con filtros de series temporales, agrega la variable a la cadena de filtro:
"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\" resource.type=\"gce_instance\" ${iid}"
A diferencia de los gráficos definidos por MQL y PromQL, no puedes usar el valor de una variable de plantilla en un filtro de series temporales.
En la siguiente tabla, se muestra cómo se resuelve la variable de plantilla:
Sintaxis | Selected Value |
Expresión de filtro resuelta |
---|---|---|
${iid} |
12345 |
resource.instance_id == "12345" |
${iid} |
* |
Omitido |
${iid.value} |
12345 |
No compatible |
${iid.value} |
* |
No compatible |
Cómo modificar un filtro permanente
Para cambiar temporalmente el valor de cualquier filtro que se muestra en el panel en la barra de herramientas, haz clic en el nombre del filtro e ingresa un valor o crea del menú.
Si tu panel contiene una tabla que muestra datos de series temporales, entonces Puedes agregar filtros temporales o modificar filtros y variables permanentes; para ello, haz lo siguiente: con el botón filter_list Filtrar el panel en este valor de una celda. Cuando se selecciona este botón, se aplica un nuevo filtro temporal o se actualiza el valor de un filtro o una variable existente. Variables y filtros existentes se actualizan cuando la clave de etiqueta de la columna de la tabla coincide con la clave de etiqueta para un filtro o una variable.
Para cambiar la configuración de un filtro permanente, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel, haz clic en settings Configuración y, luego, selecciona Administrar filtros.
- Busca el filtro que quieres modificar y, luego, usa los menús para realizar las modificaciones.
- Haz clic en Aplicar.
Borrar un filtro permanente
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel, haz clic en settings Configuración. y, luego, selecciona Administrar filtros.
- Busca el filtro que quieres quitar y, luego, haz clic en Borrar.
- Haz clic en Aplicar.