计费示例
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 | 0.0115元/GB/日 | 1.6060元/日 | |
服务请求费用 | 使用 LogListener 会将日志分组批量上传,产生约10万次上传请求。 | 0.1百万次 | 0.15元/百万次/日 | 0.015元/日 |
主题分区费用 | 业务日志峰值8MB/s,需要两个主题分区。 | 2个 | 0.04元/个/日 | 0.08元/日 |
总计 | 5.78元/日(保留2位小数) | | | |
计费项 | 说明 | 计量 | 单价 | 按量计费费用 |
原始日志量(标准) | 未压缩的原始日志量约9.31GB。 | 9.31GB | 0.35元/GB/日 | 3.2585元/日 |
总计 | 3.26元/日(保留2位小数) | | | |
日志保存15天,未超出30天的免费存储周期,因此不产生存储费用。
主机指标监控
甲公司需监控主机 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 = 825GB | 0.004元/GB/日 | 3.3元/日 |
服务请求费用 | 每台主机每次采集指标产生1次请求,产生约576万次上传请求。 | 5.76百万次 | 0.15元/百万次/日 | 0.864元/日 |
主题分区费用 | 流量不超过5MB/s,只需要1个主题分区。 | 1个 | 0.04元/个/日 | 0.04元/日 |
总计 | 17.40元/日(保留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 字段检索分析日志,其他字段仅供查看。