3步集成LogStash,搭建ELK日志处理系统

日志在系统中相当重要,尤为是生产环境,一旦出现问题,首先是日志中的错误信息触发预警系统,而后经过邮件、短信甚至电话通知的方式报警给系统负责人。在排查修复问题阶段,开发测试人员一般也要查看系统日志,分析故障缘由。
git

 

ELK是经常使用的日志处理系统,Spring集成LogStash很是方便,配置LogBack将日志发送给LogStash。github


代码文件spring

功能要点json

SpringBoot集成LogStashruby

pom.xmlapp

引入LogStash依赖spring-boot-starter-loggingelasticsearch

logback.xmltcp

配置LogStash日志格式ide

application.ymlspring-boot

引用logback.xml配置

启动LogStash

安装包bin目录

配置logstash.conf,启动logstash -f logstash.conf

 

代码

Github下载:https://github.com/jextop/StarterApi/

 

SpringBoot集成LogStash

1. pom.xml中添加LogStash依赖

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>5.1</version>
</dependency>

2. resouces目录下添加logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>127.0.0.1:9600</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>

    <root level="INFO">
        <appender-ref ref="LOGSTASH"/>
    </root>
</configuration>

3. application.yml中引用logback.xml配置:

logging:
  config: classpath:logback.xml

 

启动LogStash

1. 下载LogStash:https://www.elastic.co/downloads/logstash

官网慢时可用网盘:https://pan.baidu.com/s/1b-czkB8z5aL6rdxZtBmNEw 提取码: arfb

2. bin目录下添加logstash.conf:

input.tcp.host可设置本机ip

input.tcp.port设置端口

output.elasticsearch.hosts设置输出地址

input{

    tcp {

        mode => "server"

        host => "0.0.0.0"

        port => 9600

        codec => json_lines

    }

}

output{

    stdout{

     codec => rubydebug

    }

    elasticsearch {

     hosts => ["127.0.0.1:9200"]

    }

}

3. 启动:logstash -f logstash.conf,看到端口信息提示,运行成功

 image.png

运行Spring项目,LogStash将收到日志信息

image.png

相关文章
相关标签/搜索