网站开发用什么图片格式最好,网站建设培训教程新手入门到精通,wordpress内容导航,网站职业培训机构背景
在排查业务故障时#xff0c;用户往往需要查看业务日志文件来定位问题。然而#xff0c;当用户在使用SLS收集业务日志时#xff0c;同一个Logstore中往往存放着不同的日志#xff08;例如同一台主机上不同目录下的文件#xff0c;抑或是同一个K8S集群节点上不同容器…背景
在排查业务故障时用户往往需要查看业务日志文件来定位问题。然而当用户在使用SLS收集业务日志时同一个Logstore中往往存放着不同的日志例如同一台主机上不同目录下的文件抑或是同一个K8S集群节点上不同容器内的文件或标准输出直接在控制台上点击“查询/分析”按钮并不能直观地得到某一份日志文件的完整上下文内容。
为了解决这个问题SLS提供了上下文查询和LiveTail功能使得用户能够快速直观地浏览同一日志文件中的内容
上下文查询用户可在指定Logstore中的某条日志后直接查询某条该条日志的上下文即该条日志在所在文件中的前后若干条日志Livetail实时展示指定日志所在文件的最新日志类似于对该文件执行tail -f。
然而在Logtail 1.2.1版本之前上述两个功能仅针对使用固定解析模式解析日志的场景如极简模式、完整正则模式等当额外使用Logtail插件来提升日志解析能力或采集容器的标准输出时上述两个功能就不再起效。从Logtail 1.2.1版本起当用户使用Logtail插件来处理日志或采集容器的标准输出时可以通过配置日志上下文聚合插件来使用上述两个功能。
原理概览
Logtail采用批量发送日志数据的模式即多条日志会被打包在同一个日志组中进行传送。在这种模式下为了高效地获取某条日志的上下文或进行LivetailLogtail在打包日志数据时采用以下策略
同一个日志组中只存放同一来源的日志并在日志组的Meta信息中记录代表日志来源的唯一标识符及序号组内日志按时间顺序排列对于存放同一来源日志的日志组日志组的序号按时间先后顺序依次递增。
在这种模式下每一条日志都可用日志组标识符序号组内序号的二元组合进行唯一标识SLS服务端据此对该二元组合建立索引从而实现日志上下文的快速查找。 然而受限于Logtail插件系统的设计在1.2.1版本前当用户使用插件系统处理数据或采集容器的标准输出时Logtail无法执行上述策略。具体来说由于插件系统的输入模块是以一条条日志的形式向后续模块传递信息因此日志的来源信息从离开输入模块后便出现缺失从而导致无法在日志打包阶段即聚合模块将同一来源的日志放入同一个日志组中最终导致日志上下文查询及Livetail功能的失效。 为了解决上述问题Logtail在现有各模块之间的数据交互上额外增加日志来源信息同时新增了一个日志上下文聚合插件。由于日志的来源信息得以保留该插件因此可以依照上文提到的日志打包策略对日志进行打包从而实现日志的上下文查询及LiveTail。
采集配置设置
下面将介绍当用户使用Logtail插件来处理日志或采集容器的标准输出时如何设置采集配置以使用上下文查询和Livetail功能。
采集文本日志且使用Logtail插件处理日志
在采集文本日志时如果使用Logtail插件来解析日志则需要在插件配置的中额外增加日志上下文插件aggregator_context
{global: {...},processors: [...],aggregators: [{type: aggregator_context,detail: {}}]
}
示例使用Logtail插件解析单行正则日志则在控制台的插件配置框内填入以下内容
{global: {DefaultLogQueueSize: 10},processors: [{type: processor_split_log_string,detail: {SplitKey: content,PreserveOthers: true}},{type: processor_regex,detail: {SourceKey: content,Regex: (\\S)\\s-\\s(\\S),Keys: [remote_addr,remote_user]}}],aggregators: [{type: aggregator_context,detail: {}}]
} 采集容器标准输出
当用户在采集容器标准输出时也需要在插件配置的中额外增加日志上下文插件aggregator_context
{inputs: [{detail: {Stdout: true,Stderr: true},type: service_docker_stdout}],aggregators: [{type: aggregator_context,detail: {}}]
}
功能使用
上下文查询
对于选定的日志在该日志的左上角单击 图标进入上下文查询页面 此时可以使用鼠标在当前页面上下滚动查看指定日志的上下文信息。界面中的按钮功能如下
单击更早进行向上翻页浏览。单击更新进行向下翻页浏览。在高亮显示文本框中设置需要高亮显示的字符串可实现字符串标红显示。在过滤条件文本框中设置过滤字符串可实现日志列表中只显示包含过滤字符串的日志。字段过滤下拉菜单中可选择需要展示的字段。
Livetail
对于选定的日志在该日志的左上角单击 图标进入Livetail页面 此时该条日志所在文件的最新的日志数据将实时显示在页面底部。界面中的按钮功能如下
在高亮显示文本框中设置需要高亮显示的字符串可实现字符串标红显示。在过滤条件文本框中设置过滤字符串可实现日志列表中只显示包含过滤字符串的日志。字段过滤下拉菜单中可选择需要展示的字段。
原文链接
本文为阿里云原创内容未经允许不得转载。