美文网首页
Logstash搭建及配置(四)

Logstash搭建及配置(四)

作者: 橡皮24 | 来源:发表于2018-11-09 15:44 被阅读53次

    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
    

    相关文章

      网友评论

          本文标题:Logstash搭建及配置(四)

          本文链接:https://www.haomeiwen.com/subject/onjoxqtx.html