Spring Boot學(xué)習(xí)筆記七:整合ELK

前面我們已經(jīng)在Windows搭建好了ELK,沒看過的朋友可以看一下我的上一篇文章
http://www.itdecent.cn/p/b783688f637d
現(xiàn)在我們開始試著把ELK整合到項目中實現(xiàn)日志的分析

1.首先我們把Logstash的conf配置文件改成

input {
    tcp {  
        host => "localhost"    ##安裝logstash的ip
        port =>  9601          ##設(shè)置logstash的端口
        mode => "server"  
        tags => ["tags"]  
 
        codec => json_lines      ##格式j(luò)son    
    }  
 
} 
 
output {
    elasticsearch {
        action => "index"
        hosts => "127.0.0.1:9200"         #e#s的ip和端口(本次logstash和es是同一個服務(wù)器)
        index => "applog"                 ##es的index名稱
    }
    stdout { codec => rubydebug}
}

接著重新啟動一下

2.去我們的Spring Boot項目里添加依賴

        <!--ELK-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
        </dependency>
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
        </dependency>

3.在resources中添加配置文件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">
        <!--這里必須和logstash配置文件中input -tcp 中的host 和 port一致-->
        <destination>localhost:9601</destination>
        <!-- 日志輸出編碼 -->
        <encoder charset="UTF-8"
                 class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "logLevel": "%level",
                        "serviceName": "${springAppName:-}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "rest": "%message"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>

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

</configuration>

4.最后我們添加測試類進(jìn)行測試

   private final static Logger logger = LoggerFactory.getLogger(TextController.class );

    @RequestMapping("/textElk")
    public String textElk(){
        logger.info("===================textElk");
        logger.info("===================開始測試");
        return "ok";
    }

把項目跑起來

5.進(jìn)入到Kibana中查看日志信息
首先去management中找到Index patterns然后點擊Create index pattern


image.png

填寫完以后點擊Next step


image.png

此處選擇"@timestamp"后確認(rèn)
最后在Discover中查看
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容