En esta página se ofrece información conceptual sobre 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, puede usar una métrica basada en registros para contar el número de entradas de registro que contienen un mensaje concreto o para extraer información sobre la latencia registrada en las entradas de registro. Puedes mostrar métricas basadas en registros en gráficos de Cloud Monitoring y las políticas de alertas pueden monitorizar estas métricas.
Las métricas basadas en registros se pueden aplicar a nivel de proyecto o de segmento de registro. Las métricas basadas en registros con ámbito de segmento son útiles cuando usas sumideros agregados para enrutar entradas de registro a un segmento de registro y cuando enrutas entradas de registro de un proyecto a un segmento de registro de 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 de las métricas basadas en registros
En esta sección se describe brevemente cómo se determinan los valores de una serie temporal de una métrica basada en registros de tipo contador. También se describe por qué una serie temporal de una métrica basada en registros puede tener lagunas. El proceso es similar para las métricas basadas en registros con valores de distribución.
En el caso de las métricas basadas en registros de tipo contador, Logging hace lo siguiente:
Crea uno o varios flujos de datos y, en cada flujo, gestiona un conjunto de contadores en memoria.
Hay un flujo por cada combinación de valores únicos del conjunto de etiquetas de métrica y de recurso. Cada contador en memoria corresponde a un intervalo de tiempo diferente, pero cada contador registra el número 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 gestionada por Cloud Monitoring.
Si hay cinco flujos, significa que Monitoring gestiona cinco series temporales. Puedes representar estas series temporales en un gráfico. También puedes crear políticas de alertas para monitorizar estas series temporales.
Ejemplo: cómo pueden provocar lagunas de datos los valores cero
Consideremos 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 ha escrito ningún valor
para la hora T1
. Esto se corresponde con un hueco en los valores de la serie temporal.
Por el contrario, (T3, 0)
significa que el valor de la serie temporal en el momento T3
es cero.
En cada flujo, el sistema backend de las métricas basadas en registros usa las siguientes reglas para determinar qué valor se debe escribir en la serie temporal almacenada por Monitoring:
Cuando el recuento agregado de 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
coincide con el filtro de la métrica basada en registros.Cuando el recuento agregado de un intervalo es cero, se escribe un valor 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 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 cero en la serie temporal porque el valor del intervalo anterior era distinto de cero.De lo contrario, la serie temporal no se actualizará y habrá un vacío de datos en el intervalo.
En la serie temporal de ejemplo, no hay ningún valor para los intervalos
T1
,T2
yT6
. En estos intervalos, los recuentos agregados eran cero y los recuentos de los intervalos adyacentes también eran cero.
Gestión de entradas de registro futuras y que llegan tarde
Cuando llegan entradas de registro con una marca de tiempo de un intervalo que ya se ha procesado, el backend de Logging genera datos históricos. El historial de datos se usa para actualizar los recuentos escritos anteriormente.
Cuando llegan entradas de registro con una marca de tiempo futura, el backend de registro acumula estos recuentos. En la serie temporal, estas entradas de registro se contabilizan cuando su marca de tiempo corresponde al intervalo actual.
Fuentes de métricas basadas en registros
Puede usar las métricas definidas por Cloud Logging para recoger información general sobre el uso y definir sus propias métricas basadas en registros para obtener información específica sobre su aplicación o empresa.
Las métricas basadas en registros se pueden aplicar en un solo proyecto Google Cloud o en un segmento de registro. No puedes crear métricas basadas en registros para otros recursos de Google Cloud , como cuentas de facturación de Cloud u organizaciones.
Para obtener información sobre las diferencias entre las métricas basadas en registros de un proyecto y las métricas basadas en registros de un contenedor, consulta Métricas basadas en registros de un contenedor.
Métricas definidas por el sistema
Logging proporciona un conjunto de métricas para los valores de uso, como el número de entradas de registro almacenadas en segmentos de registros de tu proyecto o el número de bytes que has exportado. Para ver una lista completa de las métricas definidas por el sistema, consulta las métricas deGoogle Cloud : registro.
Las métricas basadas en registros definidas por el sistema se aplican a nivel de proyecto.
El enrutador de registros cuenta una entrada de registro cuando se cumplen todas las condiciones siguientes:
- La entrada de registro pasa por los sumideros de registro del proyecto en el que se define la métrica basada en registros.
La entrada de registro se almacena en un segmento de registros. El segmento de registros puede estar en cualquier proyecto.
Por ejemplo, supongamos que el proyecto
A
tiene un receptor de registro cuyo destino es el proyectoB
. Supongamos también que los sumideros de registros del proyectoB
enrutan las entradas de registro a un segmento de registros. En este caso, las entradas de registro enrutadas del 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
Puede crear métricas basadas en registros definidas por el usuario para monitorizar otras métricas que sean importantes para su proyecto. Por ejemplo, puede crear una métrica basada en registros para contar el número de entradas de registro que coinciden con un filtro concreto.
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 Logging del Google Cloud proyecto Google Cloud , independientemente de los filtros de inclusión o los filtros de exclusión que se puedan aplicar alGoogle Cloud proyectoGoogle Cloud .
También puede crear métricas basadas en registros definidas por el usuario para un segmento de registros específico de un Google Cloud proyecto. Las métricas basadas en registros con ámbito de contenedor se calculan a partir de todos los registros destinados al contenedor, independientemente de su origen. Para obtener más información, consulta el artículo sobre métricas basadas en registros en segmentos de registro.
El enrutador de registros cuenta una entrada de registro cuando se cumplen todas las condiciones siguientes:
- 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 ámbito de segmento, la entrada de registro se almacena en el segmento de registros en el que se define la métrica basada en registros.
- En el caso de las métricas de ámbito de proyecto, la entrada de registro pasa por los sumideros de registro del proyecto en el que se define la métrica basada en registros.
Tipos de datos de 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 el número de entradas de registro que coinciden con un filtro específico en un periodo concreto. Usa contadores cuando quieras hacer un seguimiento del número de veces que aparece un valor o una cadena en tus registros.
- Distribución: estas métricas también cuentan valores, pero los recogen en intervalos de valores (contenedores de histogramas). Usa distribuciones cuando quieras extraer valores como latencias.
- Booleano: estas métricas registran si una entrada de registro coincide o no con un filtro especificado.
Las métricas basadas en registros definidas por el usuario pueden ser de tipo contador o de distribución. La mayoría de las métricas basadas en registros definidas por el sistema son contadores, pero algunas son de 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 proceden únicamente de las entradas de registro recibidas después de crear la métrica. Las métricas no se rellenan 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 únicamente a partir de los registros incluidos. Las métricas basadas en registros definidas por el usuario se calculan a partir de los registros incluidos y excluidos.
En las siguientes secciones se describen las características de las métricas de tipo contador y de tipo distribución.
Métricas de contador
Las métricas de contador cuentan el número de entradas de registro que coinciden con un filtro concreto. Por ejemplo, puedes hacer lo siguiente:
- Cuenta las entradas de registro que contengan un mensaje de error específico.
Cuenta el número de veces que cada usuario invoca una operación buscando mensajes de registro que coincidan con este patrón:
... user USERNAME called OPERATION ...
Si extrae USERNAME y OPERATION y los usa como valores de dos etiquetas, más adelante podrá preguntar "¿Cuántas veces ha llamado
sally
a la operaciónupdate
?". "¿Cuántas personas han llamado a laread
operación?", "¿Cuántas veces ha llamadogeorge
a una operación?", etc.
Para obtener más información, consulta Configurar métricas de contador.
Métricas de distribución
Las métricas de distribución acumulan datos numéricos de las 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 incluye lo siguiente:
- Recuento del número de valores de la distribución.
- La media de los valores.
- La suma de las desviaciones al cuadrado: Sumi=1..n(xi–media)2
- Conjunto de segmentos de histograma con el recuento de valores de cada segmento. Puedes usar el diseño de contenedor predeterminado o elegir el que quieras.
Un uso habitual de las métricas de distribución es monitorizar las latencias. A medida que se recibe cada entrada de registro, se extrae un valor de latencia de algún lugar de la entrada de registro y se añade a la distribución. A intervalos regulares, la distribución acumulada se escribe en Cloud Monitoring.
Para obtener información sobre las distribuciones, incluido su formato en una serie temporal y cómo se visualizan, consulte Crear gráficos de métricas de distribución.
Para obtener información sobre cómo crear métricas de distribución basadas en registros, consulta Configurar métricas de distribución.
Tipos de recursos
Te recomendamos que tus métricas basadas en registros especifiquen un único tipo de recurso. Esta especificación asegura 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 en cuanto a qué datos de series temporales se representan en un gráfico o se monitorizan.
Imagina una métrica basada en registros con el siguiente filtro:
severity>="ERROR"
resource.type="gce_instance"
Cloud Monitoring reconoce que estos datos corresponden a una instancia de máquina virtual 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 otro tipo de recurso, tu métrica basada en registros no aparece como opción.
Si creas una métrica basada en registros sin especificar un tipo de recurso, Monitoring mostrará tu métrica basada en registros como una 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, lo que permite recoger varias series temporales para la métrica. Los valores de las etiquetas se extraen de los campos de las entradas de registro coincidentes. El registro escribe series temporales independientes 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
de 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. Normalmente, 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 de la que procede una entrada de registro, aunque no se puedan crear métricas basadas en registros con ámbito de contenedor 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
Puedes usar métricas basadas en registros definidas por el sistema y por el usuario en Cloud Monitoring para crear gráficos y políticas de alertas. En estos gráficos y políticas de alertas, puede usar etiquetas para filtrar o combinar series temporales. Por ejemplo, puede definir un filtro para que solo se muestren determinadas series temporales. Para obtener más información, consulta los artículos Crear listas y gráficos de métricas basadas en registros y Crear alertas de métricas basadas en registros.
En Cloud Monitoring, las métricas basadas en registros usan los siguientes patrones de nomenclatura:
- 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 ámbitos de las métricas de Monitoring
Cloud Monitoring ingiere las métricas basadas en registros, y la visibilidad de los datos de métricas de un Google Cloud proyecto se determina mediante un permiso de métricas. Un ámbito de las métricas es una lista de proyectos monitorizados por el proyecto que aloja el ámbito de las métricas. El proyecto de alojamiento se denomina proyecto de ámbito.
De forma predeterminada, cada proyecto aloja un ámbito de métricas que solo se incluye a sí mismo, por lo que un proyecto es un proyecto de ámbito para sí mismo. Por lo tanto, sus métricas, incluidas las basadas en registros, solo son visibles para su proyectoGoogle Cloud .
También puedes crear un ámbito de métricas de varios proyectos para el proyecto de ámbito. Con un ámbito de métricas de varios proyectos, el proyecto de ámbito puede ver las métricas de todos los proyectos del ámbito de métricas. Lo que pueden ver los proyectos individuales en un ámbito de métricas de varios proyectos se determina en función del ámbito de métricas alojado en cada uno de esos proyectos. El hecho de que dos proyectos estén en un ámbito 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 ámbitos de métricas. Las métricas de un proyecto de este tipo son visibles para los proyectos de ámbito de cada uno de esos ámbitos de métricas.
Las métricas, incluidas las basadas en registros, se definen en un proyecto específico. Si ese proyecto aparece en varios ámbitos de métricas, las métricas serán visibles para otros proyectos distintos de aquel en el que se definan. Para obtener información sobre cómo interactúan los ámbitos de las métricas y las métricas basadas en registros con ámbito de contenedor, consulta Ámbitos de proyectos y métricas.
Para obtener más información sobre los ámbitos de las métricas, incluidos los ámbitos de métricas de varios proyectos, y sobre cómo definir el ámbito de los proyectos, consulta los siguientes artículos:
Limitaciones
No puede crear métricas basadas en registros que cuenten el número de entradas de registro que contengan un grupo de errores. Tampoco puedes extraer el ID de un grupo de errores en una etiqueta asociada a una métrica basada en registros.
Precios
Todas las métricas basadas en registros definidas por el usuario son un tipo de métricas personalizadas de Cloud Monitoring y son facturables. Para obtener información sobre los precios, consulta la página Precios de las métricas basadas en registros.
Cuota
Para obtener información sobre las cuotas y los límites asociados a las métricas basadas en registros definidas por el usuario, consulta Cuotas y límites.
Solución de problemas
Si tiene problemas al usar métricas basadas en registros, consulte Solucionar problemas con métricas basadas en registros.