日志搜索
您可以通过本操作设置关键字和时间范围进行日志搜索。
- 在云日志服务管理控制台,单击“日志管理”。
- 在日志组列表中,单击日志组名称前对应的按钮。
- 在日志流列表中,单击日志流名称,进入日志详情页面。
- 在右上角选择时间范围。
- 在日志详情页面,有以下搜索方式:
- 在页面搜索区域中,鼠标单击搜索框,输入待搜索的关键字,或在弹出的下拉框中选择待搜索的字段和关键词,单击“查询”,开始搜索。
- 内置字段有appName、category、clusterId、clusterName、collectTime、containerName、hostIP、hostIPv6、hostId、hostName、nameSpace、pathFile、podName、serviceID,默认简化显示,并且hostIP、hostName、pathFile默认显示在最前面。
- 结构化配置的字段按照key:value显示。
- 在原始日志页面中,鼠标悬浮指向日志内容中的字段,单击蓝色字体的日志内容,支持复制、添加到查询、从查询中排除的方式搜索日志。
- 对已创建快速分析的字段,单击选择字段可直接将其添加到页面搜索框中,进行搜索。
通过单击字段添加到搜索框中,如果是同一字段,则将直接替换该方式添加的字段,不会进行AND搜索;如果是不同字段,则对不同字段进行AND搜索。
- 在页面搜索区域,使用键盘的"↑""↓"箭头,选择待搜索的关键字或搜索语法,单击Tab键或Enter键选中后,单击“查询”,开始搜索。
- 在页面搜索区域中,鼠标单击搜索框,输入待搜索的关键字,或在弹出的下拉框中选择待搜索的字段和关键词,单击“查询”,开始搜索。
日志搜索的常用操作
日志搜索的常用操作有分享日志、刷新等操作,具体参考如下图所示:
操作 |
说明 |
---|---|
创建快速查询 |
单击按钮,创建快速查询。 |
分享日志 |
单击复制当前日志搜索页面的链接,用于分享搜索日志。 |
刷新日志 |
单击对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。
|
复制 |
单击复制日志内容。 |
查看上下文 |
单击查看日志上下文。 |
简化字段详情 |
单击查看简化字段详情。 |
换行/取消换行 |
单击按钮,搜索的日志内容将换行显示。若不需要换行,单击按钮,取消换行。
说明:
默认开启换行按钮。 |
下载日志 |
单击按钮,在弹出的下载日志页面中单击“本地下载”。 本地下载:将日志文件直接下载到本地,单次下载支持最大5,000条日志。 在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地。
说明:
|
全部折叠/全部展开 |
单击设置日志内容展示的行数。若不需要展示日志内容,再单击一次按钮即可关闭展示的日志内容。
说明:
默认不折叠。折叠后,默认显示2行,最多支持展示6行。 |
版面设置 |
鼠标悬浮在按钮上,单击“版面设置”,在弹出的版面设置页面中,设置字段是否简化显示和可见性。
|
JSON设置 |
鼠标悬浮在按钮上,单击“JSON设置”,在弹出的JSON设置页面中,设置格式化显示。
说明:
默认开启格式化,JSON默认展开层级为2层。
|
不可见字段列表 |
该列表展示版面设置中配置的不可见性字段。
|
搜索语法及样例
搜索语法:
条件 |
说明 |
---|---|
关键字精确搜索 |
针对日志中的关键字进行精确搜索,大小写敏感。关键词指相邻两分词符之间的单词。 如果对分词符规则不熟悉,建议在关键词后加上*,例如:error*,帮助搜索。 |
短语精确搜索 |
针对日志中的短语进行精确搜索,大小写敏感。 |
&& |
搜索结果的交集。 |
|| |
搜索结果的并集。 |
AND |
搜索结果的交集。 |
and |
搜索结果的交集。 |
OR |
搜索结果的并集。 |
or |
搜索结果的并集。 |
NOT |
搜索结果不包含NOT后的关键字。 |
not |
搜索结果不包含not后的关键字。 |
? |
模糊搜索能力,?放在关键字中间或末尾,用于替代一个字符。 |
> |
搜索结构化long或float类型字段大于某个数值,例如:num>10。 |
< |
搜索结构化long或float类型字段小于某个数值,例如:num < 10。 |
= |
搜索结构化long或float类型字段等于某个数值,例如:num = 10。 |
>= |
搜索结构化long或float类型字段大于等于某个数值,例如:num >= 10。 |
<= |
搜索结构化long或float类型字段小于等于某个数值,例如:num <= 10。 |
: |
用于字段查询(Key:Value),例如:request_method:GET。 如果字段名称或者字段值内有空格、冒号(:)等保留字符,请使用双引号("")包裹字段名称或者字段值,例如"file info":apsara。 |
"" |
使用双引号("")包裹一个语法关键词,可以将该语法关键词转换成普通字符。例如:"and"。 表示查询包含and的日志,此处的and不代表运算符。 在字段查询中双引号("")内的所有词被当成一个整体。 |
\ |
转义符号,用于转义双引号(""),转义后的引号表示符号本身。例如日志内容为instance_id:nginx"01",您可以使用instance_id:nginx\"01\"进行查询。 |
* |
通配符查询,*只能放在关键字后,可以匹配零个、单个、多个字符。例如:host:abcd*c。
说明:
云日志服务会在所有日志中为您查询到符合条件的100个词,返回包含这100个词并满足查询条件的所有日志。 |
in |
查询某字段值处于某数值范围内的日志,中括号表示闭区间,小括号表示开区间,两个数字之间使用空格分隔。例如 request_time in [100 200]或request_time in (100 200]。
说明:
in只能为小写字母;仅支持long或float类型字段。 |
() |
用于提高括号内查询条件的优先级(支持 and、or、not查询条件)。例如:(request_method:GET or request_method:POST) and status:200。 |
key:#"abc def" |
字段查询。配置字段索引后,可以指定字段名称和字段值(Key:Value)进行查询。 |
#"abc def" |
全文查询。配置分词符后,云日志服务根据您设置的分词符将整条日志拆分成多个词。可以指定关键字(字段名、字段值)和查询规则进行查询。 |
如果原始日志中本身包含搜索语法的关键字(&&、||、AND、OR、NOT、*、?、:、>、<、=、>=、<=、"),则不支持使用这些关键字来搜索日志。
搜索规则:
- 支持模糊搜索能力。
- 支持键与值格式的多条件组合搜索,格式为:key1:value1 AND key2:value2或key1:value1 OR key2:value2。输入或选择key1:value1进行搜索后,需添加AND或OR,才可以在搜索框中继续输入或选择key2:value2对两个条件同时进行搜索。
- 支持单击关键词弹出菜单项,有复制、添加到查询和从查询中排出三种操作。
复制:复制该字段
添加到查询:在查询的语句中添加“AND field: value ”
从查询中排出:在查询的语句中添加“NOT field: value”
搜索样例:
- 搜索含有start的所有日志:start。
- 搜索含有start to refresh的所有日志:start to refresh。
- 搜索同时包含start和unexpected的日志数据:start && unexpected。
- 搜索同时包含start和unexpected的日志数据:start AND unexpected。
- 搜索包含start或者unexpected的日志数据:start || unexpected。
- 搜索包含start或者unexpected的日志数据:start OR unexpected。
- 不包含query1的日志数据:NOT content : query1。
- 搜索日志内容中含有error的所有日志:error*。
- 搜索日志内容中以“er”开头,以“or”结尾,并且中间有一个字符的所有日志:er?or。
- 搜索的关键词中含有分词符(:)时,搜索日志: content : "120.46.138.115:80" 或者 content : 120.46.138.115:80 。
- 搜索包含query1而且包含query2,但不包含query3的日志数据:query1 AND query2 AND NOT content : query3。
- 输入关键字查询日志时,关键字区分大小写,搜索的日志内容大小写敏感,高亮的日志内容大小写敏感。
- 全文搜索时,模糊搜索 “*”, “?” 不匹配特殊字符,例如:“-”、空格。
- 支持关键词模糊匹配搜索,关键词不能以“?”或“*”开头。例如:关键词可以输入"ER?OR"或"ER*R"。
- 使用关键词搜索时,当单条日志超过255长度时,可能无法精确查询。