日志查看器¶
日志数据采集到观测云后,您可以在观测云控制台,通过日志查看器查看工作空间内全部的日志内容。
注意:若当前登录账号角色在日志 > 数据访问 设置了【仅显示跟我相关的规则】,查询的日志内容会同步受其影响。
日志查看器模式¶
观测云日志查看器支持三种查看模式,包括:
全部日志¶
全部日志:基于采集的原始日志数据进行查看和分析。
聚类分析¶
日志查看器提供高效的聚类分析功能,即对原始日志数据进行相似度计算分析。
系统默认基于 message
字段执行日志聚类,自动展示最近 50 条日志数据。您也可根据业务需求自定义聚类字段。在右上角的时间控件选定时间范围后,系统将筛选并分析该时段内的 10000 条日志数据,自动聚合相似日志条目,提炼、统计并最终展示共同特征。
在聚类分析列表,您可以通过以下操作对数据进行管理:
-
点击 icon & 对文档数量排序,默认倒序。
-
点击 按钮,可选择 1 行、3 行、10 行及全部的方式显示。
-
点击 material-tray-arrow-up: 按钮,即可导出所有聚类的日志数据。
图表分析¶
在查看器的分析模式下,系统会对原始日志数据基于1-3 个标签进行分组统计,以反映出日志数据在不同的分组下,不同时间的分布特征与趋势。
进入分析模式后,四种图表形式可供选择:时序图、排行榜、饼图和矩形树图。
您可通过以下操作来管理图表分析模式:
- 在图表下方,支持基于各类字段进行筛选查询;
- 时序图模式下,支持选择面积图、折线图和柱状图三种展现样式;
- 针对显示的聚类数据,时序图模式下,可选择
slimit
为 5/10/20/50/100;排行榜/饼图/矩形树图模式下,可选择limit to
最大或最小为 5/10/20/50/100; - 点击右侧 按钮,可选择隐藏、底部、右侧图例;
- 点击 按钮,可自定义图例展示的颜色样式;
- 点击 按钮,可选择导出当前图表为 CSV 文件、导出到笔记、仪表板或直接复制该图表。
日志查询与分析¶
观测云支持通过多种操作对日志数据进行查询和分析。
日志统计¶
观测云会根据选择的时间范围自动划分若干时间点,通过堆积柱状图展示不同日志状态的数量,帮助进行统计分析。若对日志进行了筛选过滤,柱状图同步展示筛选后结果。
- 日志统计图支持通过鼠标悬浮至图表,点击导出按钮,即可导出到仪表板、笔记或粘贴板;
- 日志统计图支持自定义选择时间间隔。
时间控件¶
观测云查看器默认展示最近 15 分钟的日志数据,您也可以自定义数据展示的时间范围。
日志索引¶
观测云支持设置日志多索引,筛选符合条件的日志保存在不同的日志索引中,并通过为日志索引选择不同的数据存储策略,帮助用户节约日志数据存储费用。
在日志 > 索引设置索引以后,支持在查看器选择不同的索引查看对应的日志内容。
更多详情,可参考 日志索引。
搜索与筛选¶
在日志查看器搜索栏,支持多种搜索方式和筛选方式。
输入搜索或筛选条件后,可查看查询的预览效果。您可以复制该条件,直接用于图表或查询工具。
DQL 搜索¶
前提:DQL 搜索功能目前仅支持日志查看器使用。
在日志查看器,您可以通过点击搜索框内的切换按钮 ,切换到 DQL 手动输入查询模式,可自定义输入筛选条件和搜索条件。
- 筛选条件:支持
and / or
任意组合,支持使用()
括号表示执行搜索的优先级,支持=
、!=
等操作符; - 搜索条件:支持使用 DQL 函数
query_string()
字符串查询,如输入message = query_string()
对日志内容进行搜索。
更多 DQL 语法,可参考 DQL 定义。
快捷筛选¶
在日志查看器快捷筛选,支持编辑快捷筛选,添加新的筛选字段。
注意:若快捷筛选的列出值受采样影响,显示采样率,并支持用户临时关闭采样。
自定义显示列¶
日志查看器默认显示 time
和 message
字段,其中 time
字段为固定字段无法删除。当鼠标放在查看器显示列上时,点击设置按钮,支持对显示列进行升序、降序、向左移动列、向右移动列、向左添加列、向右添加列、替换列、添加到快捷筛选、添加到分组、移除列等操作。
更多自定义显示列,可参考 显示列说明。
JSON 字段返回¶
注意:该功能仅适用于拥有 DQL 查询权限的用户角色。
观测云 DQL 查询支持从日志数据的 JSON 字段中提取内嵌的值,通过在 DQL 查询语句中添加带有 @
符号的字段,系统会识别该配置并将其作为独立字段在查询结果中展示。如:
- 正常查询:
- 期待提取内嵌字段后的查询:
在日志查看器,若想直接在数据列表中指定查看从每条日志 message
的 JSON 文本中提取出的值,在显示列处添加格式为 @targer_fieldname
的字段。如下图,我们在显示列中添加 DQL 查询语句中已配置的 @fail_reason
:
新建监控器¶
您可以在日志查看器通过该入口,直接跳转至监控器新建页面,为日志数据快速设置异常检测规则。
具体操作,可参考 新建监控器。
Copy as cURL¶
日志查看器支持通过命令行形式来获取日志数据。在日志数据列表右侧设置,点击 Copy as cURL 即可复制 cURL 命令行,前往主机终端执行该命令,从可获取当前时间段内相关筛选及搜索条件下的日志数据。
示例
复制 cURL 命令行后,如下图所示:其中 <Endpoint>
需替换为域名,<DF-API-KEY>
需前往 API 管理 更换为 Key ID。
关于更多相关参数说明,可参考 DQL 数据查询。
关于 API 更多信息,可参考 Open API。
curl '<Endpoint>/api/v1/df/query_data?search_after=\[1680226330509,8572,"L_1680226330509_cgj4hqbrhi85kl1m6os0"\]&queries_body=%7B%22queries%22:\[%7B%22uuid%22:%222eb41760-cf6e-11ed-a983-7d559044c3fc%22,%22qtype%22:%22dql%22,%22query%22:%7B%22q%22:%22L::re(%60.*%60):(%60*%60)%7B+%60index%60+IN+\[%27default%27\]+%7D%22,%22highlight%22:true,%22limit%22:50,%22orderby%22:\[%7B%22time%22:%22desc%22%7D\],%22_funcList%22:\[\],%22funcList%22:\[\],%22disableMultipleField%22:false,%22disable_slimit%22:false,%22is_optimized%22:true,%22offset%22:0,%22search_after%22:\[1680226330509,8572,%22L_1680226330509_cgj4hqbrhi85kl1m6os0%22\],%22timeRange%22:\[1680187562081,1680230762081\],%22tz%22:%22Asia%2FShanghai%22%7D%7D\]%7D' \
- H 'DF-API-KEY: <DF-API-KEY>' \
- -compressed \
- -insecure
注意:仅标准成员及以上可进行复制命令行操作。
除该导出路径外,您还可采用其他日志数据导出方式。
设置状态颜色¶
观测云为状态值已经设置了系统默认颜色。如您需要修改不同的状态下,对应数据在查看器中显示的颜色,可通过点击设置状态颜色进行修改。
格式化配置¶
格式化配置可以让您隐藏敏感日志数据内容或者突出需要查看的日志数据内容,还可以通过替换原有日志内容进行快速筛选。
点击查看器列表右上角的设置,点击格式化配置,即可添加映射,输入以下内容,点击保存,即可把含 “DEGUB” 的原日志内容替换成您想显示的格式。
- 字段:如内容
- 匹配方式:如 match(目前支持
=
、!=
、match
、not match
) - 匹配内容:如 DEBUG
- 显示为内容:如
******
注意:仅管理员及以上可进行查看器格式化配置。
日志数据导出¶
在日志中,您可以先筛选出想要的日志数据,再通过 导出后进行查看和分析,支持导出到 CSV 文件或者仪表板和笔记。
如果需要导出某条日志数据,打开该条日志详情页,点击右上角 图标即可。
日志颜色高亮¶
为了让您能更快的的获取日志的重点数据信息,观测云采用不同的颜色高亮日志的不同内容,分成浅色和深色两种主题颜色。
注意:如果在搜索栏对日志进行搜索时,返回的列表仅保留匹配到的关键词的高亮显示。
日志内容 | 浅色主题 | 深色主题 |
---|---|---|
日期(日志发生的时间) | 黄色 | 浅黄色 |
关键字(HTTP协议相关,如GET) | 绿色 | 浅绿色 |
文本(带引号的字符串) | 蓝色 | 浅蓝色 |
默认(无任何标示的文本) | 黑色 | 灰色 |
数字(日志状态码等,如404) | 紫色 | 浅紫色 |
日志单行展开复制¶
点击 至某条日志内容,可展开查看日志的全部内容;
点击 按钮可复制整条日志内容。日志内容展开时,若支持 JSON 展示,会将该条日志以 JSON 格式展示,若不支持则正常展示该日志内容。
日志多行浏览¶
观测云的日志数据列表默认为您展示日志的触发时间和内容。您可以在查看器显示列中选择日志显示 “1 行”、“3 行”、“10 行”和全部来查看完整的日志内容。
日志详情¶
点击日志列表,即可划出当前日志的详情页查看日志的详细信息,包括日志产生的时间、主机、来源、服务、内容、扩展字段、查看上下文等多项信息。
查看完整日志¶
日志上报到观测云时,若数据超过 1M 大小,会按照 1M 标准切分,即一条日志 2.5M,会被分割为 3 条(1M/1M/0.5M)。切割后的日志您可以根据以下字段查看相关完整性:
字段 |
类型 | 描述 |
---|---|---|
__truncated_id |
string | 表示日志唯一标识,切分出多条日志,使用相同的 __truncated_id ,ID 前缀为 LT_xxx。 |
__truncated_count |
number | 表示切分出的日志总条数。 |
__truncated_number |
number | 表示日志的切分顺序,从 0 开始,0 表示日志开始的那一条。 |
在日志详情页,若当前日志被切割成多条,则右上角会显示查看完整日志按钮,点击查看完整日志会打开新页并根据日志的切分顺序列出所有相关日志,同时页面会通过颜色标注跳转前选中的日志,帮助定位上下游。
查看上下文日志¶
日志服务的上下文查询功能能帮助您利用时间线索,追溯到某条异常日志发生前后的日志记录。通过观测云对于日志上下文信息的可视化呈现,能有效帮助您故障排查和问题定位,从而及时作出响应。
在日志详情页,您可以直接查看该条数据内容的上下文日志;点击 即可打开上下文日志新页面。
相关逻辑补充理解
按照返回数据,每次滚动加载 50 条数据。
返回的数据如何查询得到?
前提:日志是否存在 log_read_lines
字段?若存在,则遵循逻辑 a;若不存在,则遵循逻辑 b。
a. 获取当前日志的 log_read_lines
值,并带入筛选 log_read_lines >= {{log_read_lines.value-30}} and log_read_lines <= {{log_read_lines.value +30}}
DQL 示例:当前日志行数 = 1354170
则:
L::RE(`.*`):(`message`) { `index` = 'default' and `host` = "ip-172-31-204-89.cn-northwest-1" AND `source` = "kodo-log" AND `service` = "kodo-inner" AND `filename` = "0.log" and `log_read_lines` >= 1354140 and `log_read_lines` <= 1354200} sorder by log_read_lines
b. 获取当前日志时间,向前/后推得出查询的【开始时间】、【结束时间】
- 开始时间:以当前日志时间向前推 5 分钟;
- 结束时间:取当前日志向后推 50 条数据,取第 50 条的时间(time),若 time=当前日志时间,则以 time+1微妙
作为结束时间, 若time≠当前日志时间,则以 time
作为结束时间。
上下文日志详情页¶
点击 后跳转进入详情页:
您可根据以下操作对当前所有数据进行管理:
- 在搜索框输入文本进行搜索定位数据;
- 点击侧边 按钮,可更换系统的默认选择自动换行,选择内容溢出后,每条日志都显示为一行,可按需左右滑动查看。
属性字段¶
当鼠标点击属性字段进行快速筛选查看,支持查看与日志相关的主机、进程、链路、容器数据。
字段 | 说明 |
---|---|
筛选字段值 | 即添加该字段至日志查看器,查看与该字段相关的全部日志数据。 |
反向筛选字段值 | 即添加该字段至日志查看器,查看除了该字段以外其他的相关日志数据。 |
添加到显示列 | 添加该字段到查看器列表进行查看。 |
复制 | 即复制该字段至剪贴板。 |
查看相关容器 | 即查看与该主机相关全部容器。 |
查看相关进程 | 即查看与该主机相关全部进程。 |
查看相关链路 | 即查看与该主机相关全部链路。 |
查看相关巡检 | 即查看与该主机相关全部巡检数据。 |
日志内容¶
-
日志内容根据
message
类型自动显示 JSON 和文本两种查看模式。若日志没有message
字段,则不显示日志内容部分,日志内容支持展开收起,默认为展开状态,收起后仅显示 1 行的高度; -
对于
source = bpf_net_l4_log
的日志,自动显示 JSON 和报文两种查看模式。报文模式显示客户端、服务端、时间等相关信息,支持切换查看绝对时间/相对时间,默认显示绝对时间,切换后该配置会保存至本地浏览器。
扩展字段¶
-
在搜索栏,可输入字段名称或值快速搜索定位;
-
勾选字段别名后,可在字段名后查看;
- hover 某一扩展字段,点击下拉图标,可选择针对该字段筛选字段值、反向筛选字段值、添加到显示列和复制。
关联分析¶
观测云支持您通过详情页下方的主机,查看相关主机(关联字段:host
)的指标视图和属性视图。
- 指标视图:可查看相关主机在该日志结束前30分钟到日志结束后 30 分钟内的性能指标状态,包括相关主机的 CPU、内存等性能指标视图。
- 属性视图:帮助您回溯日志产生时主机对象的真实情况,支持查看相关主机在对应时间内产生的最新一条对象数据,包括主机的基本信息、集成运行情况。若开启云主机的采集,还可查看云厂商的信息。
注意:观测云默认保存主机对象最近 48 小时的历史数据。未找到当前日志时间对应的主机历史数据时,您将无法查看关联主机的属性视图。
通过详情页下方的链路,您可以查看当前日志相关的链路(关联字段:trace_id
)火焰图和 Span 列表,点击右上角的跳转按钮可直接对应的链路详情。
更多关于链路火焰图和 Span 列表的介绍,可参考 链路分析。
- 火焰图:
- Span 列表:
观测云支持您通过详情页下方的容器,查看相关容器(关联字段:container_name
)的基本信息和在选定时间组件范围内的性能指标状态。
- 属性视图:帮助您回溯日志产生时容器对象的真实情况,支持查看相关容器在对应时间内产生最新的一条对象数据,包括容器的基本信息、属性信息。
- 指标视图:支持查看相关容器在该日志结束前 30 分钟到日志结束后 30 分钟的性能指标状态,包括容器 CPU、内存等性能指标视图。
观测云支持您通过详情页下方的 Pod,查看相关 Pod(关联字段:pod_name
)的属性视图和指标视图。
- 属性视图:帮助您回溯日志产生时容器 Pod 对象的真实情况,支持查看相关容器 Pod 在对应时间内最新的一条对象数据,包括 Pod 的基本信息、属性信息。
- 指标视图:支持查看相关容器 Pod 在该日志结束前30分钟到日志结束后 30 分钟的性能指标状态,包括 Pod CPU、内存等性能指标视图。
观测云支持您通过详情页下方的网络,查看 48 小时内的网络数据连接情况。包括 Host 、Pod、Deployment 和 Service。
更多详情,可参考 网络。
匹配字段
在详情页中查看相关网络,需要匹配对应的关联字段,即在数据采集的时候需要配置对应的字段标签,否则无法在详情页中匹配查看关联的网络视图。
- Host:匹配字段
host
,支持点击右侧的复制按钮复制关联字段及其值。 - Pod:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、pod_name |
namespace、pod |
pod_name |
pod |
- Deployment:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、deployment_name |
namespace、deployment |
deployment_name |
deployment |
BPF 日志
对于 source = bpf_net_l4_log
和 source:bpf_net_l7_log
的日志,支持查看关联网络(关联字段:host
)。
通过 inner_traceid
和 l7_trace_id
关联网络日志:
-
inner_traceid
字段,关联同一网卡的 4 层和 7 层网络; -
l7_trace_id
字段,关联跨网卡的 4 层和 7 层网络。
关联的网络视图:
pod
匹配 src_k8s_pod_name
字段,显示 pod 内置视图。
deployment
匹配 src_k8s_deployment_name
字段,显示 deployment 内置视图。
- Service:匹配字段如下,支持点击右侧的复制按钮复制关联字段及其值。
匹配字段优先级 |
---|
namespace、service_name |
namespace、service |
注意:
- 若同时查询到 Host、Pod、Deployment、Service 的关联字段,进入详情页时则按照此顺序显示网络数据;
- 若未查询到关联字段,则排在末端显示为灰色,点击提示未匹配到网络视图。
绑定内置视图¶
观测云支持设置绑定或者删除内置视图(用户视图)到日志详情页面。点击绑定内置视图,即可为当前日志详情页添加新的视图。