Utilice la función de transformación de datos e_to_metric para convertir los campos de registro de un Logstore en métricas dentro de un MetricStore y así monitorear su evolución a lo largo del tiempo.
Contexto
Los datos de ejecución de las aplicaciones se dividen en tres categorías: registros, trazas y métricas. Los registros documentan eventos discretos, las trazas rastrean solicitudes a través de un sistema y las métricas capturan mediciones numéricas a lo largo del tiempo. Log Service ofrece dos tipos de almacenamiento para estos datos:
-
Logstore
Un Logstore permite recopilar, almacenar y consultar registros en Log Service. Logstore.
-
MetricStore
Un MetricStore permite recopilar, almacenar y consultar métricas en Log Service. Los MetricStore admiten consultas PromQL y son compatibles con el protocolo Prometheus. MetricStore.
Por lo general, los datos de registro son más exhaustivos que los datos de métricas; de hecho, una métrica es esencialmente una entrada de registro estructurada. Log Service admite dos métodos para convertir registros en métricas:
Scheduled SQL: agrega registros para generar métricas. Create a scheduled SQL job to import data from a Logstore to a MetricStore.
La función de transformación de datos e_to_metric: convierte campos de registro de un Logstore en métricas de series temporales.
Escenario
Existe un Logstore llamado nginx-demo en la región China (Hangzhou) que almacena registros de acceso de NGINX.
Para monitorear las tendencias de request_time (duración de la solicitud) y upstream_response_time (tiempo de respuesta del upstream) por servidor backend, convierta estos campos del Logstore en métricas con una etiqueta basada en el campo host.
body_bytes_sent:1750
host:www.example.com
http_referer:www.guide.example.com
http_user_agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; it-it) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27
http_x_forwarded_for:203.0.113.10
remote_addr:203.0.113.10
remote_user:p288
request_length:13741
request_method:GET
request_time:71
request_uri:/request/path-1/file-1
status:200
time_local:11/Aug/2021:06:52:27
upstream_response_time:0.66
Requisitos previos
Se han recopilado los datos de registro. Data collection.
Paso 1: Crear un MetricStore
Cree un MetricStore llamado service-metric para almacenar las métricas transformadas.
Inicie sesión en la consola de Simple Log Service.
-
En la sección Projects, haga clic en el proyecto deseado.

En la pestaña , haga clic en el icono +.
-
En el panel Create Metricstore, configure los siguientes parámetros y haga clic en OK.
Parámetro
Descripción
Metricstore Name
Nombre del metricstore. Debe ser único dentro del proyecto. No se puede modificar después de la creación.
Data Retention Period
Durante cuánto tiempo se conservan las métricas en el metricstore.
-
Specified Days: Conserva las métricas de 1 a 3000 días.
Aviso-
Las métricas Expired se eliminan automáticamente.
-
Si reduce el periodo de retención, SLS elimina las métricas Expired en un plazo de 1 hora. La sección Usage Details en la página principal de la consola de SLS se actualiza al día siguiente. Por ejemplo, si cambia el periodo de retención de 5 a 1 día, se eliminarán las métricas de los cuatro días anteriores en menos de 1 hora.
-
-
Permanent Storage: Conserva las métricas indefinidamente.
NotaUn periodo de retención de 3650 devuelto por el SDK indica almacenamiento permanente.
Shards
Número de shards. Cada shard admite 5 MB/s y 500 escrituras/s para escritura, y 10 MB/s y 100 lecturas/s para lectura. Máximo: 10 shards por metricstore, 200 por proyecto. Para obtener más información, consulte Shard.
Automatic Sharding
Si activa Automatic Sharding, SLS aumenta los shards cuando la capacidad de escritura es insuficiente. Para obtener más información, consulte Manage shards.
Maximum Shards
Obligatorio cuando Automatic Sharding está habilitado. Número máximo de shards de lectura/escritura. Valor máximo: 256.
-
Paso 2: Crear un trabajo de transformación de datos
Utilice la función e_to_metric para crear un trabajo de transformación de datos que envíe los resultados al MetricStore creado en el Paso 1.
En la esquina superior derecha, seleccione un intervalo de tiempo para que los registros objetivo aparezcan en la pestaña Raw Logs.
-
Introduzca la siguiente instrucción de transformación de datos para convertir
request_timeyupstream_response_timeen métricas, y cambie el nombre dehostahostnamecomo etiqueta.e_to_metric( names=[("request_time", "RequestTime"), ("upstream_response_time", "ResponseTime")], labels=[("host", "hostname")], ) -
Haga clic en Preview Data y revise la pestaña Transformation Results.
Esta pestaña muestra dos puntos de datos de métricas:
__name__=RequestTimecon__value__=71.0, y__name__=ResponseTimecon__value__=0.66. Ambos tienen__labels__=hostname#$#www.example.comy__time_nano__=1716172083000000000. -
Cree el trabajo de transformación de datos.
Haga clic en Save as Transformation Job.
-
En el panel Create Data Transformation Job, configure los siguientes parámetros y haga clic en OK. Para obtener detalles sobre los parámetros, consulte Create a data transformation job.
Parámetro
Descripción
Job name, Display name
El nombre del trabajo debe ser único. El nombre para mostrar lo define el usuario, por ejemplo, log2metric.
Authorization method
Seleccione Default Role para otorgar permisos de lectura en el Logstore de origen.
Destination
Destination name
Nombre del destino, por ejemplo, log2metric.
Destination region
Región del Project de destino, por ejemplo, China (Hangzhou).
Destination Project
Project de destino que almacena los resultados de la transformación.
Destination store
MetricStore de destino, por ejemplo, service-metric.
Authorization method
Seleccione Default Role para otorgar permisos de escritura en el MetricStore de destino service-metric.
Processing scope
Time range
Seleccione All.
-
Compruebe el estado del trabajo de transformación de datos.
En el panel de navegación izquierdo, haga clic en el icono Logstore, expanda el Logstore objetivo, seleccione Data Processing > Data Transformation y haga clic en el trabajo correspondiente para ver su progreso.
Paso 3: Consultar datos de series temporales
En el panel de navegación izquierdo, seleccione y elija el MetricStore objetivo.
-
En la esquina superior derecha, haga clic en Last 15 Minutes (Relative) para establecer el intervalo de tiempo de la consulta.
NotaLos resultados de la consulta y el análisis pueden tener una latencia de hasta un minuto.
-
Haga clic en Preview Raw Data. En el panel que aparece, seleccione un intervalo de tiempo para comprobar que se han escrito las métricas.
La vista previa muestra dos métricas de
service-metric:__name__:RequestTime __value__:71.0y__name__:ResponseTime __value__:0.66. -
Introduzca una instrucción de consulta mediante uno de los siguientes métodos. Para obtener pasos detallados, consulte Query and analyze time-series data.
-
Introduzca una instrucción PromQL y haga clic en Execute Now.
Puede agregar varias consultas. Los resultados se superponen en el mismo gráfico de series temporales.
-
En el panel Metrics Explore, haga clic en el icono
junto a una métrica para generar automáticamente una instrucción de consulta.También puede hacer clic en Continue to Explore para una métrica en el panel Metrics Explore a fin de establecer valores de etiqueta y generar una consulta automáticamente. Metric exploration.
Tendencia de RequestTime para cada host

Tendencia de ResponseTime para cada host

-