Os logs do Simple Log Service (SLS) contêm dois tipos de campos de tempo. Cada tipo exige uma abordagem de conversão diferente para consulta e análise.
Campos de tempo
-
Campos de tempo
__time__: campo reservado que registra o horário do log especificado durante a gravação via API ou SDK. Use-o para envio, consulta e análise de logs.
Campo de tempo original nos logs brutos: registra o momento de geração do log. É armazenado como string na entrada de log bruto.
-
Este tópico aborda os seguintes cenários de conversão:
Converter __time__ em timestamp
Use a função from_unixtime para converter __time__ de um inteiro de timestamp UNIX para um valor datetime.
* | select from_unixtime(__time__)
Exibir __time__ em um formato específico
Use a função date_format para formatar __time__ como uma string de data e hora legível. O exemplo a seguir formata a saída como YYYY-MM-DD HH:mm:SS.
* | select date_format(__time__, '%Y-%m-%d %H:%i:%S')
Converter o campo de tempo original de um log em um formato específico
Se o log bruto armazenar o tempo como string, use date_parse e date_format em conjunto para converter e reformatar o valor. O exemplo abaixo extrai a parte da data e conta o número de entradas de log por dia.
Use a função date_parse para analisar a string do campo de tempo no formato
Year-Month-Day Hour:Minute:Second.Use a função date_format para extrair a parte
Year-Month-Day.Use
group bypara agrupar os dados por dia.
-
Log de exemplo:
__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 -
Instrução SQL de exemplo:
* | 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