Logstash搭建及配置(四)

2018-11-09  本文已影响53人  橡皮24

1 搭建过程

Logstash采用源码包方式启动,无需安装,解压配置就可以启动,logstash需要jdk1.8支持

1.1 配置目录

主配置文件:logstash-5.6.11home/config/logstash.yml Jvm配置文件:logstash-5.6.11home/config/jvm.options
Log4j配置文件:$logstash-5.6.11home/config/log4j2.properties
在config目录下创建一个conf目录,用来装我们自己定义的配置文件

以下为我的配置文件

1.2 配置文件解释

[root@kafka11 conf]# cat tomcat.conf

input {

 kafka {

 bootstrap_servers => "10.10.4.11:9092,10.10.4.12:9092,10.10.4.13:9092"

#指定kafka集群ip和端口

 topics => "epg"

#指定消费的topic

 group_id => "elk"

#指定消费者组,同一个topic要使用同一个组,不然会重复消费

 }

filter {

#消息截取字段

 json {

 source => "message"

 }

 mutate {

 gsub => ["message", "\n", ""]

#换行

 }

 if [project_tag] == "tomcat_access" {

#判断project_tag标签,不同的标签可以通过不同的截取分出不同的字段

 grok {

 match => { "message" => "%{IP:clent_ip} (?:-|%{USER:logic_user}) (?:-|%{USER:verification_user}) \[%{TIMESTAMP_ISO8601:timestamp}\] \[(?:%{WORD:http_verb} %{NOTSPACE:request_url}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\] %{NUMBER:status} \[(?:-|%{NOTSPACE:request_url_2})\] \[%{GREEDYDATA:agent}\] (?:-|%{NUMBER:curl_size}) (?:-|%{NUMBER:responsetime})"}

#截取内容

 }

 }

 date {

 match => ["timestamp", "yyyy-MM-dd HH:mm:ss,SSS"]

 target => "@timestamp"

#时间转换,时间戳为UTC时间,转换成UTC+8的北京时间。

 }

}

output {

if [project_tag] == "catalina" {

 elasticsearch {

 hosts => ["10.10.4.11:9200","10.10.4.12:9200","10.10.4.13:9200"]

 index => "catalina_log_%{+YYYY-MM-dd}"

 }

 stdout{codec => rubydebug}

}
[root@kafka11 conf]# cat nginx.conf

input {

 kafka {

 bootstrap_servers => "10.10.4.11:9092,10.10.4.12:9092,10.10.4.13:9092"

 topics => "nginx_access"

 group_id => "elk"

 type => "nginx_access"

 }

}

filter {

 json {

 source => "message"

 }

 json {

#source => "message"

 # remove_field => "message"

 }

 mutate {

 convert => ["upstreamresponse_time", "float"]

 convert => ["requesttime","float"]

 }

 date {

 match => ["timestamp", "ISO8601"]

 target => "@timestamp"

 timezone => "UTC"

 }

}

output {

 elasticsearch {

 hosts => ["10.10.4.11:9200","10.10.4.12:9200","10.10.4.13:9200"]

 index => "nginx_access_%{+YYYY-MM-dd}"

 }

 stdout{codec => "rubydebug"}

#解码语句

}

2 相关命令

1、启动命令

./bin/logstash -f /data/logstash-5.6.11/config/conf/tomcat.conf --path.data=./tomcat_pid/ &

注意:如果一台logstash需要启动多个进程。需要--path.data参数,不然会报错

这样启动可以显示相关日志,收取的日志也可以看到,能判断截取字段是否生效。

2、后台运行

nohup ./bin/logstash -f /data/logstash-5.6.11/config/conf/tomcat.conf --path.data=./tomcat_pid/ &  > /dev/null 2>&1
上一篇下一篇

猜你喜欢

热点阅读