logstash安装及切分日志配置及多行切分问题

logstash是ELK中收集信息的部分,发送到elasticsearch,最近在配置这一块,记录一下

我用的是logstash-7.6.2

下载logstash-7.6.2.tar.gz包后解压

tar -zxvf logstash-7.6.2.tar.gz

进入到logstash-7.6.2/config下新增一个config文件,我这里增加一个toes.config

input {
  file {
    #日志路劲
    path => ["日志文件地址/*.log4j"]
    #排除日志文件  *为通配符
    exclude => ["all*.log"]
    #type自定义
    type => "65applog"
    #start_position => "beginning"
    #sincedb_path => "/dev/null"
    #使用正则表达式,合并多行日志  
    codec => multiline {
              pattern => "^\<log4j:event" #发现<log4j:event,就合并日志      
              negate => true
              what => "previous"
   }
  }
}

output {
  elasticsearch {
    hosts => ["http://elastic IP:9200"]
    #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    index => "wmsapplog"
    #user => "elastic"
    #password => "changeme"
  }
  #stdout {codec => rubydebug}
}

 如果是多个路劲的日志文件也可以这样配置

input {
  file {
    path => ["日志路劲1/server.log*"]
    exclude => ["all*.log"]
    type => "65serverlog"
    #使用正则表达式,合并多行日志  
    codec => multiline {
        pattern => "^\d{2}\:\d{2}\:\d{2}\,\d{3}" #发现日期02:01:01,123像这种,就合并日志      
        negate => true
        what => "previous"
    }
   }
  file {
    path => ["日志路劲2/epny*.log4j"]
    exclude => ["all*.log"]
    type => "65uilog"
    #start_position => "beginning"
    #sincedb_path => "/dev/null"
    #使用正则表达式,合并多行日志  
    codec => multiline {
        pattern => "^\<log4j:event" #发现<log4j:event,就合并日志      
        negate => true
        what => "previous"
    }
  }
}

output {
  #如果想要两个日志索引不一样可根据type判断
  # if [type] == "65serverlog"{
  #      elasticsearch {
  #          hosts => ["http://ElasticSeach IP:9200"]
  #          #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  #          index => "索引名"
  #          #user => "elastic"
  #          #password => "changeme"
  #      }
  #}
  # if [type] == "66serverlog"{...}
  elasticsearch {
    hosts => ["http://ElasticSeach IP:9200"]
    #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    index => "wmsuilog"
    #user => "elastic"
    #password => "changeme"
  }
  #stdout {codec => rubydebug}
}

 然后再配置pipeline.yml中增加如下部分

- pipeline.id: toes
  path.config: 路劲/toes.config
#如果多个config文件继续添加即可
#- pipeline.id: toes1
#  path.config: 路劲/toes1.config

配置完成,启用应用 

#后台启动
nohup /infor/logstash/logstash-7.6.2/bin/logstash -f > /dev/null 2>&1 &

第一次启动完之后发现报错,原因是需要jdk1.8以上,因为我以前应用安装的是jdk1.7,所以这里我指定路劲下jdk1.8,具体需要修改config下配置文件startup.options在第一行增加如下图所示即可

 重新启动成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

意向天开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值