基于华为云ELB(弹性负载均衡)日志运维分析
背景信息
ELB在外部流量分发时,会记录HTTP(S)详细的访问日志记录,如URI请求、客户端IP和端口、状态码。
ELB日志可用于审计,也可用于通过时间和日志中的关键词信息搜索日志,同时也可以通过各种SQL聚合函数来分析某段时间内的外部请求统计数据,比如统计1天内所有URI请求404的错误条数;分析1周内的UV(用户实际单击网站次数)或PV(网站的业务访问量),掌握真实用户的网站使用频率等。
前提条件
购买并使用华为云ELB实例。
限制条件
LTS ELB日志当前仅支持七层独享型负载均衡和七层共享型负载均衡,不支持四层共享型负载均衡。
操作步骤
- 将ELB访问日志对接至云日志服务详细操作请参见访问日志。
- 在系统首页左上角单击,选择“管理与监管 > 云日志服务 LTS”。
- 在日志管理页面,单击日志流名称进入日志流详情页面,单击右上角的按钮,进入设置页面,在“云端结构化解析”页签,选择“结构化模板”提取方式,选择“系统模板 > ELB”,保存后在结构化配置完成界面可以根据实际业务需要选择是否开启“快速分析”,快速分析主要用于统计一段时间内某个字段不同值的占比,更多详情请参见快速分析。
图2 配置结构化模板
- 在日志流详情页面,单击“可视化”页签,进行SQL查询与分析,如需要多样化呈现查询结果,请参考日志结构化进行配置。
- 统计1周内的PV,具体SQL查询分析语句如下所示:
select count(*) as pv
- 统计1周内的UV,具体SQL查询分析语句如下所示:
select count(distinct remote_port) as uv
- 统计1天所有URI返回请求2xx/3xx/4xx/5xx(返回码),了解业务的执行结果。具体的SQL查询分析语句如下所示:
select host, router_request_uri as url, count(*) as pv, sum(case when status >= 200 and status < 300 then 1 else 0 end ) as "2xx times", sum(case when status >= 300 and status < 400 then 1 else 0 end ) as "3xx times", sum(case when status >= 400 and status < 500 then 1 else 0 end ) as "4xx times", sum(case when status >= 500 and status < 600 then 1 else 0 end ) as "5xx times" group by host, router_request_uri order by pv desc limit 100
查询结果有表格、柱状图、折线图、饼图和数字等呈现形式。
- 统计1周内的PV,具体SQL查询分析语句如下所示: