這是最簡單的一種ELK架構方式。優點是搭建簡單,易於上手。缺點是Logstash耗資源較大,運行占用CPU和內存高。另外沒有消息隊列緩存,存在數據丟失隱患。
此架構由Logstash分布於各個節點上搜集相關日志、數據,並經過分析、過濾后發送給遠端服務器上的Elasticsearch進行存儲。Elasticsearch將數據以分片的形式壓縮存儲並提供多種API供用戶查詢,操作。用戶亦可以更直觀的通過配置Kibana Web方便的對日志查詢,並根據數據生成報表。
此種架構引入了消息隊列機制,位於各個節點上的Logstash Agent先將數據/日志傳遞給Kafka(或者Redis),並將隊列中消息或數據間接傳遞給Logstash,Logstash過濾、分析后將數據傳遞給Elasticsearch存儲。最后由Kibana將日志和數據呈現給用戶。因為引入了Kafka(或者Redis),所以即使遠端Logstash server因故障停止運行,數據將會先被存儲下來,從而避免數據丟失。
架構圖三:
此種架構將收集端logstash替換為beats,更靈活,消耗資源更少,擴展性更強。同時可配置Logstash 和Elasticsearch 集群用於支持大集群系統的運維日志數據監控和查詢