Fluentd路由示例

继续了解Fluentd配置之前,我们先通过几个示例来了解Fluentd的路由过程。
  1. 简单场景:单输入->过滤器->输出

    <source> @type forward</source>
    <filter app.**> @type record_transformer <record> hostname "#{Socket.gethostname}" </record></filter>
    <match app.**> @type file # ...</match>

    forward接收tcp消息,record_transformer给日志增加一个hostname字段,输出到file

  2. 两个输入

    <source> @type forward</source>
    <source> @type tail tag system.logs # ...</source>
    <filter app.**> @type record_transformer <record> hostname "#{Socket.gethostname}" </record></filter>
    <match {app.**,system.logs}> @type file # ...</match>

    较上一个示例,增加了一个tail输入,tail产生的事件直接写文件。

  3. 输入->过滤器->带标签的输出

    <source> @type forward</source>
    <source> @type dstat @label @METRICS # dstat events are routed to <label @METRICS> # ...</source>
    <filter app.**> @type record_transformer <record> # ... </record></filter>
    <match app.**> @type file # ...</match>
    <label @METRICS> <match **> @type elasticsearch # ... </match></label>

    forward产生的事件处理流程不变,dstat直接跳转至@METRICS指定的label,写入elasticsearch

  4. 改写tag重新路由

    <match worker.**> @type route remove_tag_prefix worker add_tag_prefix metrics.event
    <route **> copy # For fall-through. Without copy, routing is stopped here. </route> <route **> copy @label @BACKUP </route></match>
    <match metrics.event.**> @type stdout</match>
    <label @BACKUP> <match metrics.event.**> @type file path /var/log/fluent/backup </match></label>

    route插件将worker标记的事件重新标记为metrics.event,并重新发送事件给路由引擎,事件进入两个处理分支:输出到stdout;写入file

  5. 根据record内容重新路由

    <source> @type forward</source>
    # event example: app.logs {"message":"[info]: ..."}<match app.**> @type rewrite_tag_filter <rule> key message pattern ^\[(\w+)\] tag $1.${tag} </rule> # you can put more <rule></match>
    # send mail when receives alert level logs<match alert.app.**> @type mail # ...</match>
    # other logs are stored into file<match *.app.**> @type file # ...</match>

    forward产生的事件由rewrite_tag_filter处理,提取record中的[log_level],添加到原tag之前,生成新的tag。事件再次进入路由引擎,alert开头的tag标记的事件,通过mail处理;其他类型的事件写入file

  6. 重新路由到指定label

    <source> @type forward</source>
    <match app.**> @type copy <store> @type forward # ... </store> <store> @type relabel @label @NOTIFICATION </store></match>
    <label @NOTIFICATION> <filter app.**> @type grep regexp1 message ERROR </filter>
    <match app.**> @type mail </match></label>
使用relabel插件,直接将事件路由到@NOTIFICATION指定的label处理。relabel不修改事件的tag。
(0)

相关推荐

  • (35条消息) 中国城域网路由情况介绍

    中国的城域网,大概有三张比较典型的,一个是中国移动的CMnet,一个是中国电信IP城域网,还有一个是中国网通IP城域网.作为接入最后的阵地,城域网的业务是最复杂的.含盖了IPTV,语音,Interne ...

  • 学霸的考场作文实战示例:高考作文如何开头与结尾

    俗谚:编筐编篓,重在收口.写文章,常常是头难起,尾难收. 评卷时,开头结尾也往往是评卷人的聚焦点,基础等级和发展等级的许多点都可以从开头结尾看出来. 关于开头结尾的要求,古人有形象而精辟的说法,曰&q ...

  • 人力资源金字塔示例(30个)

    金字塔模型是由美国匹兹堡大学商学院John E·Prescott教授提出的,主要用于对竞争对手的跟踪分析,是企业开展竞争对手跟踪工作的指导工具,Prescott的金字塔模型提供了一条"竞争信 ...

  • 间接报酬的11个示例?

    每个人都为薪水而工作,那是直接物质回报,薪酬的另一方面对员工也很重要,就是间接薪酬.直接回报和间接回报有什么区别,间接回报的例子有哪些? 1.什么是间接回报? 你用来阅读文章的智能手机-谁付费?如果你 ...

  • SINAMICS V90 PN 伺服系统的配置示例

    FSB 用于单相电网的连接图: FSD 用于三相电网的连接图: ⚠警告接线错误导致人身伤害和设备损坏 错误的接线会导致较高的电击和短路风险,从而会对人员安全和设备造成危害. · 驱动与电机必须直接连接 ...

  • 增肌应该吃什么?70公斤男士增肌食谱示例

    增肌应该吃什么? 先计算你每天消耗的热量 基础代谢率(BMR): 女=655+(9.6x体重kg)+(1.8x身高cm)-(4.7x年龄years)(单位:大卡) 男=66+(13.7x体重kg)+( ...

  • 建筑工程常用的四类防水材料:总结示例,认识一下!

    建筑工程常用的四类防水材料:总结示例,认识一下!

  • 施工现场“九牌一图”完整示例

    (本文为通用版本,本地主管部门有要求时,需按本地主管部门要求设置) 一.安全宣传牌 二.施工人员概况牌 项目经理: 项目副经理:技术负责人: 安全负责人:材料负责人: 核算负责人:资料负责人: 试验负 ...