ELK日誌簡化方案

2021-08-25 14:04:24 字數 1551 閱讀 4435

elk是現在常用的日誌方案,有多種組合方式:

elasticsearch + kibana + logstash:由logstash收集各終端的日誌,過濾後發到送elasticsearch,但logstatsh比較耗資源,會影響本地應用的效能

elasticsearch + kibana + filebeat:改由輕量的filebeat收集日誌,但filebeat不支援過濾(注:新版的ignest node可以部分實現),所以又出現了下面的組合

elasticsearch + kibana + filebeat + logstash:filebeat採集的日誌統一經過logstash處理後再到elasticsearch

elasticsearch + kibana + kafka/redis + logstash:這種組合也比較常見,使用kafka/redis的訊息分發功能由logstash統一收集訊息再發到elasticsearch

上面的方案的主要缺陷是引入節點太多,增加了複雜性,降低了可靠性。另外logstash的grok配置也是需要啃一番文件的。

在需要支援elasticsearch日誌的spring boot工程增加以下依賴

net.xdevelopgroupid>

1.0.0version>

dependency>

<?xml version="1.0" encoding="utf-8"?>

resource="org/springframework/boot/logging/logback/base.xml" />

name="stdout"

class="ch.qos.logback.classic.encoder.patternlayoutencoder">

%d [%thread] %-5level %logger - %msg%npattern>

encoder>

name="elastic"

docker-clusterclustername>

192.168.1.21:9300clusternodes>

level="info">

ref="stdout" />

ref="elastic" />

root>

name="net.xdevelop.elasticlogdemo"

level="info" />

configuration>

執行spring boot應用,正常使用logger.info()等輸出日誌就會直接傳送到elasticsearch伺服器。

為了看到發過來的日誌,還需要在kibana裡按下圖配置index pattern:

然後就可以在discovery裡看到應用發來的日誌了:

喜歡的**個星

ELK日誌分析方案

針對公司專案微服務化,隨著專案及伺服器的不斷增多,決定採用elk elasticsearch logstash kibana 日誌分析平台進行微服務日誌分析。1.在微服務伺服器上部署logstash,作為shipper的角色,對微服務日誌檔案資料進行資料採集,將採集到的資料輸出到redis訊息佇列。...

ELK日誌分析方案

針對公司專案微服務化,隨著專案及伺服器的不斷增多,決定採用elk elasticsearch logstash kibana 日誌分析平台進行微服務日誌分析。1.在微服務伺服器上部署logstash,作為shipper的角色,對微服務日誌檔案資料進行資料採集,將採集到的資料輸出到redis訊息佇列。...

網路摘抄 開源日誌解決方案ELK

一般我們需要進行日誌分析場景 直接在日誌檔案中 grep awk 就可以獲得自己想要的資訊。但在規模較大的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔 文字搜尋太慢怎麼辦 如何多維度查詢。需要集中化的日誌管理,所有伺服器上的日誌收集彙總。常見解決思路是建立集中式日誌收集系統,將所有節點上的...