概述
数据加工主要解决用户规整数据的痛点以及进一步挖掘数据价值, 降低时间与人力成本, 另一方面, 在某些情况下, 合理配置也可以节约一定财务费用. 本文进一步介绍了如何以较优的成本方式使用数据加工.
典型配置
根据数据加工的原理和性能指南介绍了如何规划日志服务的源logstore与目标logstore. 一般推荐的做法是简化采集方案, 使用一个或多个logstore快速接入数据, 然后使用数据加工进行快速分发, 并根据用户需求配置不同目标logstore的存储时间以及索引配置. 例如SLB访问日志加工分发案例.
成本优化
成本要素
参考日志服务的计费方式, 可以了解到日志服务的主要成本由以下几个主要因素决定:
- 每日导入的数据量
- 数据存储的时间
- 是否建立索引
案例1 - 优化存储结构
假设客户持续采集K8S的访问日志, 每天写入100GB原始日志, 存储30天, 并建立全索引, 那么日志服务的成本大约是2248元/每月.
假设用户更关心的是其中某一类POD的日志, 例如用户操作日志与出错日志. 那么这类日志的比例假设是20%, 且希望存储30天, 对于其他的日志, 只需要存储7天即可. 则可以如下安排:
- 构建接入源logstore: 存储3天, 不建立索引
- 构建目标logstore1, 存储30天, 建立索引. 用于存储用户操作日志与出错日志.
- 构建目标logstore2, 存储7天, 建立索引. 用于存储一般性日志.
这种情况下, 客户的成本大约是1672元/每月, 节约成本大约25%
如果用户原始存储日志是60天, 通过数据加工只将关心的20%日志存储60天, 其他存储7天的话, 成本可以节约大约39% (3226元/每月变成2000元/每月)
案例2 - 优化存储内容
假设客户持续采集某类应用日志, 每天写入100GB原始日志, 存储30天, 并建立全索引, 那么日志服务的成本大约是2248元/每月.
假设后面例子中原始日志字段有些冗余, 用户更关心的其中某些字段, 例如经过数据加工优化每条日志的原来大小的60%, 且继续存储30天,则可以如下安排:
- 构建接入源logstore: 存储3天, 不建立索引
- 构建目标logstore, 存储30天, 建立索引. 用于存储用户操作日志与出错日志.
这种情况下, 客户的成本大约是1579元/每月, 节约成本大约30%.
源logstore是一个NGNIX访问与解析日志, 大小1021 Bytes, 加工后变成618 Bytes:
__source__: 1.2.3.4
__topic__: ddos_access_log
body_bytes_sent: 3866
cc_action: none
cc_blocks:
cc_phase:
content_type: text/x-flv
host: www.dbb.mock-domain.com
http_cookie: i1=w1;x2=q2
http_referer: http://www.cbc.mock-domain.com
http_user_agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
http_x_forwarded_for: 105.120.151.10
https: true
isp_line: BGP
matched_host: www.cbd.mock-host.com
method: GET
real_client_ip: 105.120.160.17
remote_addr: 105.120.160.0
remote_port: 48196
request_length: 2946
request_method: GET
request_time_msec: 78920
request_uri: /request/nvwlvvkhw
server_name: www.bd.mock-host.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: 106.120.157.15:80
upstream_ip: 109.120.152.11
upstream_response_time: 0.858
upstream_status: 200
user_id: st0s2b5
经过数据加工后得到:
__source__: 1.2.3.4
__topic__: ddos_access_log
body_bytes_sent: 3866
content_type: text/x-flv
host: www.dbb.mock-domain.com
http_referer: http://www.cbc.mock-domain.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: 105.120.151.10
matched_host: www.cbd.mock-host.com
method: GET
real_client_ip: 105.120.160.17
request_length: 2946
request_uri: /request/nvwlvvkhw
status: 502
upstream_addr: 106.120.157.15:80
upstream_ip: 109.120.152.11
upstream_response_time: 0.858
upstream_status: 200
user_id: st0s2b5
进一步参考
欢迎扫码加入官方钉钉群获得实时更新与阿里云工程师的及时直接的支持: