Descripción general de las métricas basadas en registros

En esta página, se proporciona una descripción general conceptual de las métricas basadas en registros.

Las métricas basadas en registros son métricas de Stackdriver Monitoring que se basan en el contenido de las entradas de registro. Por ejemplo, pueden registrar la cantidad de entradas de registro que contienen mensajes particulares o pueden extraer información sobre la latencia informada en entradas de registro. Puedes usar métricas basadas en registros en los gráficos de Stackdriver Monitoring y en las políticas de alertas.

A las métricas del sistema (basadas en registros) las predefine Logging. Estas métricas registran la cantidad de eventos de registro que ocurrieron dentro de un período específico.

A las métricas definidas por el usuario (basadas en registros) las crea un usuario en un proyecto. Cuentan la cantidad de entradas de registro que coinciden con una consulta determinada o hacen un seguimiento de valores específicos dentro de las entradas de registro coincidentes.

El registro acumula información para las métricas basadas en registros cada vez que recibe una entrada de registro que coincida. Logging escribe 1 dato nuevo por minuto en la serie temporal de la métrica, lo que permite que los datos estén disponibles para Stackdriver Monitoring.

Los datos para las métricas basadas en registros provienen de entradas de registro recibidas una vez que se crearon las métricas. Las métricas no se propagan con datos de entradas de registro que ya están en Logging.

Comienza ahora

  1. Ve a la página Stackdriver Logging > Métricas basadas en registros (Logs-based metrics) en Cloud Console:

    Ir a la página Métricas basadas en registros

  2. Selecciona un proyecto existente de Google Cloud en la parte superior de la página. Aparecerán las listas de métricas basadas en registros de tu proyecto de Google Cloud:

La interfaz de usuario que muestra las listas de métricas basadas en registros.

Control de acceso

Las funciones y los permisos de Cloud Identity and Access Management rigen el acceso a los datos de Google Cloud. A continuación, se incluye un resumen de las funciones y los permisos comunes que un miembro del proyecto de Google Cloud necesita para acceder a las métricas basadas en registros:

  • Escritor de configuración de registros/Logging (roles/logging.configWriter) te permite enumerar, crear, obtener, actualizar y borrar métricas basadas en registros.

  • Visor de registros/Logging (roles/logging.viewer) te permite ver las métricas existentes. También puedes agregar los permisos logging.logMetrics.get y logging.logMetrics.list a una función personalizada.

  • Visualizador de Monitoring (roles/monitoring.viewer) te permite leer las series temporales que contiene la métrica basada en registros. También puedes agregar el permiso monitoring.timeSeries.list a una función personalizada.

  • Administrador de Logging (roles/logging.admin ), Editor (roles/editor ) y Propietario (roles/owner ) son funciones de amplio nivel que contienen el permiso para crear métricas basadas en registros (logging.logMetrics.create).

Para obtener más información, ve a Guía de control de acceso.

Interfaz de métricas basadas en registros

La interfaz de métricas basadas en registros se divide en dos áreas: Métricas del sistema y Métricas definidas por el usuario.

Ambas áreas contienen un resumen en tabla de las métricas. Cada fila de la tabla tiene un menú que incluye las siguientes opciones:

Las listas de métricas basadas en registros que muestran el menú ampliado.

  • Ver en el Explorador de métricas (View in Metrics Explorer) te permite ver los datos de una métrica basada en registros del sistema con solo abrir el Explorador de métricas de Stackdriver Monitoring.

    Puedes usar el Explorador de métricas a fin de especificar una métrica de destino para una política de alertas. El gráfico junto a la región de Destino te brinda comentarios visuales sobre los datos capturados por la métrica de destino.

  • Crear alerta a partir de métricas (Create alert from metric) te permite crear políticas de alertas relacionadas con tu métrica basada en registros.

    Cuando seleccionas esta opción, se abre la consola de Stackdriver Monitoring, donde puedes crear, editar y administrar las políticas de alertas. Para obtener más información, consulta Crea gráficos y alertas.

Interfaz de métricas definidas por el usuario

El área de métricas definidas por el usuario de la interfaz de métricas basadas en registros tiene diferentes funciones adicionales que te ayudan a administrar las métricas definidas por el usuario en un proyecto:

  • En la tabla de métricas definidas por el usuario, se incluyen columnas de Nombre (Name), Descripción (Description), Tipo (Type) y Filtro (Filter). Estas se especifican cuando se crea la métrica.

  • La casilla Filtrar métricas (Filter Metrics), te permite filtrar la lista de métricas según búsqueda de texto o Nombre (Name), Descripción (Description) y Filtro (Filter) de la métrica:

Las listas de métricas basadas en registros que muestran las opciones de filtro.

  • En la tabla de métricas definidas por el usuario se incluyen columnas de Uso del mes anterior y Uso (este mes, hasta la fecha). Estas métricas de uso son útiles, por ejemplo, si deseas determinar qué métricas transfieren la mayor cantidad de datos o estimar tus facturas.

  • Puedes Editar la métrica y Borrar la métrica mediante el menú al final de una fila de la tabla.

