侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Logstash配置——变量的使用

2023-10-01 星期日 / 0 评论 / 0 点赞 / 56 阅读 / 2457 字

前置条件:Linux Logstash 5.5.0(其他版本请查阅一下文档) 使用logstash把日志从文件输出到文件,根据输入文件的路径,确定输出文件的文件名。配置如下: input { std

前置条件: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"
        }
    }

 

广告 广告

评论区