資料加工主要解決您規整資料的痛點以及協助您進一步挖掘資料的價值,降低時間與人力成本。合理配置可以節約一定的成本,本文檔介紹如何以較優的成本方式使用資料加工功能。
典型配置
成本因素
通過Log Service的計費方式,可以瞭解到Log Service的成本主要由以下幾個因素決定。
每日匯入的資料量。
資料存放區的時間。
是否建立索引。
根據成本因素,本文通過如下兩個案例介紹如何進行成本最佳化。
最佳化儲存結構
如果您持續採集某應用的日誌,每天的寫入量為100 GB,儲存30天並建立全文索引,那麼Log Service的成本大約是562美元/每月。
如果您更關心的是其中某一類POD的日誌,例如動作記錄與出錯日誌。假設這類日誌的比例是20%,且希望儲存30天。對其他的日誌只需要儲存7天。那麼推薦您使用如下加工方案。
構建接入源Logstore,儲存3天不建立索引。
構建目標Logstore1,用於儲存動作記錄與錯誤記錄檔,儲存30天並建立索引。
構建目標logstore2,用於儲存一般性日誌,儲存7天並建立索引。
這種情況下您的成本約為421美元/每月,與加工之前相比大約可以節省25%的成本。
如果您的原始日誌儲存周期為60天,可以通過資料加工將只關心的20%的日誌儲存60天,其他日誌儲存7天即可,這樣可以節約12%的成本, 並對關心的日誌增加1倍儲存時間。
最佳化儲存內容
如果您持續採集某應用的日誌,每天的寫入量為100 GB,儲存30天並建立全文索引,那麼Log Service的成本大約是562美元/每月。
如下為採集到的一條原始日誌,大小為1021 Bytes。
__source__: 192.0.2.0
__topic__: ddos_access_log
body_bytes_sent: 3866
cc_action: none
cc_blocks:
cc_phase:
content_type: text/x-flv
host: www.example.com
http_cookie: i1=w1;x2=q2
http_referer: http://www.example.com
http_user_agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.0.2.1 Safari/537.36
http_x_forwarded_for: 192.0.2.2
https: true
isp_line: BGP
matched_host: www.example.com
method: GET
real_client_ip: 192.0.2.3
remote_addr: 192.0.2.4
remote_port: 48196
request_length: 2946
request_method: GET
request_time_msec: 78920
request_uri: /request/nvwlvvkhw
server_name: www.example.com
status: 502
time: 2019-07-22T17:40:26+08:00
ua_browser: mozilla
ua_browser_family:
ua_browser_type:
ua_browser_version: 9.0
ua_device_type:
ua_os: windows_7
ua_os_family:
upstream_addr: 192.0.2.4:80
upstream_ip: 192.0.2.5
upstream_response_time: 0.858
upstream_status: 200
user_id: st0s2b5
假設您只關心原始日誌中的某些欄位,則可以通過資料加工將關心的欄位儲存30天並建立索引,其他冗餘欄位僅儲存3天即可。那麼推薦您使用如下加工方案。
構建接入源Logstore,儲存3天不建立索引。
構建目標Logstore,用於儲存動作記錄與錯誤記錄檔,儲存30天並建立索引。
假設每條日誌經過加工後大小約為原來的60%,這種情況下您的成本約為393美元/每月,與加工之前相比大約可以節省30%的成本。
原始日誌大小1021 Bytes,加工後日誌如下所示,大小僅為618 Bytes。
__source__: 192.0.2.0
__topic__: ddos_access_log
body_bytes_sent: 3866
content_type: text/x-flv
host: www.example.com
http_referer: http://www.example.com
ua_browser: mozilla
ua_browser_family:
ua_browser_type:
ua_browser_version: 9.0
ua_device_type:
ua_os: windows_7
http_x_forwarded_for: 192.0.2.2
matched_host: www.example.com
method: GET
real_client_ip: 192.0.2.3
request_length: 2946
request_uri: /request/nvwlvvkhw
status: 502
upstream_addr: 192.0.2.4:80
upstream_ip: 192.0.2.5
upstream_response_time: 0.858
upstream_status: 200
user_id: st0s2b5