Fluentd输入插件:in_forward用法详解

in_forward插件通常用于从其他节点接收日志事件,这些节点包括其他Fluentd实例、fluent-cat命令行或者Fluentd客户端程序。这是目前效率最高的日志事件接收方法。

in_forward插件会在本地打开一个tcp监听socket,用于接收日志事件。同时,它也会开启一个udp端口用于接收和对端的心跳保活消息。

in_forward可接收json或MessagePack格式的数据,它会自动探测源数据是哪种格式。MessagePack是Fluentd内部使用的数据封装格式,因其效率高于json。

in_forward插件内置于Fluentd,无须安装。

  1. 示例配置
    <source> @type forward port 24224 bind 0.0.0.0</source>
  2. 参数说明
    1. 通用参数适用于in_forward插件
    2. @type
      插件类型,取值为forward
    3. port(0.14.0(最低要求版本,下同))
      监听端口,默认为24224
    4. bind(0.14.0)
      绑定的ip地址,默认为0.0.0.0
    5. tag(1.5.0)
      设置事件的tag,默认使用源事件的tag
    6. add_tag_prefix(1.5.0)
      向源事件tag前添加前缀
      <source> @type forward add_tag_prefix prod</source>

      如此配置,in_forward产生的事件tag为prod.INCOMING_TAG,比如prod.app.log。

    7. linger_timeout(0.14.0)
      设置socket的close等待时长。
    8. resolve_hostname(0.14.10)
      是否由ip解析主机名,默认false
    9. deny_keepalive(0.14.5)
      是否禁用长连接,默认false
    10. send_keepalive_packet(1.4.2)
      是否启动tcp保活,默认false
    11. chunk_size_limit(0.14.0)
      指定接收数据的最大chunk大小,
      超出最大值的chunk会被丢弃。
      默认无限制。
    12. chunk_size_warn_limit(0.14.0):
      指定接收数据的预警chunk大小,
      超出预警值会发送告警信息。
      默认不告警。
    13. skip_invalid_event(0.14.0)
      是否跳过非法事件。
    14. source_address_key(0.14.11)
      指定生成事件中来源ip的字段名,
      默认不添加来源ip字段。
    15. source_hostname_key(0.14.4)
      指定生成事件中来源主机名称的字段名,
      默认不添加主机名字段。
    16. <transport>配置项
      in_forward默认使用tcp传输数据。
      不加密。
      <transport>可开启ssl加密传输
      <transport tls> cert_path /path/to/fluentd.crt  # 这里还需要其他参数,请参见Fluentd官网说明</transport>
  3. 其他事项
    1. Fluentd工作在多worker进程模式时,in_forward插件会共用监听端口。
      <system> workers 3</system>
      <source> @type forward port 24224</source>
      这里,24224端口接收的事件会被自动路由到3个worker进程中。
    2. in_forward主要是为了高效传输日志,并不像in_tail一样可以通过<parse>来配置对数据的解析方法。
      如果想解析收到的数据,可在事件路由链中添加合适的过滤器。
      我们会在后续的文章中了解过滤器的用法。
(0)

相关推荐

  • 号称下一代日志收集系统!来看看它有多强

    后面随着架构的优化与演进,又引入另一个轻量级的组件 Filebeat,Filebeat和Logstash一样属于日志收集处理工具,基于原先 Logstash-fowarder 的源码改造出来的.与Lo ...

  • Fluentd输入插件:in_http用法详解

    in_http插件允许使用HTTP协议来采集日志事件.这个插件会建立一个支持REST风格的HTTP端点,来接收日志事件请求. [配置示例] 以下片段展示了in_http插件的简单用法. <sou ...

  • Fluentd输入插件:in_tail用法详解

    in_tail输入插件内置于Fluentd中,无需安装.它允许fluentd从文本文件尾部读取日志事件,其行为类似linux的tail -F命令(按文件名来tail).这几乎是最常用的一个输入插件了. ...

  • Fluentd 过滤插件:grep 用法详解

    " filter_grep 是一个常用的过滤日志内容的插件." 熟悉或者使用过 Linux 系统的小伙伴应该知道,Linux 中有三个处理文本内容的利器:grep.awk 和 se ...

  • Fluentd输出插件:out_elasticsearch用法详解

    " 把日志输出到elasticsearch做业务分析,这大概是最普遍的日志采集用途了" out_elasticsearch 输出插件用于将日志记录写入elasticsearch. ...

  • Fluentd输出插件:rewrite_tag_filter用法详解

    我们在做日志处理时,往往会从多个源服务器收集日志,然后在一个(或一组)中心服务器做日志聚合分析.源服务器上的日志可能属于同一应用类型,也可能属于不同应用类型. 我们可能需要在聚合服务器上对这些不同类型 ...

  • Fluentd输出插件:out_copy用法详解

    copy即复制,out_copy的作用就是将日志事件复制到多个输出,这样就可以对同一份日志做不同类型的分析处理. out_copy内置于Fluentd,无需单独安装. 示例配置 <match p ...

  • Fluentd输出插件:out_stdout用法详解

    stdout即标准输出,out_stdout将收到的日志事件打印到标准输出. 如果Fluentd以daemon方式在后台运行,out_stdout会将事件输出到Fluentd的运行日志中. 这个插件在 ...

  • Fluentd输出插件:out_forward用法详解

    和上一篇in_forward相对应的插件是out_forward. out_forward是一个带缓存的输出插件,用于向其他节点转发日志事件,并支持转发节点之间的负载均衡和自动故障切换. out_fo ...

  • Fluentd-kafka插件用法详解

    Fluentd支持从kafka订阅数据,同时支持向kafka发布数据.这两项功能集成在一个插件中:fluent-plugin-kafka,我们在下文中分别称之为输入插件和输出插件. [安装说明] 通过 ...