• 13. 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.参数说明

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

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

    • linger_timeout(0.14.0)设置socket的close等待时长。
    • resolve_hostname(0.14.10)是否由ip解析主机名,默认false
    • deny_keepalive(0.14.5)是否禁用长连接,默认false
    • send_keepalive_packet(1.4.2)是否启动tcp保活,默认false
    • chunk_size_limit(0.14.0)指定接收数据的最大chunk大小,超出最大值的chunk会被丢弃。默认无限制。
    • chunk_size_warn_limit(0.14.0):指定接收数据的预警chunk大小,超出预警值会发送告警信息。默认不告警。
    • skip_invalid_event(0.14.0)是否跳过非法事件。
    • source_address_key(0.14.11)指定生成事件中来源ip的字段名,默认不添加来源ip字段。
    • source_hostname_key(0.14.4)指定生成事件中来源主机名称的字段名,默认不添加主机名字段。
    • <transport>配置项in_forward默认使用tcp传输数据。不加密。可开启ssl加密传输
    <transport tls>
      cert_path /path/to/fluentd.crt
      # 这里还需要其他参数,请参见Fluentd官网说明
    </transport>
    
    1. 其他事项
    • Fluentd工作在多worker进程模式时,in_forward插件会共用监听端口。
    <system>
      workers 3
    </system>
    
    <source>
      @type forward
      port 24224
    </source>
    

    这里,24224端口接收的事件会被自动路由到3个worker进程中。

    • in_forward主要是为了高效传输日志,并不像in_tail一样可以通过<parse>来配置对数据的解析方法。
      如果想解析收到的数据,可在事件路由链中添加合适的过滤器。
  • 相关阅读:
    仿发送微博限制只发送140个字(一个汉字占位2字节)
    Linux下多任务间通信和同步-信号
    Color
    面试遇到的问题
    Jquery Mobile左右滑动效果
    C++ primer(八)--内联函数 引用变量 引用传递函数参数 函数重载/模板/模板具体化
    Python3 配置文件 解析
    Python MySQL ORM QuickORM hacking
    Python 获取 网卡 MAC 地址
    AttributeError: 'dict_values' object has no attribute 'translate'
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13921552.html
Copyright © 2020-2023  润新知