ELK之簡介

hackeruncle發表於2016-11-17

.簡介

1. 核心組成

ELKElasticsearchLogstashKibana三部分元件組成;

Elasticsearch: 個開源分散式搜尋引擎,它的特點有:分散式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等。

Logstash: 一個完全開源的工具,它可以對你的日誌進行收集、分析,並將其儲存供以後使用

kibana: 一個開源和免費的工具,它可以為 Logstash ElasticSearch 提供的日誌分析友好的 Web 介面,可以幫助您彙總、分析和搜尋重要資料日誌。

2.四大元件

Logstash: logstash server端用來蒐集日誌;

Elasticsearch: 儲存各類日誌;

Kibana: web化介面用作查尋和視覺化日誌;

Logstash Forwarder: logstash client端用來透過lumberjack 網路協議傳送日誌到logstash server


3.ELK+Redis工作流程

    在每個客戶端配置安裝logstash,直接將日誌outputElasticSearch上,實現對資料的讀取、解析和輸出處理。

    但是在生產環境中,在每臺應用伺服器執行logstash程式並將資料直接傳送到Elasticsearch裡,顯然是不科學的,原因:

a.       過多的客戶端連線對Elasticsearch是一種額外的壓力;

b.       網路抖動會影響到 logstash 程式,進而影響生產應用;

c.       運維人員未必願意在每臺生產伺服器上部署 Java,或者讓logstash跟業務程式碼爭奪Java資源。

    所以,在實際運用中,logstash 程式會被分為兩個不同的角色。執行在應用伺服器上的,儘量減輕執行壓力,只做讀取和轉發,這個角色叫做shipper;執行在獨立伺服器上,完成資料解析處理,負責寫入Elasticsearch 的角色,叫indexer

Logstash 社群通常習慣用 shipperbroker indexer 來描述資料流中不同程式各自的角色。

    在需要收集日誌的所有服務上部署logstash,作為logstash agentlogstash shipper)用於監控並過濾收集日誌,將過濾後的內容傳送到Redis,然後logstash indexer將日誌收集在一起交給全文搜尋服務ElasticSearch,可以用ElasticSearch進行自定義搜尋透過Kibana 來結合自定義搜尋進行頁面展示。

ELK之簡介

4.ELK的幫助手冊

ELK官網:

ELK官網文件:

ELK中文手冊:

註釋

ELK有兩種安裝方式

ü  整合環境:Logstash有一個整合包,裡面包括了其全套的三個元件;也就是安裝一個整合包。

ü  獨立環境:三個元件分別單獨安裝、執行、各司其職。(比較常用)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30089851/viewspace-2128608/,如需轉載,請註明出處,否則將追究法律責任。

相關文章