Logstash实践

Logstash实践
#下载地址
    https://mirrors.huaweicloud.com/logstash/
#在线gork正则的地址:http://grokdebug.herokuapp.com/ 
#Logstash基础正则地址:https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns 
  • 配置示例
input {
    file {
        #path => "D:/123.log"
        #监听文件的多个路径
        path => ["D:/123.log"]
        #排除不想监听的文件
        exclude => "1.log"

        type => "file_monitor"
        
        #添加自定义的字段
        add_field => {"test"=>"test"}
        #增加标签
        tags => ["有用的","标识用的"]

        #设置新事件的标志
        #delimiter => "aaa"

        #设置多长时间扫描目录,发现新文件
        discover_interval => 15
        #设置多长时间检测文件是否修改
        stat_interval => 1

        #监听文件的起始位置,默认是end
        start_position => beginning

        #监听文件读取信息记录的位置
        sincedb_path => "D:/1234.log"
        #设置多长时间会写入读取的位置信息
        sincedb_write_interval => 15
        
        #codec => multiline {
            #pattern => "^\d"
            #negate => true
            #what => "previous"
        #}
    }
}

filter{
    #从message中提取字段;172.16.213.132 [07/Feb/2018:16:24:19 +0800]"GET /HTTP/1.1" 403 5039
    grok{
        match => {
            "message" => "%{IPV4:ip}\ \[%{HTTPDATE:timestamp}\]"    
        }
    }
    #@timestamp默认取系统当前时间;date插件用来转换日志记录中的时间字符串,变成Logstash::Timestamp对象,然后转存到@timestamp字段里面
    date{
        match => ["timestamp","dd/MMM/yyyy:HH:mm:ss Z"]
    }
}

output {
    file {
       path => "D:/123.txt"
       #codec => line { format => "%{message}"} 
       #codec => "rubydebug"
    }
}
  • gork正则
eg1:
    11-18 13:01:40.032  INFO [DefaultQuartzScheduler_Worker-1] - com.hh.aic.artistic.timing.UrlDumpJob   |43 :
    (?<logDate>%{MONTHNUM}[/-]%{MONTHDAY} (?:%{TIME}))\s*%{LOGLEVEL:logLevel}\s*\[%{USERNAME:threadName}\] - %{USERNAME:className}\s*\|%{BASE10NUM:classLine}\s*:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值