Soluciona problemas de métricas basadas en registros

En esta página, se proporciona información para solucionar problemas de situaciones comunes cuando se usan métricas basadas en registros en Cloud Logging.

No se pueden ver ni crear métricas

Las métricas basadas en registros se aplican solo a un proyecto de Google Cloud o a un Bucket de registro dentro de un proyecto de Google Cloud. No puedes crear métricas basadas en registros para otros recursos de Google Cloud, como organizaciones o cuentas de facturación. Las métricas basadas en registros se calculan solo para los registros del proyecto o bucket de Google Cloud en el que se reciben.

Para crear métricas, necesitas los permisos correctos de Identity and Access Management. Para obtener más información, ver Control de acceso con la IAM: métricas basadas en registros.

Faltan datos de registros en la métrica

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

  • Es posible que las nuevas entradas de registro no coincidan con el filtro de tu métrica. Es una base de datos obtiene datos de entradas de registro coincidentes que se reciben cuando se cree una nueva 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 conteo de métricas esté retrasado. Aunque las entradas de registro contables aparecen en el Explorador de registros, la actualización de las métricas basadas en registros en Cloud Monitoring puede tardar hasta 10 minutos.

  • 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 Cloud Logging recibe una entrada de registro más de 24 horas antes, o 10 minutos después, la entrada de registro 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. el 20 de febrero de 2020 y una receivedTimestamp de 2:45 p.m. el 21 de febrero de 2020. Esta entrada no se contará en la métrica basada en registros.

  • La métrica basada en registros se creó después de la llegada de las entradas de registro que un recuento de la métrica. Las métricas basadas en registros evalúan las entradas de registro a medida que se almacenan en buckets de registro. Estas métricas no evalúan las entradas de registro almacenadas en Logging.

  • La métrica basada en registros tiene brechas en los datos. Se esperan algunas brechas de datos, porque los sistemas que procesan los datos de las métricas basadas en registros no garantizan la persistencia de cada dato métrico. Cuando se producen brechas, suelen ser poco frecuentes y de corta duración. Sin embargo, Si tienes una política de alertas que supervisa una métrica basada en registros, las brechas en los datos podría provocar una notificación falsa. La configuración que usas la política de alertas puede reducir esta posibilidad.

    Ejemplo: Se escribe una entrada de registro de "latido del servidor" cada cinco minutos, y una métrica basada en registros cuenta la cantidad de entradas de registro de "latido del servidor". Una alerta esta política resume los recuentos en un intervalo de cinco minutos y te notifica el total es menor que uno. Cuando a la serie temporal le falta un dato, la política de alertas inserta un valor sintético, que es un duplicado del muestra más reciente y es más probable que sea cero, y luego evalúa la condición. Por lo tanto, incluso un solo dato faltante en el valor sumado es cero, lo que hace que esta política de alertas envíe una notificación.

    Para reducir el riesgo de una notificación falsa, configura la política para que registre varios “latidos de corazón” las entradas de registro, no solo una.

El tipo de recurso aparece como "undefined" en Cloud Monitoring

Algunos tipos de recursos supervisados de Cloud Logging no se asignan directamente a los tipos de recursos supervisados de Cloud Monitoring. Por ejemplo, cuando crees una política de alertas o un gráfico a partir de una métrica basada en registros por primera vez, es posible que veas que el tipo de recurso es "no definido".

El tipo de recurso no está definido.

El tipo de recurso supervisado se asigna a global o a un tipo de recurso supervisado diferente en Cloud Monitoring. Consulta la sección Asignaciones para recursos de solo registro para determinar qué tipo de recurso supervisado debes elegir.

Los incidentes no se crean o son falsos positivos

Podrías obtener incidentes o situaciones falsos positivos en los que Monitoring no crea incidentes a partir basadas en registros porque el período de alineación para la política de alertas es demasiado corto. Es posible que encuentres falsos positivos en las siguientes situaciones:

  • Cuando una política de alertas usa la lógica menor que
  • Cuando una política de alertas se basa en una condición de percentiles para una métrica de distribución.
  • Cuando hay una brecha en los datos de las métricas.

Los incidentes de falsos positivos pueden ocurrir porque las entradas de registro se pueden enviar a Logging tarde. Por ejemplo, los campos de registro timestamp y receiveTimestamp pueden tener un delta de minutos en algunos casos. Además, cuando Logging almacena registros en buckets de registros, hay una demora inherente entre el momento en que se generan las entradas de registro y el momento en que Logging las recibe. Esto significa que Logging podría no tener el recuento total de una entrada de registro en particular hasta un momento posterior después de que se generaron las entradas de registro. Este es el motivo por el que una política de alertas con una lógica menor que o basada en una condición de percentil para una métrica de distribución puede producir una alerta de falsos positivos: aún no se tomaron en cuenta todas las entradas de registro.

Sin embargo, las métricas basadas en registros siempre tienen coherencia eventual. Las métricas basadas en registros tienen coherencia eventual porque una entrada de registro que coincide con una métrica basada en registros puede enviarse a Logging con una timestamp mucho más antigua o reciente que la receiveTimestamp del registro.

Esto significa que la métrica basada en registros puede recibir entradas de registro con marcas de tiempo más antiguas después de que Logging haya recibido entradas de registro existentes con la misma marca de tiempo. Por lo tanto, el valor de la métrica se debe actualizar.

Para que las notificaciones sean precisas, incluso si los datos son puntuales, recomendamos lo siguiente: debes establecer el período de alineación para que la condición sea de al menos 10 minutos. En particular, este valor debe ser lo suficientemente grande como para garantizar que varias entradas de registro que coincidan con tu filtro se cuentan. Por ejemplo, si una métrica basada en registros cuenta las entradas de registro de "heartbeat", que se esperan cada N minutos, establece el período de alineación en 2N minutos o 10 minutos, lo que sea mayor:

  • Si usas la consola de Google Cloud, usa el menú Ventana continua para establecer el período de alineación.

  • Si usas la API, usa el campo aggregations.alignmentPeriod de la condición para establecer el período de alineación.

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 en los que se muestra 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. Consulta Costos de Cloud Monitoring a fin de obtener más información.

Para 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.

  • Solo extraer valores de etiquetas con cardinalidad conocida; por ejemplo, el 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 aún más los resultados mediante el nombre de la métrica. Para obtener más información, consulta Selecciona métricas: filtros.

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

Cuando crees una métrica de contador o de distribución, elige una que sea único entre las métricas basadas en registros en tu proyecto de Google Cloud.

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 las métricas no son correctos

Observas que los valores informados para una métrica basada en registros a veces son diferentes de la cantidad de entradas de registro que informa el Explorador de registros.

Para minimizar la discrepancia, haz lo siguiente:

  • Asegúrate de que las aplicaciones no envíen entradas de registro duplicadas. Las entradas de registro tienen las siguientes características: se consideran duplicados cuando tienen los mismos timestamp y insertId. El Explorador de registros suprime automáticamente las entradas de registro duplicadas. Sin embargo, las métricas basadas en registros cuentan cada entrada de registro que coincide con el filtro de la métrica.

  • Asegúrate de que se envíe una entrada de registro a Cloud Logging cuando la marca de tiempo sea inferior a 24 horas en el pasado o inferior a 10 minutos en el futuro. Las métricas basadas en registros no cuentan las entradas de registro cuyas marcas de tiempo no se encuentran dentro de estos límites.

No puedes eliminar la posibilidad de que haya registros duplicados. Si se produce un error interno se produce durante el manejo de una entrada de registro, un proceso de reintento invoca Cloud Logging. El proceso de reintento puede generar una entrada de registro duplicada. Cuando existen entradas de registro duplicadas, el valor de una métrica basada en registros podría ser demasiado grande porque estas métricas cuentan cada entrada de registro que coincide con el filtro para la métrica.

Los valores de la etiqueta están truncados

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

No se puede borrar una métrica de registro personalizada

Intentas borrar una métrica personalizada basada en registros con la consola de Google Cloud. La solicitud de eliminación falla y se muestra el diálogo de eliminación el mensaje de error There is an unknown error while executing this operation.

Para resolver este problema, prueba lo siguiente:

  • Actualiza la página Métricas basadas en registros en la consola de Google Cloud. El error Es posible que se muestre un mensaje debido a un problema interno de sincronización.

  • Identifica y borra las políticas de alertas que supervisan la métrica basada en registros. Después de asegurarte de que una política de alertas no supervise la métrica basada en registros, bórala. Métricas basadas en registros que se supervisan por una política de alertas.