Logstash配置——变量的使用

本文介绍了如何在Logstash中配置文件输入和输出,并利用grok解析器从日志文件路径中提取变量,用于动态生成输出文件名。示例配置展示了如何从access.log文件中提取app_name、app_instance和request_time字段,最终根据这些字段动态生成输出文件路径。

前置条件:Linux Logstash 5.5.0(其他版本请查阅一下文档)

使用logstash把日志从文件输出到文件,根据输入文件的路径,确定输出文件的文件名。配置如下:

input {
    stdin{}
    file {
        path => "/tmp/app1/instance1/access.log"
        start_position => "beginning"
    }
}
filter {
    grok {
        match => {
            "path" => "(?<app_name>app\d?)"
        }
    }
    grok {
        match => {
            "path" => "(?<app_instance>instance\d?)"
        }
    }
    grok {
        match => {
            "message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
        }
    }

}
output {
    stdout {
        codec => "json"
    }
    file {
        codec => "json"
        path => "/tmp/%{app_name}_%{app_instance}_%{request_time}.olog"
    }
}

如果不想用多个grok,可以配置一个grok,然后将属性break_on_match设置为false。

grok {

        break_on_match => false
        match => {
            "path" => "(?<app_name>app\d?)"

            "path" => "(?<app_instance>instance\d?)"

            "message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
        }
    }

 

转载于:https://my.oschina.net/u/2288883/blog/1486167

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值