Además, si haces clic en cualquiera de los nombres de columna, podrás ordenar datos en orden ascendente o descendente. En la parte inferior de la tabla, también puedes seleccionar la cantidad de filas que deseas mostrar.

Para obtener más información sobre cómo administrar las métricas definidas por el usuario mediante Cloud Console, consulta Crea métricas de contadores y Crea métricas de distribución.

Descripción general de tipos de métricas basadas en registros

Las métricas basadas en registros de Logging pueden ser de uno de estos tipos: de contador o de distribución. Todas las métricas basadas en registros del sistema son del tipo de contador. Las métricas basadas en registros y definidas por el usuario pueden ser de contador o de distribución.

Cada dato en la serie temporal de una métrica basada en registros representa solamente la información adicional (el delta) recibido desde el dato anterior.

En las siguientes secciones se describen las características de las métricas de tipo contador y distribución.

Métricas de contador

Las métricas de contador cuentan la cantidad de entradas de registro que coinciden con una consulta de registros avanzada. Por ejemplo, puedes hacer lo siguiente:

  • Crear una métrica que cuente entradas de registro que contengan un mensaje de error específico
  • Hacer un recuento de las veces que cada usuario invoca una operación mediante la búsqueda de mensajes de registro como este:

    ... user [USERNAME] called  [OPERATION] ...
    

    Si extraes [USERNAME] y [OPERATION] a fin de usarlos como valores para dos etiquetas, más adelante puedes preguntar “¿Cuántas veces llamó sally a la operación UPDATE?”, “¿Cuántas personas llamaron a la operación READ?”, “¿Cuántas veces george llamó a una operación?”, y así sucesivamente.

Para obtener más información, ve a Crea métricas de contadores.

Métricas de distribución

Las métricas de distribución acumulan datos numéricos de las entradas de registro que coinciden con una consulta. Las métricas contienen una serie temporal de objetos de distribución y cada uno contiene lo siguiente:

  • Un conteo de la cantidad de valores en la distribución
  • La media de los valores
  • La suma de las desviaciones al cuadrado: Suma i=1..n(x i–media)2
  • Un conjunto de depósitos de histogramas con el conteo de valores en cada depósito. Puedes utilizar el diseño predeterminado del depósito o elegir uno propio

Un uso común para las métricas de distribución es para hacer un seguimiento de las latencias. A medida que se reciben las entradas de registro, se extrae un valor de latencia de algún lugar en la entrada de registro y se lo agrega a la distribución. En intervalos periódicos, la distribución acumulada se escribe en Stackdriver Monitoring.

Para obtener más información, consulta Crea métricas de distribución.

Etiquetas

Las métricas basadas en registros tienen la opción de tener etiquetas, que permiten que una sola métrica tenga diferentes series temporales. Los valores de las etiquetas se extraen de los campos en las entradas de registro que coinciden. Los registros de Logging separan series temporales para cada valor diferente de tu etiqueta.

Las métricas basadas en registros del sistema tienen etiquetas predefinidas. Puedes definir tus propias etiquetas para las métricas definidas por el usuario. Para obtener más información, lee Etiquetas de métricas basadas en registros.

Métricas basadas en registros del sistema

Logging proporciona algunas métricas de contador predefinidas que supervisan la cantidad y el volumen de las entradas de registro recibidas. Estas métricas tienen etiquetas que registran los recuentos según el nombre del registro y el nivel de gravedad. En la siguiente tabla se detallan las métricas:

Nombre y descripción de la métrica Tipo Valor Etiquetas
logging.googleapis.com/log_entry_count

La cantidad total de entradas de registro recibidas.

delta int64 log: El nombre del registro. Ejemplo: "appengine.googleapis.com/request_log".

severity: La gravedad de las entradas de registro. Ejemplo: "ERROR".

logging.googleapis.com/byte_count

La cantidad total de bytes recibidos en entradas de registro.

delta int64 log: El nombre del registro. Ejemplo: "appengine.googleapis.com/request_log".
logging.googleapis.com/excluded_log_entry_count

La cantidad total de entradas de registro que se excluyeron.

delta int64
logging.googleapis.com/excluded_byte_count

La cantidad total de bytes en entradas de registro que se excluyeron.

delta int64
logging.googleapis.com/exports/log_entry_count

La cantidad total de entradas de registro que se exportaron con receptores.

delta int64
logging.googleapis.com/exports/byte_count

La cantidad total de bytes en las entradas de registro que se exportaron con receptores.

delta int64
logging.googleapis.com/exports/error_count

La cantidad total de entradas de registro que no se exportaron debido a errores de configuración en la exportación.

delta int64
logging.googleapis.com/logs_based_metrics_error_count

La cantidad de entradas de registro tardías.1

delta int64 log: El nombre del registro. Ejemplo: "appengine.googleapis.com/request_log".

1 Las entradas de registro tardías no se incluyen en las métricas log_entry_count o byte_count.

Para obtener una lista completa de las métricas basadas en registros del sistema, consulta las métricas de Logging.

Stackdriver Monitoring

En Stackdriver Monitoring, puedes usar tanto métricas del sistema basadas en registros como definidas por el usuario para crear gráficos y políticas de alertas. Los nombres de las métricas basadas en registros definidas por el usuario tienen el prefijo user/; las métricas basadas en registros del sistema no lo tienen.

Si usas la API de Stackdriver Monitoring, los nombres de las métricas basadas en registros son los siguientes:

logging.googleapis.com/user/[USER_METRIC_NAME]
logging.googleapis.com/[SYSTEM_METRIC_NAME]

Para obtener más información, consulta Crea gráficos y alertas.

Soluciona problemas

A la métrica le faltan datos de registros

Existen diferentes razones por las cuales podrían faltar datos en métricas basadas en registros:

  • Es posible que las entradas de registro nuevas no coincidan con la consulta de registros de tu métrica. Una métrica basada en registros obtiene datos de entradas de registro coincidentes y que se reciben una vez que se creó la métrica. Logging no reabastece la métrica a partir de las entradas de registro anteriores.

  • Es posible que las entradas de registro nuevas no contengan el campo correcto, o los datos podrían no estar en el formato correcto para que tu métrica de distribución la extraiga. Controla que los nombres de tu campo y las expresiones regulares sean las correctas.

  • Es posible que el recuento de métricas esté demorado. Aunque las entradas de registro contables aparecen en el visor de registros, la actualización de las métricas basadas en registros en Stackdriver Monitoring demora hasta un minuto.

  • Es posible que las entradas de registro que se muestran cuenten con demora, o que ni siquiera se cuenten, ya que tienen una marca de tiempo demasiado lejana en el pasado o futuro. Si se recibe una entrada de registro más de 1 hora antes o después, entonces esta no se contará en la métrica basada en registros.

    Se registra la cantidad de entradas tardías para cada registro en la métrica basada en registros del sistema logging.googleapis.com/logs_based_metrics_error_count.

    Ejemplo: Una entrada de registro que coincide con una métrica basada en registros llega tarde. Tiene una timestamp de 2:30 p.m. y una receivedTimestamp de 2:45 p.m. Esta entrada no se contará en la métrica basada en registros.

La métrica tiene demasiadas series temporales

La cantidad de series temporales en una métrica depende de la cantidad de combinaciones diferentes en los valores de etiquetas. La cantidad de series temporales se denomina cardinalidad de la métrica y no debe superar las 30,000.

Dado que puedes generar una serie temporal para cada combinación de valores de etiqueta, si tienes una o más etiquetas con un número alto de valores, no es difícil superar las 30,000 series temporales. Evita las métricas de cardinalidad alta.

A medida que la cardinalidad de una métrica aumenta, esta podría acelerarse y causar que algunos datos no se escriban en ella. Los gráficos que muestran la métrica pueden tardar en cargarse debido a la gran cantidad de series temporales que el gráfico tiene que procesar. Es posible que incurras en costos por las llamadas a la API para consultar los datos de series temporales; visita la página sobre los costos de Stackdriver Monitoring a fin de obtener más información.

A fin de evitar crear métricas con cardinalidad elevada, sigue estos pasos:

  • Verifica que tus campos de etiquetas y las expresiones regulares del extractor coincidan con valores que tienen una cardinalidad limitada.

  • Evita extraer mensajes de texto que pueden cambiar, sin límites, como valores de etiquetas.

  • Evita extraer valores numéricos con cardinalidad ilimitada.

  • Solamente extrae valores de etiquetas con cardinalidad conocida; por ejemplo, códigos de estado con un conjunto de valores conocidos.

Estas dos métricas basadas en registros del sistema pueden ayudarte a medir el efecto de agregar o quitar etiquetas en la cardinalidad de tu métrica:

Cuando inspeccionas estas métricas, puedes filtrar los resultados por el nombre de la métrica. Para obtener más información, consulta la sección sobre filtros de Selecciona métricas.

El nombre de la métrica no es válido

Cuando creas una métrica de contador o de distribución, elige un nombre de métrica único entre las métricas basadas en registros en tu proyecto.

Las strings de nombres de métricas no deben exceder los 100 caracteres y pueden incluir solamente los que se muestran a continuación:

  • A-Z
  • a-z
  • 0-9
  • Los caracteres especiales _-.,+!*',()%\/.

    El carácter de barra diagonal / denota una relación jerárquica de las partes dentro del nombre de la métrica y no se puede usar como primer carácter del nombre.

Los valores de la etiqueta están truncados

Los valores de las etiquetas definidas por el usuario no deben exceder los 1,024 bytes.util