Logtail 混合模式:使用插件处理文件日志

  • 时间:
  • 浏览:0
  • 来源:大发彩神计划版网址—大发彩神稳赢计划

从先前的介绍中都能否看出,混合模式的分派配置实质上是文本模式的分派配置附去掉 额外的插件正确处理配置,你你是什么 ,配置它的入口依旧是创建文本模式的分派配置:原应是单行日志,创建 极简模式 的分派配置,原应是多行日志,创建 完整性正则模式 的分派配置,并切换至多行模式,设置行首正则表达式。

该日志由 时间多组键值对JSON 对象 三部分组成,分别使用 空格制表符 进行分隔,其中多组键值对部分使用 _'_ 分隔键值对,>-> 分隔键和值。

在完成文本模式的分派配置创建后,亲戚亲戚朋友都能否通过 API/SDK 的土方法去掉 构建好的插件正确处理配置。此处,亲戚亲戚朋友借助 CLI 来实现你你是什么 过程,代码如下:

如上是亲戚亲戚朋友所创建的混合模式分派配置中的插件正确处理配置部分,由 4 个正确处理插件组成:

从整体来看,Logtail 的分派模式都能否划分为以下一种生活:

总的来说,切分时所都要考虑的状况有单行日志和多行日志一种生活,以下将分别介绍。

前文的说明中原本提到,出于性能考虑,Logtail 提交给插件部分的数据何必 是单条日志,而是日志的组合,都要在插件正确处理配置的开始增加特定插件进行二次切分。

如上示例表示使用三个白 多 processor_regex 插件进行日志正确处理,第三个白 多插件根据配置的 Regex 参数对日志中的 content 字段进行正则提取,结果为 Keys 参数指定的三个白 多字段,而第三个白插件对上一步提取得到的 main_msg 字段再次进行正则提取,得到更多的字段。

在 SLS 控制台上,亲戚亲戚朋友都能否通过 高级选项-启用插件正确处理 来启用混合模式。

注意:此配置仅在混合模式下都要,原应使用的纯自定义插件的分派配置,都能否忽略。

如上图后边部分所示,纯 Logtail 的核心正确处理部分由日志切分(Splitter)和日志解析(Parser)组成,根据选折 的日志分派模式,日志切分把读取的文件内容切割成为四根条日志(比如单行基于换行符、多行基于行首正则),你你是什么 交由日志解析从单条日志中提取字段。由此可见,日志的分派模式固定了正确处理行为,比如完整性正则模式要求日志都要完整性符合设置的正则表达式,你你是什么 会报错。你你是什么 基于分派模式的固定行为,拥有更好的性能,但牺牲了灵活性。

为了方便分析,亲戚亲戚朋友希望将日志的内容提取成如下的字段:

以下示例在极简模式下使用 processor_add_fields 插件为每条日志增加三个白 多固定的字段。从两张截图的区别都能否发现,页面在默认配置中自动地填充了 processor_split_log_string 来实现按行二次切分。

都能否看了,多条单行日志被一次性输入到插件正确处理中,你你是什么 ,亲戚亲戚朋友都要配置三个白 多针对单行日志的切分插件,即先前列表中最后的 processor_split_log_string。对于单行日志,都能否直接复用如下配置:

假设亲戚亲戚朋友所分派的是单行文本日志,原始日志内容如下:

参考此配置时都要根据实际状况调整行首正则表达式(SplitRegex)。

类事 地,多行日志在提交给插件部分时也都要使用 processor_split_log_regex 进行基于行首正则的切分,配置如下(假设日志开头为常见的 [] 寄寄包裹 时间):

在 API/SDK 的土方法下,亲戚亲戚朋友都要根据所选模式(JSON、分隔符等)来对二次切分的插件进行配置。而在控制台上使用混合模式时,页面原应根据所选的模式,自动地生成相应的默认配置,亲戚亲戚朋友只都要配置针对单条日志的正确处理即可。通过 显示/隐藏默认配置,亲戚亲戚朋友都能否查看插件配置的完整性内容。

以下是当前所支持的正确处理插件,关于具体插件如何使用可参考文档正确处理分派数据。

假设单行日志的内容是 2019-09-23 14:08:16.952 [INFO] hello world,则 Logtail 提交给插件部分的数据内容原应是:

插件正确处理配置使用 JSON 对象进行表示,配置的 key 为 processors,value 是 JSON 对象的数组,数组内的每三个白 多 JSON 对象表示三个白 多正确处理插件的配置,正确处理时将按照数组内的定义顺序依次执行。数组内的每个 JSON 对象中含三个白 多字段:typedetailtype 表示正确处理插件的类型(JSON string),detail 表示该插件的完整性参数(JSON 对象,key 为参数名,value 为参数值)。

为此,Logtail 引入了 混合模式,一方面借助 Logtail 完善的事件机制来保证数据读取阶段的可靠性,买车人面,依赖于插件系统丰富的插件,来加强 Logtail 对僵化 日志的正确处理能力。

相比之下,混合模式则是牺牲一定的性能和计算资源来换取灵活性,以应对更为僵化 的场景。如上图所示,在混合模式下,Logtail 会将日志切分的结果直接提交给插件进行正确处理,在后者中,亲戚亲戚朋友都能否组合多种正确处理插件,来满足亲戚亲戚朋友的需求。

选折 你都要修改的配置所属的 project_nameconfig_name,把插件正确处理配置保存到任意文件(比如 plugin_config.json)后,调用脚本传入这三个白 多参数即可。

作为三个白 多服务百万机器的日志分派 agent,Logtail 目前原应提供了包括日志切分、日志解析(完整性正则、JSON、分隔符)、日志过滤在内的常见正确处理功能,并能应对绝大多数场景的正确处理需求。但你你是什么 以前,原应应用的历史原应或是一种生活业务日志的僵化 性,单一功能原应无法满足所分派日志的正确处理需求,比如: