• Beats: Filebeat和pipleline processors


    简要来说:
    使用filebeat读取log日志,在filebeat.yml中先一步处理日志中的个别数据,比如丢弃某些数据项,增加某些数据项。
    按照之前的文档,是在filebeat.yml中操作的,具体设置如下:

    filebeat.inputs:
    - type: log
      enabled: true
      fields:
        apache: true
      tags: ["my-service", "hardware", "test"]
      paths:
        - /Users/liuxg/data/apache-daily-access.log
     
    processors: # 注意这几行,表示的是删除日志中的ecs这一项
      - drop_fields:
          fields: ["ecs"]
     
     
    output.elasticsearch:
      hosts: ["localhost:9200"]
    

    现在不采用直接在filebet.yml文件中修改的方法,直接使用创建单独的pipeline,在output.elasticsearch中引用这个pipeline从而达到上述效果:
    定义一个Pipleline:

    PUT _ingest/pipeline/my_pipeline_id
    {
      "description": "Drop ECS field and add one new field",
      "processors": [
        {
          "remove": { # 移除日志中的ecs
            "field": "ecs"
          },
          "set": { # 新增加一个,默认值是0
            "field": "added_field",
            "value": 0
          }
        }
      ]
    }
    

    这里my-pipleline-id是我们自己命令的在该cluster唯一标识是的pipleline ID

    引用这个

    filebeat.inputs:
    - type: log
      enabled: true
      fields:
        apache: true
      paths:
        - /Users/liuxg/data/apache-daily-access.log
     
    output.elasticsearch:
        hosts: ["localhost:9200"]
        pipeline: "my_pipeline_id" # 注意这一行
    

    感觉采用后者的方式比采用前者的方式功能更强大,可配置灵活性更好

  • 相关阅读:
    C#正则表达式
    HDU 1009 FatMouse' Trade
    HDU 1022 Train Problem I
    HDU 3665 Seaside
    (转)qsort完整版用法
    HDU 1061 Rightmost Digit (矩阵快速幂)
    HDU 2817 A sequence of numbers
    HDU 1943 Ball bearings
    HDU 1058 Humble Numbers
    HDU 4278 Faulty Odometer
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12850656.html
Copyright © 2020-2023  润新知