由于cdn控制台没有miss排行,看到有日志分析检索,随手撸了一个
文章参考自官方文档,但无奈官方文档写的demo未联合说明怎么改,顺便mark下来做记录
使用场景:使用日志服务统计cdn访问不同状态码或命中情况
由于目前日志服务投递只能投递境内日志,境外域名访问情况无法获知
前提条件
- 开通日志服务
- CDN开启实时日志分析(需要申请)
- 配置cdn日志投递,参考文档
- 日志服务开通日志字段统计(需要提工单申请)
- 配置 url(访问的uri) 字段的字段统计,其他字段参考文档
cdn开启日志投递截图
开启日志服务字段统计检索语句
【筛选条件】| 【SQL语句】,需要注意 | 前后需要空格
hit:"miss" | select url as "t-url", count(url) as "count" group by url order by count desc limit 10
检索结果筛选条件
hit字段只有命中和不命中两个状态(hit|miss)
hit:[miss|hit]SQL语句
使用GROUP BY 聚合url和count两列,参考文档
GROUP BY [ 列名(KEY)| 别名 | 序号 ]使用ORDER BY 根据count列降序,参考文档
ORDER BY [ 列名(KEY)| 别名 | 序号 ] DESC使用 limit 压缩展示数,参考文档
LIMIT count后续只需要添加到日志服务图表中即可保留其语句用作永久查询,不过顺便吐槽下,日志服务的图表真的不够好看
另外可以将过滤条件 hit 改到仪表盘进行过滤,可以让展示更加弹性(全部排行、未命中排行、命中排行等)
仪表盘多个域名统计
出于某种不可描述的原因,我们将多个域名投递到单个cls,只使用url是区分不出是那个域名的。所以继续撸完整
- 配置多域名投递到同一个cls
- 开始日志服务
host字段的字段统计
cdn实时日志管理配置多域名同时投递检索语句
根据上面单域名可得,多域名需要额外配置多一个字段host
hit:"miss" | select host as "t-host",url as "t-url", count(url) as count group by url,host order by count desc limit 10通过 group by聚合url和host两个字段,在图表中展示就会将不同host的两个url给区分开来
测试结果

