ELK是什么?
ELK是3個開源產品的組合:
- Elasticsearch、
- Logstash
- Kibana
全部由Elastic開發維護。
Elasticsearch是一個基於Lucene搜索引擎的NoSQL數據庫。Logstash是一個日志管道工具,接受數據輸入,執行數據轉換,然后輸出數據。Kibana是一個界面層,在Elasticsearch之上工作。另外,ELK棧中還包含稱為Beats的日志收集器系列工具。
ELK最常見的使用場景是作為互聯網產品的日志系統,當然ELK棧也可用於其他方面,例如:商業智能、大數據分析等。
為什么使用ELK?
ELK棧很受歡迎,因為它功能強大,開源免費,對於SaaS企業和創業公司等規模較小的公司,使用ELK搭建日志系統性價比很高。
Netflix、Facebook、微軟(Microsoft)、領英(LinkedIn)和思科(Cisco)也使用ELK監控日志。
為什么使用日志系統?
日志系統記錄了系統運行、業務處理的方方面面,在故障排除、業務分析、數據挖掘、大數據分析等方面起着越來越重要的作用。
ELK架構
ELK棧中的各個組件之間相互協作,不需要太多額外的配置,當然對於不同使用場景,架構也會有區別。
對於小型開發環境,通常架構如下:
對於有大量數據的生產環境,可能會在日志體系結構中添加其他部分,例如:提高彈性(添加Kafka、RabbitMQ、Redis)和安全性(添加nginx):