Simple Log Service (SLS) günlükleri iki tür zaman alanı içerir. Her bir tür, sorgulama ve analiz için farklı bir dönüştürme yaklaşımı gerektirir.
Zaman alanları
-
Zaman alanları
__time__: API veya SDK aracılığıyla günlükleri yazarken belirttiğiniz günlük saatini kaydeden ayrılmış bir alandır. Günlük taşıma, sorgulama ve analiz için kullanın.
Ham günlüklerdeki orijinal zaman alanı: Bir günlüğün oluşturulduğu saati kaydeder. Ham günlük girdisinde dize olarak saklanır.
-
Aşağıdaki dönüştürme senaryoları ele alınmıştır:
__time__ değerini zaman damgasına dönüştürme
__time__ değerini UNIX zaman damgası tamsayısından tarih-saat değerine dönüştürmek için from_unixtime işlevini kullanın.
* | select from_unixtime(__time__)
__time__ değerini belirli bir biçimde görüntüleme
__time__ değerini okunabilir bir tarih-saat dizesi olarak biçimlendirmek için date_format işlevini kullanın. Aşağıdaki örnekte çıktı YYYY-MM-DD HH:mm:SS biçiminde gösterilir.
* | select date_format(__time__, '%Y-%m-%d %H:%i:%S')
Günlükteki orijinal zaman alanını belirli bir biçime dönüştürme
Ham bir günlükte zaman dize olarak saklandığında, bu değeri dönüştürmek ve yeniden biçimlendirmek için date_parse ve date_format işlevlerini birlikte kullanın. Aşağıdaki örnekte tarih bölümü çıkarılır ve günlük başına düşen günlük girdisi sayısı hesaplanır.
Zaman alanı dizesini
Yıl-Ay-Gün Saat:Dakika:Saniyebiçimine ayrıştırmak için date_parse işlevini kullanın.Yıl-Ay-Günbölümünü çıkarmak için date_format işlevini kullanın.Verileri güne göre gruplandırmak için
group byifadesini kullanın.
-
Örnek günlük:
__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 -
Örnek SQL ifadesi:
* | 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