在云防火墙控制台开通日志分析服务后,您可对采集到的日志数据进行实时查询与分析、查看或编辑仪表盘、设置监控告警等操作。本文介绍如何查询日志。
操作步骤
- 登录云防火墙控制台。在左侧导航栏,选择 。
- 在日志分析页面的日志查询页签,单击投递开关。
- 在日志投递开关气泡,开启日志投递开关。
- 在输入框中输入查询和分析语句。
日志服务定义了一系列查询语法和分析语法,支持多种复杂场景下的日志查询。更多详细介绍,请参见自定义查询与分析。
- 单击15分钟(相对),设置查询分析的时间范围。您可以设置相对时间、整点时间和自定义时间。 此处设置的查询时间最小粒度为分钟。如果需要精确到秒,请在分析语句中指定时间范围,例如
* | SELECT * FROM log WHERE __time__>1558013658 AND __time__< 1558013660
。说明 查询和分析结果有1分钟以内的误差。 - 单击查询/分析,查看查询分析结果。
操作查询和分析结果
- 查询直方图 查询直方图主要展示查询到的日志在时间上的分布情况。
- 将鼠标悬浮在绿色数据块上时,您可以查看该数据块代表的时间范围和日志命中次数。
- 双击绿色数据块,您可以查看更细时间粒度的日志分布,同时在原始日志页签中同步展示指定时间范围内的查询结果。
- 原始日志 在原始日志页签中展示当前查询结果,您可单击表格或原始查看日志并可执行如下操作。
- 快速分析:用于快速分析某一字段在一段时间内的分布情况。具体操作,请参见快速分析。您还可以单击
图标,选择显示Key或Key的别名。您可以在创建索引时设置字段的别名。例如host_name的别名为host,如果你选择显示别名,则在快速分析列表中显示host。
说明 当某字段没有别名时,您选择显示别名,则快速分析列表中仍显示字段名(Key)。 - 上下文浏览:在原始页签中,单击目标日志中的
图标,查看指定日志在原始文件中的上下文信息。具体操作,请参见上下文查询。
重要 只有通过Logtail采集到的日志才支持上下文浏览功能。 - LiveTail:在原始页签中,单击目标日志中的
图标,实时监控日志内容,提取关键日志信息。具体操作,请参见LiveTail。
重要 只有通过Logtail采集到的日志才支持LiveTail功能。 - 设置Tag:在原始页签中,单击
图标下的Tag设置,将次要的字段内容简化展示。
- 设置列:在表格页签中,单击
图标下的列设置,设置表格中要展示的日志信息,其中列名称为字段名,内容为字段值。
- 设置JSON:在表格或原始页签中,单击
图标下的JSON设置,设置JSON展开级别。
- 设置事件:在表格或原始页签中,单击
图标下的事件配置,为原始日志设置事件。 具体操作,请参见事件配置。
- 下载日志:在表格或原始页签中,单击
图标下载日志,支持选择下载范围和下载工具。具体操作,请参见下载日志。
- 快速分析:用于快速分析某一字段在一段时间内的分布情况。具体操作,请参见快速分析。
- 统计图表 执行查询和分析语句后,您可以在统计图表页签中查看可视化的查询和分析结果。
- 查看查询和分析结果:统计图表是日志服务根据查询与分析语句渲染出的结果。日志服务提供表格、线图、柱状图等多种图表类型。目前,统计图表包括Pro版本和普通版本。具体操作,请参见统计图表(Pro版本)概述、统计图表概述。
- 添加图表到仪表盘:仪表盘是日志服务提供的实时数据分析大盘。单击添加到仪表盘,将查询和分析结果以图表形式保存到仪表盘中。具体操作,请参见可视化概述。
- 设置交互事件:交互事件是数据分析中不可缺少的功能之一,通过改变数据维度的层次、变换分析的粒度从而获取数据中更详尽的信息。具体操作,请参见交互事件。
- 日志聚类
在日志聚类页签中,单击开启日志聚类,可实现在采集日志时聚合相似度高的日志。具体操作,请参见日志聚类。
- 告警
在查询和分析页面上,选择快速设置日志告警。
,可为查询和分析结果设置告警。具体操作,请参见 - 快速查询
在查询和分析页面上,单击
图标,将某一查询和分析语句保存为快速查询。具体操作,请参见快速查询。
自定义查询分析
日志查询语句由查询语法(Search)和分析语法(Analytics)两个部分组成,中间通过竖线(|)进行分隔:
$Search | $Analytics
类型 | 说明 |
---|---|
查询(Search) | 查询语句使用日志分析专用语法,查询满足条件的日志数据。查询条件由关键词、模糊、数值、区间范围和组合条件等产生。如果为空或* ,代表查询所有数据。 |
分析(Analytics) | 分析语句使用SQL/92语法,对查询结果进行统计分析。如果为空,代表只返回查询结果,不进行统计。 |
查询语法
- 全文查询
无需指定字段,直接输入关键字进行全文查询。您可以用双引号("")包裹关键字,查询包含该关键字的日志。也可以用空格或
and
分隔多个关键字,查询包含这些关键字的日志。示例- 多关键字查询
搜索包含所有
www.aliyun.com
和error
的日志。www.aliyun.com error
或者www.aliyun.com and error
- 条件查询
搜索所有包含
www.aliyun.com
,并且包含error
或者404
的日志。www.aliyun.com and (error or 404)
- 前缀查询
搜索所有包含
www.aliyun.com
,并且以failed_
开头的日志。www.aliyun.com and failed_*
说明 查询中只支持后缀添加*
,但不支持以*
作为前缀(如*_error
)。
- 多关键字查询
- 字段查询
基于字段进行更精准的查询。
字段查询支持数值类型字段的比较查询,格式为字段:值
或字段 >= 值
。同时,通过and
、or
等可进行组合查询,并支持与全文搜索组合使用。说明 云防火墙日志服务支持基于字段查询。关于日志中各个字段的含义、类型、格式等信息,请参见日志字段说明。示例- 查询多字段
如果要搜索指定客户端
192.0.2.0
访问目的地址192.0.2.54
的访问日志,您可以设置以下查询条件:src_ip: 192.0.2.0 and dst_ip: 192.0.2.54
说明 本示例中的src_ip
字段和dst_ip
都是云防火墙记录的日志字段。 - 查询字段是否存在
- 查询包含
total_pps
字段的日志。total_pps: *
- 查询不包含
total_pps
字段的日志。not total_pps: *
- 查询包含
- 查询多字段
分析语法
您可以使用SQL/92语法对日志数据进行分析与统计。
常见日志分析查询语句
- 查询时请选择对应的时间区间。
- 分析语句如果不设置
limit
,默认返回100条内容。如果您需要返回更多的内容,请手动设置limit
。 - 不同的云防火墙类型对应的
log_type
不同。- 互联网边界防火墙:
internet_log
其中,
direction:in
的数据表示互联网主动向内部资产发起访问的网络记录;direction:out
的数据表示内部资产主动向互联网发起访问的网络记录。 - VPC边界防火墙:
vpc_firewall_log
VPC边界防火墙无出入方向概念,
direction
字段默认只返回direction:out
。 - NAT边界防火墙:
nat_firewall_log
其中,
direction:in
的记录表示互联网向NAT网关建立连接的日志;direction:out
表示NAT网关向互联网建立连接的日志。
- 互联网边界防火墙:
关于日志字段的详细介绍,请参见日志字段说明。
流量大小查询语句
- 查询互联网主动向资产
1.2.*.*
发起访问的网络记录,并统计流入资产的流量总大小和报文总数。log_type:internet_log and direction:"in" and dst_ip:1.2.*.* | select sum(in_packet_bytes) as flow, sum(in_packet_count) as packet
- 查询NAT边界防火墙流量,并以源IP、目的IP、目的端口字段聚合,分析流入资产和流出资产的总流量大小Top 10情况。
log_type:nat_firewall_log | select src_ip, dst_ip, dst_port, sum(in_packet_bytes) as in_bytes, sum(out_packet_bytes) as out_bytes, sum(total_packet_bytes) as total_bytes group by src_ip, dst_ip, dst_port order by total_bytes desc limit 10
访问控制常见语句
- 查询互联网主动向内部资产发起访问,并且命中访问控制策略的流量日志。
log_type:internet_log and direction:"in" and not acl_rule_id:00000000-0000-0000-0000-000000000000
其中,
not acl_rule_id
全为0表示命中访问控制策略,其他情况则表示未命中访问控制策略。 - 查询内部资产主动向互联网发起访问、并且命中访问控制策略被拦截的流量日志,分析Top 10目的IP、目的端口的分布情况。
log_type:internet_log and direction:out and not acl_rule_id:00000000-0000-0000-0000-000000000000 and rule_result:drop | select dst_ip, dst_port, count(*) as cnt group by dst_ip, dst_port order by cnt desc limit 10
- 查询内部资产主动向互联网发起访问、目的端口443、报文数大于3(完成TCP 3次握手)、未识别到域名信息的流量日志,并以目的
IP C
段、应用字段聚合,分析源IP、目的IP、应用的Top 10情况。log_type:internet_log and direction:out and dst_port:443 and total_packet_count>3 and domain:""| select array_agg(distinct src_ip) as srcip, array_agg(distinct dst_ip) as dstip, slice(split(dst_ip,'.' ,4),1,3) as dstip_c, app_name, COUNT(1) as cnt GROUP by dstip_c,app_name order by cnt desc limit 10
攻击防护常见语句
- 查询互联网主动向内部资产主动发起访问、并且命中攻击防护策略的流量日志。
log_type:internet_log and direction:"in" and not ips_rule_id:00000000-0000-0000-0000-000000000000
其中,
not ips_rule_id
全为0表示命中攻击防护策略,其他情况则表示未命中攻击防护策略。 - 查询内部资产主动向互联网发起访问、并且命中攻击防护策略的流量日志,查看IP、端口、应用、域名、IPS策略结果等信息。
log_type:internet_log and direction:out and not ips_rule_id:00000000-0000-0000-0000-000000000000 | select src_ip, dst_ip, dst_port,app_name, domain,ips_rule_id, ips_rule_name, rule_result