数据加工主要解决用户规整数据的痛点以及进一步挖掘数据价值,降低时间与人力成本。另一方面,合理配置可以节约一定的成本。本文档介绍如何以较优的成本方式使用数据加工功能。

典型配置

根据加工原理,一般推荐的做法是简化采集方案。使用一个或多个Logstore快速接入数据,然后使用数据加工进行快速分发,并根据用户需求设置不同目标Logstore的存储时间以及索引配置。
典型配置

成本优化

成本因素:

参考日志服务的计费方式,可以了解到日志服务的成本主要由以下几个因素决定。
  • 每日导入的数据量。
  • 数据存储的时间。
  • 是否建立索引。
通过如下两个案例如何进行成本优化。
  • 优化存储结构。

    假设用户持续采集K8S的访问日志,每天写入100 GB原始日志,存储30天并建立全索引,那么日志服务的成本大约是2248元/每月。

    如果用户更关心的是其中某一类POD的日志,例如用户操作日志与出错日志。假设这类日志的比例是20%,且希望存储30天。对其他的日志只需要存储7天。则可以进行如下安排。
    • 构建接入源Logstore,存储3天不建立索引。
    • 构建目标Logstore1,存储30天建立索引。用于存储用户操作日志与错误日志。
    • 构建目标logstore2,存储7天建立索引。用于存储一般性日志。
    这种情况下客户的成本大约是1672元/每月,大约节省25%的成本。

    如果用户原始存储日志是60天,通过数据加工将只关心的20%日志存储60天,其他存储7天,成本大约可以节约39% 。

  • 优化存储内容。

    假设客户持续采集某类应用日志,每天写入100 GB原始日志,存储30天并建立全索引,那么日志服务的成本大约是2248元/每月。

    源Logstore是一个NGNIX访问与解析日志,大小1021 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
    假设原始日志字段有些冗余,而用户更关心其中的某些字段。希望经过数据加工优化后每条日志的大小为原来的60%,且继续存储30天,则可以进行如下安排。
    • 构建接入源Logstore,存储3天不建立索引。
    • 构建目标Logstore,存储30天建立索引。用于存储用户操作日志与错误日志。
    这种情况下客户的成本大约是1579元/每月,大约节省30%的成本。
    原始日志大小1021 Bytes,加工后变成618 Bytes:
    __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