En esta página, se proporciona una descripción general conceptual de las métricas basadas en registros. Estas métricas pueden ayudarte a observar tendencias y patrones en un gran volumen de entradas de registro.
Acerca de las métricas basadas en registros
Las métricas basadas en registros son métricas de Cloud Monitoring que se derivan del contenido de las entradas de registro. Por ejemplo, puedes usar una métrica basada en registros para contar la cantidad de entradas de registro que contienen un mensaje específico o para extraer información sobre la latencia registrada en las entradas de registro. Puedes mostrar métricas basadas en registros en los gráficos de Cloud Monitoring, y las políticas de alertas pueden supervisar estas métricas.
Las métricas basadas en registros se pueden aplicar a nivel del proyecto o del bucket de registros. Las métricas basadas en registros con alcance de bucket son útiles cuando usas receptores agregados para enrutar entradas de registro a un bucket de registros y cuando enrutas entradas de registro de un proyecto a un bucket de registros en otro proyecto. Para obtener más información, consulta la sección de esta página titulada Fuentes de métricas basadas en registros.
Cómo se determinan los valores de las series temporales para las métricas basadas en registros
En esta sección, se describe brevemente cómo se determinan los valores de una serie temporal para una métrica basada en registros de tipo contador. También describe por qué una serie temporal de una métrica basada en registros podría tener brechas. El proceso es similar para las métricas basadas en registros con valor de distribución.
En el caso de las métricas basadas en registros de tipo contador, Logging hace lo siguiente:
Crea uno o más flujos de datos y, para cada flujo, administra un conjunto de contadores en la memoria.
Hay un flujo para cada combinación de valores únicos del conjunto de etiquetas de métricas y recursos. Cada contador en memoria es para un intervalo de tiempo diferente, pero cada contador registra la cantidad de entradas de registro que coinciden con el filtro y que tienen una marca de tiempo que corresponde al intervalo.
Cada minuto, para cada flujo, el backend de Logging usa los valores de los contadores en memoria para determinar cómo actualizar una serie temporal que administra Cloud Monitoring.
Si hay cinco transmisiones, Monitoring administra cinco series temporales. Puedes generar gráficos de estas series temporales. También puedes crear políticas de alertas para supervisar estas series temporales.
Ejemplo: Cómo los valores cero pueden provocar brechas en los datos
Considera la siguiente serie temporal:
Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)
En la expresión anterior, (T1, -)
significa que no se escribió ningún valor para el momento T1
. Esto corresponde a una brecha en los valores de la serie temporal.
En cambio, (T3, 0)
significa que el valor de la serie temporal en el momento T3
es cero.
Para cada flujo, el sistema de backend de las métricas basadas en registros usa las siguientes reglas para determinar qué valor escribir en la serie temporal almacenada por Monitoring:
Cuando el recuento agregado para un intervalo es distinto de cero, ese valor se escribe en la serie temporal.
En la serie temporal de ejemplo, solo el intervalo
T4
tiene un valor distinto de cero. El valor de1
indica que una entrada de registro con una marca de tiempo que corresponde al intervaloT4
coincidió con el filtro de la métrica basada en registros.Cuando el recuento agregado para un intervalo es cero, se escribe un valor de cero en la serie temporal cuando un intervalo adyacente tiene un valor distinto de cero.
En la serie temporal de ejemplo, en el momento
T3
, el recuento agregado es cero. Sin embargo, se escribe un valor de cero porque, en el momentoT4
, el recuento agregado no es cero. Del mismo modo, en el momentoT5
, el recuento agregado es cero. Se escribe un valor de cero en la serie temporal porque el valor del intervalo anterior no era cero.De lo contrario, no se actualiza la serie temporal y hay una brecha de datos para el intervalo.
En la serie temporal de ejemplo, no hay valores para los intervalos
T1
,T2
yT6
. En estos intervalos, los recuentos agregados fueron cero, y los recuentos de los intervalos adyacentes también fueron cero.
Control de entradas de registro tardías y futuras
Cuando las entradas de registro llegan con una marca de tiempo para un intervalo que ya se procesó, el backend de Logging genera datos históricos. Los datos históricos se usan para actualizar los recuentos escritos anteriormente.
Cuando las entradas de registro llegan con una marca de tiempo que está en el futuro, el backend de Logging acumula estos recuentos. En la serie temporal, estas entradas de registro se cuentan cuando su marca de tiempo corresponde al intervalo actual.
Fuentes de las métricas basadas en registros
Puedes usar las métricas definidas por Cloud Logging para recopilar información general sobre el uso y definir tu propia métrica basada en registros para captar información específica de tu aplicación o empresa.
Las métricas basadas en registros se pueden aplicar dentro de un solo proyecto Google Cloud o dentro de un bucket de registros. No puedes crear métricas basadas en registros para otros recursos de Google Cloud , como organizaciones o cuentas de Facturación de Cloud.
Para obtener información sobre las diferencias entre las métricas basadas en registros a nivel del proyecto y las métricas basadas en registros a nivel del bucket, consulta Métricas basadas en registros con alcance en el bucket.
Métricas definidas por el sistema
El registro proporciona un conjunto de métricas para los valores de uso, como la cantidad de entradas de registro almacenadas en los buckets de registros de tu proyecto o la cantidad de bytes que exportaste. Para obtener una lista completa de las métricas definidas por el sistema, consulta Métricas deGoogle Cloud : Logging.
Las métricas basadas en registros definidas por el sistema se aplican a nivel del proyecto.
El enrutador de registros cuenta una entrada de registro cuando se cumplen todas las siguientes condiciones:
- La entrada de registro pasa por los receptores de registros del proyecto en el que se define la métrica basada en registros.
La entrada de registro se almacena en un bucket de registros. El bucket de registros puede estar en cualquier proyecto.
Por ejemplo, supongamos que el proyecto
A
tiene un receptor de registros cuyo destino es el proyectoB
. También supongamos que los receptores de registros del proyectoB
enrutan las entradas de registro a un bucket de registros. En esta situación, las entradas de registro enrutadas desde el proyectoA
al proyectoB
contribuyen a las métricas basadas en registros definidas por el sistema del proyectoA
. Estas entradas de registro también contribuyen a las métricas basadas en registros definidas por el sistema del proyectoB
.
Métricas definidas por el usuario
Puedes crear métricas basadas en registros definidas por el usuario para hacer un seguimiento de otras métricas que sean importantes para tu proyecto. Por ejemplo, puedes crear una métrica basada en registros para contar la cantidad de entradas de registro que coinciden con un filtro determinado.
De forma predeterminada, las métricas basadas en registros definidas por el usuario se calculan a partir de todos los registros que recibe la API de Logging para el proyecto Google Cloud , independientemente de los filtros de inclusión o los filtros de exclusión que se puedan aplicar al proyectoGoogle Cloud .
También puedes crear métricas basadas en registros definidas por el usuario para un bucket de registros específico en un proyecto Google Cloud . Las métricas basadas en registros con permisos de bucket se calculan a partir de todos los registros destinados al bucket, independientemente de su origen. Para obtener más información, consulta Métricas basadas en registros en buckets de registros.
El enrutador de registros cuenta una entrada de registro cuando se cumplen todas las siguientes condiciones:
- La facturación está habilitada en el proyecto en el que se define la métrica basada en registros.
- En el caso de las métricas de permisos de bucket, la entrada de registro se almacena en el bucket de registros en el que se define la métrica basada en registros.
- En el caso de las métricas con alcance de proyecto, la entrada de registro pasa por los receptores de registros del proyecto en el que se define la métrica basada en registros.
Tipos de datos para las métricas basadas en registros
Las métricas basadas en registros pueden extraer datos de los registros para crear métricas de los siguientes tipos:
- Contador: Estas métricas cuentan la cantidad de entradas de registro que coinciden con un filtro especificado dentro de un período específico. Usa contadores cuando quieras hacer un seguimiento de la cantidad de veces que aparece un valor o una cadena en tus registros.
- Distribución: Estas métricas también cuentan valores, pero los recopilan en rangos de valores (buckets de histograma). Usa distribuciones cuando desees extraer valores como latencias.
- Booleanas: Estas métricas capturan si una entrada de registro coincide con un filtro especificado.
Las métricas basadas en registros definidas por el usuario pueden ser de contador o de distribución. La mayoría de las métricas basadas en registros y definidas por el sistema son contadores, pero algunas son del tipo booleano. Las características de los contadores y las distribuciones se describen con más detalle en las secciones posteriores.
Los datos de una métrica basada en registros definida por el usuario provienen solo de las entradas de registro recibidas después de que se crea la métrica. Una métrica no se propaga de forma retroactiva con datos de entradas de registro que ya están en Logging.
Las métricas basadas en registros del sistema se calculan solo a partir de los registros incluidos. Las métricas basadas en registros definidas por el usuario se calculan a partir de registros incluidos y excluidos.
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 un filtro determinado. Por ejemplo, puedes hacer lo siguiente:
- Cuenta las entradas de registro que contienen 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 que coincidan con este patrón:
... 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ónupdate
?”, “¿Cuántas personas llamaron a la operaciónread
?”, “¿Cuántas vecesgeorge
llamó a una operación?”, y así sucesivamente.
Para obtener más información, consulta Configura métricas de contadores.
Métricas de distribución
Las métricas de distribución acumulan datos numéricos de entradas de registro que coinciden con un filtro. Las métricas contienen una serie temporal de objetos de distribución, cada uno de los cuales 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 bucket s de histogramas con el conteo de valores en cada bucket. Puedes utilizar el diseño predeterminado del bucket 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 Cloud Monitoring.
Para obtener información sobre las distribuciones, incluido su formato dentro de una serie temporal y cómo se visualizan, consulta Crea gráficos de las métricas de distribución.
Si deseas obtener información para crear métricas de distribución basadas en registros, consulta Configura métricas de distribución.
Tipos de recursos
Te recomendamos que tus métricas basadas en registros especifiquen un solo tipo de recurso. Esta especificación garantiza que la serie temporal generada para tu métrica basada en registros coincida con el modelo de datos que espera Cloud Monitoring. También simplifica el proceso de crear gráficos y políticas de alertas, ya que no hay ambigüedad sobre qué datos de series temporales se grafican o supervisan.
Considera una métrica basada en registros con el siguiente filtro:
severity>="ERROR"
resource.type="gce_instance"
Cloud Monitoring reconoce que estos datos son para una instancia de VM de Compute Engine. Por lo tanto, cuando creas un gráfico para una instancia de VM, tu métrica basada en registros aparece como una opción en los menús. Cuando creas un gráfico para un tipo de recurso diferente, tu métrica basada en registros no aparece como una opción.
Si creas una métrica basada en registros sin especificar un tipo de recurso, Monitoring la incluirá como opción para varios tipos de recursos, aunque no cuentes las entradas de esos recursos.
Etiquetas
Las métricas basadas en registros pueden tener etiquetas, que permiten recopilar varias series temporales para la métrica. 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 combinación de valores de etiqueta.
La mayoría de las métricas basadas en registros proporcionan una etiqueta log
predeterminada.
Esta etiqueta contiene el valor de la parte LOG_ID del campo logName
en la entrada de registro, por ejemplo, cloudresourcemanager.googleapis.com%2Factivity
.
Las métricas basadas en registros del sistema tienen etiquetas predefinidas que no se pueden cambiar.
Las métricas basadas en registros definidas por el usuario pueden incluir etiquetas que definas. Por lo general, estas etiquetas extraen valores de las entradas de registro que contribuyen a la métrica basada en registros.
Por ejemplo, puedes usar etiquetas en la métrica basada en registros para registrar la carpeta o la organización desde la que se originó una entrada de registro, aunque no se puedan crear métricas basadas en registros con alcance de bucket para carpetas u organizaciones. Para obtener más información, consulta Etiquetas de métricas basadas en registros.
Gráficos y políticas de alertas en Cloud Monitoring
En Cloud Monitoring, puedes usar métricas basadas en registros, ya sean las definidas por el sistema o por el usuario, para crear gráficos y políticas de alertas. En estos gráficos y políticas de alertas, puedes usar etiquetas para filtrar o combinar series temporales. Por ejemplo, puedes establecer un filtro para mostrar solo ciertas series temporales. Para obtener más información, consulta Cómo enumerar y graficar métricas basadas en registros y Cómo generar alertas sobre métricas basadas en registros.
En Cloud Monitoring, las métricas basadas en registros usan los siguientes patrones de nombres:
- Sistema:
logging.googleapis.com/SYSTEM_METRIC_NAME
- Definido por el usuario:
logging.googleapis.com/user/USER_METRIC_NAME
Ten en cuenta que las métricas basadas en registros definidas por el usuario incluyen la cadena user
.
Visibilidad de los permisos de métricas de Monitoring
Cloud Monitoring transfiere las métricas basadas en registros, y un permiso de las métricas determina la visibilidad de los datos de métricas para un proyecto de Google Cloud . Un permiso de métricas es una lista de proyectos supervisados por el proyecto que aloja el permiso de métricas. El proyecto de hosting se denomina proyecto de permisos.
De forma predeterminada, cada proyecto aloja un permiso de métricas que solo se incluye a sí mismo, por lo que un proyecto es un proyecto de permisos para sí mismo. Por lo tanto, tus métricas, incluidas las métricas basadas en registros, solo son visibles para tu proyecto deGoogle Cloud .
También puedes crear un permiso de métricas de varios proyectos para el proyecto de permisos. Con un permiso de métricas de varios proyectos, el proyecto de permisos puede ver las métricas de todos los proyectos incluidos en el permiso de métricas. Lo que es visible para los proyectos individuales en un permiso de métricas de varios proyectos se determina según el permiso de métricas alojado por cada uno de esos proyectos. El hecho de que dos proyectos estén en un permiso de métricas de varios proyectos no significa que cada proyecto tenga acceso a los datos de métricas o de configuración del otro proyecto.
Un mismo proyecto también puede aparecer en varios permisos de métricas. Las métricas de ese proyecto son visibles para los proyectos de permisos de cada uno de esos permisos de métricas.
Las métricas, incluidas las basadas en registros, se definen dentro de un proyecto específico. Cuando ese proyecto aparece en varios permisos de métricas, las métricas son visibles para otros proyectos además de aquel en el que se definen. Para obtener información sobre cómo interactúan los permisos de métricas y las métricas basadas en registros con permisos de bucket, consulta Proyectos y permisos de métricas.
Para obtener más información sobre los permisos de métricas, incluidos los permisos de métricas de varios proyectos, y sobre los proyectos de permisos, consulta los siguientes recursos:
Limitaciones
No puedes crear métricas basadas en registros que cuenten la cantidad de entradas de registro que contienen un grupo de errores. Tampoco puedes extraer el ID de un grupo de errores en una etiqueta adjunta a una métrica basada en registros.
Precios
Todas las métricas basadas en registros definidas por el usuario son una clase de métricas personalizadas de Cloud Monitoring y son cobrables. Para obtener información sobre los precios, consulta Precios de Cloud Logging: Métricas basadas en registros.
Cuota
Para obtener información sobre las cuotas y los límites asociados con las métricas basadas en registros definidas por el usuario, consulta Cuotas y límites.
Soluciona problemas
Si tienes problemas cuando usas métricas basadas en registros, consulta Soluciona problemas de métricas basadas en registros.