计费示例
Nginx 日志查询及分析
甲公司的网站每天有一亿次请求,平均一次请求会产生一条100字节的日志,一天共一亿条日志,日志量共约9.31GB。甲公司决定将 Nginx 访问日志上传到 CLS 的北京地域保存,使用标准存储保存15天,使用日志检索分析及告警功能,未使用数据加工、下载、消费及投递等功能。
计费项 | 说明 | 计量 | 单价 | 按量计费费用 |
写流量费用 | 使用 LogListener 上传日志会进行压缩,压缩率约为1:4,压缩后流量为2.33GB。 | 9.31GB × (1:4) = 2.33GB | 0.18元/GB/日 | 0.4194元/日 |
标准索引流量费用 | 开启全文索引,相当于100%的字段开启了索引,产生9.31GB索引流量。 | 9.31GB × 100% = 9.31GB | 0.35元/GB/日 | 3.2585元/日 |
标准日志存储费用 | 每天上传9.31GB日志,压缩后约为2.33GB,保存15天时日平均存储量为34.95GB。 | 9.31GB × (1:4) × 15 = 34.95GB | 0.0115元/GB/日 | 0.4019元/日 |
标准索引存储费用 | 每天产生9.31GB索引,保存15天后平均存储量139.65GB。 | 9.31GB × 15 = 139.65GB | 0.0115元/GB/日 | 1.6060元/日 |
服务请求费用 | 使用 Loglistener 会将日志分组批量上传,产生约10万次上传请求。 | 0.1百万次 | 0.15元/百万次/日 | 0.015元/日 |
主题分区费用 | 业务日志峰值8MB/s,需要两个主题分区。 | 2个 | 0.04元/个/日 | 0.08元/日 |
总计 | 5.78元/日(保留2位小数) | | | |
主机指标监控
甲公司需监控主机 CPU/内存使用率等指标,每个主机约采集50条指标,每15秒采集一次,共1000台主机。将指标采集至指标主题,并保存15天,使用指标检索分析及告警功能,未使用指标投递等功能。
计费项 | 说明 | 计量 | 单价 | 按量计费费用 |
指标写流量费用 | 每次采集50条/台*1000台=50000条指标,每条指标按 0.2KB 估算,每次采集约产生50000*0.2KB=0.0095GB数据。 每天采集86400秒/15秒=5760次,约产生55GB指标数据。 | 55GB | 0.24元/GB/日 | 13.2元/日 |
指标存储量费用 | | 55GB × 15 = 825 GB | 0.004元/GB/日 | 3.3元/日 |
服务请求费用 | 每台主机每次采集指标产生1次请求,产生约576万次上传请求。 | 5.76百万次 | 0.15元/百万次/日 | 0.864元/日 |
主题分区费用 | 流量不超过5MB/s,只需要1个主题分区。 | 1个 | 0.04元/个/日 | 0.04元/日 |
总计 | 17.46元/日(保留2位小数) | | | |
Nginx 日志数据加工
假定业务需要使用数据加工,将上述案例中的 Nginx 日志(源日志主题),根据"Status"的值分发。当"Status"=200时,日志分发至名为"Nginx_200"的目标日志主题;当"Status"=400时,日志分发至名为"Nginx_400"的目标日志主题。源日志主题的日志量为9.31GB/天,假定"Status"=200的日志量为8.9GB,"Status"=400的日志量为0.1GB,且两个目标主题均不开启索引,保存15天,那么将会产生如下费用:
计费项 | 说明 | 计量 | 单价 | 按量计费费用 |
数据加工费用 (源日志主题) | 源日志主题流量为9.31GB每天,等于数据加工的流量。 | 9.31GB | 0.15元/GB/日 | 1.3965元/日 |
写流量费用(目标日志主题 Nginx_200、Nginx_400) | 加工结果日志将写入两个目标日志主题,"Status"=200的日志为8.9GB,"Status"=400的日志为0.1GB,总计9GB,写入压缩率约为1:2,压缩后写流量为4.5GB。 | (8.9GB+0.1GB) × (1:2) = 4.5GB | 0.18元/GB/日 | 0.81元/日 |
标准日志存储费用(目标日志主题 Nginx_200、Nginx_400) | 两个目标日志主题每天写入4.5GB日志,保存15天时日平均存储量为67.5GB。 | (8.9GB+0.1GB)× (1:2) × 15 = 67.5GB | 0.0115元/GB/日 | 0.7762元/日 |
主题分区费用(目标日志主题 Nginx_200、Nginx_400) | 业务日志峰值8MB/s,"Nginx_200"需要2个主题分区。"Nginx_400"需要1个主题分区 | 3个 | 0.04元/个/日 | 0.12元/日 |
总计 | 3.10元/日(保留2位小数) | | | |
从计费项费用中可以发现,索引流量及索引存储费用最高,主要由以下几方面导致:
索引是日志检索分析的核心,没有索引时将完全无法检索日志数据,索引流量的单价(0.35元/GB/日)因此也高于写流量(0.18元/GB/日)。
如果上传日志采用压缩时,写流量及日志存储会按压缩后的日志数据量计算,而索引流量及索引存储需按照未压缩的原始数据量计算。由于日志的压缩率一般在1:4 - 1:10之间,索引流量及索引存储的计量会是写流量及日志存储的4 - 10倍。
因此,如需降低产品使用成本,可合理地调整索引配置,以降低索引流量及索引存储。
例如原始日志为:
10.20.20.10 ::: [Tue Jan 22 14:49:45 CST 2019 +0800] ::: GET /online/sample HTTP/1.1 ::: 127.0.0.1 ::: 200 ::: 647 ::: 35 ::: http://127.0.0.1/
采集日志时将日志提取为如下字段:
IP: 10.20.20.10bytes: 35host: 127.0.0.1length: 647referer: http://127.0.0.1/request: GET /online/sample HTTP/1.1status: 200time: [Tue Jan 22 14:49:45 CST 2019 +0800]
若开启全文索引,该条日志产生的索引大小为172Bytes(所有的字段 key 及字段 value 的大小),会相应地产生索引流量及索引存储。
若仅为 request 及 status 字段开启键值索引,不开启全文索引,该条日志产生的索引大小为48Bytes(request 及 status 的 key 及 value 的大小,相当于为48Bytes / 172Bytes = 27.9%的字段开启了键值索引),索引流量及索引存储降低为全文索引的27.9%。但需注意,此时将仅能通过 request 及 status 字段检索分析日志,其他字段仅供查看。
计费项详细说明
流量费用
计费项 | 说明 | 计费公式 |
日志写流量费用 | 上传日志、数据加工投递至目标日志主题时会产生写流量费用,根据日志服务所接收的数据量大小进行计费,不区分内外网。 注意: 压缩上传日志会以压缩后的实际数据量计算(LogListener 默认使用压缩上传)。例如原始日志数据量为4GB,压缩后的写流量为1GB(按压缩率为1:4计算,压缩率与日志实际内容有关,一般为1:4 - 1:10)。 | 写流量费用 = 每 GB 单价 × 日累计写流量 |
指标写流量费用 | 指标采集写入指标主题、定时SQL分析任务写入目标指标主题所产生的流量,不压缩。指标写入仅产生写流量,不会产生索引流量。 | |
全球加速写流量费用 | 使用全球加速功能写入日志及指标数据额外产生的流量费用。 注意: 写入日志及指标时仍会同时产生日志写流量及指标写流量费用。 使用全球加速功能才会产生该流量费用,普通外网访问不产生。 | |
标准/低频索引流量费用(日志) | 日志生成标准/低频索引过程中产生的索引流量费用,根据日志服务构建索引时所产生的数据量大小进行计费。 注意: 开启索引后才会产生索引流量。 日志服务中__FILENAME__、__SOURCE__等内置保留字段会自动创建键值索引,但不会计算索引流量。 索引流量与日志上传时是否压缩无关,均以未压缩的原始日志数据量计算。例如原始日志数据量为4GB,压缩后的写流量为1GB(按压缩率为1:4计算),开启全文索引后对应的索引流量为4GB。 若同时开启全文索引和键值索引,不会重复计算索引流量,将以全文索引(即日志全文的大小)为准来计算索引流量。仅开启键值索引时,索引流量与开启键值索引的字段数量及字段值大小有关,例如原始日志数据量为4GB,开启键值索引的字段及字段值大小为2GB,则对应的索引流量为2GB,合理配置键值索引字段能够 节省产品使用成本。 标准/低频索引流量价格不同,分别计量计费。 | 标准索引流量费用 = 每 GB 单价 × 日累计标准索引流量 低频索引流量费用 = 每 GB 单价 × 日累计低频索引流量 |
内网读流量费用 | 根据访问日志服务内网域名时所产生的下行流量进行计费。 例如同地域通过内网消费日志、投递指标、投递到 COS 以及投递到 Ckafka 等,通过控制台或 API 检索分析日志不产生读流量及费用。 | 内网读流量费用 = 每 GB 单价 × 日累计内网读流量 |
外网读流量费用 | 根据访问日志服务外网域名时所产生的下行流量进行计费。 例如通过外网下载日志、消费日志、投递指标、投递到 COS 以及投递到 Ckafka 等,通过控制台或 API 检索分析日志不产生读流量及费用。 | 外网读流量费用 = 每 GB 单价 × 日累计外网读流量 |
存储费用
计费项 | 说明 | 计费公式 |
日志标准/低频存储费用 | 根据日志数据所占用的标准/低频存储空间大小进行计费。 注意: 压缩上传日志会以压缩后的实际数据量计算(LogListener 默认使用压缩上传),例如原始日志数据量为4GB,压缩后的写流量为1GB(按压缩率为1:4计算,压缩率与日志实际内容有关,一般为1:4~1:10),则对应的日志存储增量为1GB。 | 标准日志存储费用 = 每 GB 单价 × 日均标准日志存储量 低频日志存储费用 = 每 GB 单价 × 日均低频日志存储量 |
标准/低频索引存储费用(日志) | 根据日志索引数据所占用的标准/低频存储空间大小进行计费。 注意: 索引存储大小与日志上传时是否压缩无关,均按照未压缩的原始日志数据量计算,例如原始日志数据量为4GB,压缩后的写流量为1GB(按压缩率为1:4计算),开启全文索引后索引流量为4GB,则对应的索引存储的增量为4GB。 | 标准索引存储费用 = 每 GB 单价 × 日均标准索引存储量 低频索引存储费用 = 每 GB 单价 × 日均低频索引存储量 |
指标存储费用 | 指标存储量大小和指标写流量大小、指标保存时长正相关,不压缩。指标存储不产生索引存储量。 | 指标存储费用 = 每 GB 单价 × 日均指标存储量 |
1. 标准/低频日志及索引存储价格不同,分别计量计费。
2. 存储量计量方式采用均值方式,每小时的整点时刻统计当前时刻的存储量,然后将24个小时的值求平均作为当天的存储量。
3. 日志和指标数据会根据用户设置的存储周期进行保存,数据过期后不会再计算存储费用,删除过期数据量的时间点为下一个整点时间。
例如,保存周期设置为3天,6月15日12:15上传日志,6月15日12:15至6月18日12:15为有效保存周期,过期数据所占存储量将会在6月18日13:00进行扣除。(不建议用户频繁修改存储周期,每天最多修改一次)
修改存储周期(延长)
修改延长存储周期后,日志服务会将当前存储周期内的有效数据延长保存。例如,6月15日12:30 将存储周期从7天延长为15天,则6月8日12:00以后的数据量不会在6月15日13:00进行删除,会延长保存至6月23日13:00。
修改存储周期(缩短)
修改缩短存储周期后,日志服务会将当前存在周期内的有效数据缩短保存。例如,6月15日12:30将存储周期从15天缩短为7天,则6月15日13:00会删除6月1日12:00至6月8日13:00的数据量。
计算费用
计费项 | 说明 | 计费公式 |
数据加工费用 | 根据数据加工的日志数据量大小进行计费。 注意: 日志数据量大小与日志上传时是否压缩无关,均按照未压缩的原始日志数据量计算,例如原始日志数据量为4GB,压缩后的写流量为1GB(按压缩率为1:4计算,压缩率与日志实际内容有关,一般为1:4 - 1:10),进行数据加工时的数据量大小为4GB。 | 数据加工费用=单价 × 加工的日志数据量 |
其他费用
计费项 | 说明 | 计费公式 |
服务请求费用 | 根据上报日志/指标数据调用日志服务接口的总次数进行计费,包括 Loglistener、API 和 SDK,无论成功或失败均会统计在内。 | 服务请求费用 = 每百万次请求单价 ×(日累计请求次数 / 1000000) |
主题分区费用 | 根据占用的主题分区数量进行计费,包括读写态和只读态的主题分区。 | 主题分区费用 = 单价 × 日累计主题分区数量 |
服务请求费用及主题分区费用单价较低,正常使用产品功能时其产品的费用占总费用的比例很低,主要用于防止滥用,例如无意义的高并发调用 API 接口等。