Los registros de Simple Log Service (SLS) contienen dos tipos de campos de tiempo. Cada tipo requiere un enfoque de conversión distinto para su consulta y análisis.
Campos de tiempo
-
Campos de tiempo
__time__: campo reservado que registra la hora del registro especificada al escribir registros mediante la API o el SDK. Úselo para el envío, la consulta y el análisis de registros.
Campo de tiempo original en los registros sin procesar: registra la hora de generación del registro. Se almacena como una cadena en la entrada del registro sin procesar.
-
A continuación se describen los siguientes escenarios de conversión:
Convertir __time__ a una marca de tiempo
Use la función from_unixtime para convertir __time__ de un entero de marca de tiempo UNIX a un valor de fecha y hora.
* | select from_unixtime(__time__)
Mostrar __time__ en un formato específico
Use la función date_format para formatear __time__ como una cadena de fecha y hora legible. El siguiente ejemplo formatea la salida como YYYY-MM-DD HH:mm:SS.
* | select date_format(__time__, '%Y-%m-%d %H:%i:%S')
Convertir el campo de tiempo original de un registro a un formato específico
Cuando un registro sin procesar almacena la hora como una cadena, use date_parse y date_format en conjunto para convertirla y reformatearla. El siguiente ejemplo extrae la parte de la fecha y cuenta el número de entradas de registro por día.
Use la función date_parse para analizar sintácticamente la cadena del campo de tiempo en el formato
Year-Month-Day Hour:Minute:Second.Use la función date_format para extraer la parte de
Year-Month-Day.Use
group bypara agrupar los datos por día.
-
Registro de ejemplo:
__topic__: body_byte_sent: 307 hostname: example.com http_user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 QQ/192.0.2.1 V1_IPH_SQ_7.1.8_1_APP_A Pixel/750 Core/UIWebView NetType/WIFI QBWebViewType/1 method: GET referer: www.example.com remote_addr: 192.0.2.0 request_length: 111 request_time: 2.705 status: 200 upstream_response_time: 0.225582883754 url: /?k0=v9& time:2017-05-17 09:45:00 -
Instrucción SQL de ejemplo:
* | select date_format (date_parse(time,'%Y-%m-%d %H:%i:%S'), '%Y-%m-%d') as day, count(1) as uv group by day order by day asc