首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Spring MVC 整合 ELK 搭建分布式日誌平台全過程實戰

     編輯:Java 綜合教學

Spring MVC + ELK 分布式日誌平台搭建實戰

ELK 架構

技術棧

  • Spring MVC、Logback、Logstash、Elasticsearch、Kibana、Redis

整體架構:應用 → Logback → Redis 隊列 → Logstash → Elasticsearch → Kibana 可視化。
架構圖

1. 搭建 Spring MVC 專案

使用 Spring Tool Suite 插件創建 Spring MVC 模板專案,自帶可運行 Hello World,Maven 結構標準。
STS Menu
New Project
Project Structure

2. Redis 安裝

Windows 版:github.com/mythz/redis-windows。解壓選版本,修改 bind 127.0.0.1,啟動 redis-server.exe redis.windows.conf,客戶端 redis-cli.exe -h 127.0.0.1 -p 6379 測試。
Redis Versions

3. ELK 安裝配置

下載地址:elastic.co/downloads。

  • Elasticsearch:修改 cluster.name、node.name,啟動 elasticsearch.bat,驗證 https://127.0.0.1:9200/。安裝 head 插件:plugin install mobz/elasticsearch-head。
    ES Status
    Head Plugin
  • Logstash:配置 input{redis{...}}、output{elasticsearch{...}},啟動 logstash -f etc/logstash.d/。
    Logstash Arch
  • Kibana:配置 elasticsearch.url、kibana.index。
    Kibana Config

4. 整合 Logback

依賴:slf4j-api、logback-classic、logback-redis-appender(排除 jedis 避免衝突)。

<appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
  <source>logstashdemo</source>
  <type>dev</type>
  <host>127.0.0.1</host>
  <key>logstash</key>       <!-- 需與 logstash input key 一致 -->
  <tags>dev</tags>
  <mdc>true</mdc>
  <location>true</location>
</appender>

Controller 中使用 SLF4J 記錄日誌,自動流向 Redis。
Log Code

5. 驗證與查看

啟動所有服務,訪問應用產生日誌。Redis 下 llen logstash 觀察隊列增長。Kibana 首次打開創建索引模式即可查看採集日誌。
Redis Check
Kibana Index
Kibana Dashboard

參考資料:51CTO、kibana.logstash.es、CSDN 等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved