Flunetd 用于统一日志记录层的开源数据收集器(2)

所有的缓冲输出插件都支持以下参数:

<match pattern> # omit the part about @type and other output parameters buffer_type memory buffer_chunk_limit 256m buffer_queue_limit 128 flush_interval 60s disable_retry_limit false retry_limit 17 retry_wait 1s max_retry_wait 10s # default is infinite </match>

buffer_type指定要使用的缓冲区插件,默认情况下使用内存缓冲区插件。您还可以将缓冲区类型指定为file,使用buffer_path指定file路径. 生产环境建议使用file

Flunetd 用于统一日志记录层的开源数据收集器

Secondary output:当重试计数超过retry_limit时就使用备份的目的地。目前,当primary 插件类型为file 插件时可以工作。这是很有用的,当primary 目的地或网络条件不稳定时。相当于B方案。


buff 可用的插件列表

buf_memory buf_file 4. Filter Plugins

概述:Filter插件使Fluentd 可以修改事件流,例如下面的场景:

通过刷新一个或多个字段的值来过滤事件。

通过添加新的字段丰富事件。

删除或屏蔽某些字段的隐私和合规性。拓展:“脱敏”

<filter foo.bar> @type grep regexp1 message cool </filter>

上面的意思就是:将事件与tag(标签)为“foo.bar”进行匹配,并且如果message字段的值包含 cool,则事件将通过其余的配置。
像output插件中的指令一样,对标签进行匹配。一旦事件被filter处理,事件将从上到下进行配置,因此,如果同一个标签有多个过滤器,则按降序应用。通过下面的例子看下:

<filter foo.bar> @type grep regexp1 message cool </filter> <filter foo.bar> @type record_transformer <record> hostname "#{Socket.gethostname}" </record> </filter>

一旦messages 字段中有包含cool 的事件,将会继续匹配。将以机器的主机名作为其值来获取新字段“hostname”。


filter 过滤插件可用的列表

grep record-transformer filter_stdout 5. Parser Plugins

概述:有时,用于输入插件的 format 参数(如:in_tail,in_syslog,in_tcp 和 in_udp)无法解析用户的自定义数据格式.(例如,上下文相关语法不能用正则表达式来解析)。为了解决这种情况,Fluentd有一个可插拔系统,使用户能够创建自己的解析器格式。
内置的Parsers 列表

regexp apache2 apache_error nginx syslog csv tsv ltsv json multiline none

支持使用Parsers 核心的Input plugins 列表(带 format参数的)

in_tail in_tcp in_udp in_syslog in_http 6. Formatter Plugins

概述:有时,输出插件的输出格式不能满足自己的需要。Fluentd有一个名为Text Formatter的可插拔系统,使用户可以扩展和重新使用自定义的输出格式。
对于支持Text Formatter的输出插件,format参数可用于更改输出格式。
内置Formatters列表

out_file json ltsv csv msgpack hash single_value

支持文本格��化程序支持的输出插件列表(很遗憾,暂不支持kafka)

out_file out_s3 三、生产环境的建议 1. high-availability

高可用配置参考链接:

2. performance-tuning

性能优化配置参考链接:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/64bb450099cf32b91dc96ed63a57e2fb.html