ELK之简介

.简介

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官网:https://www.elastic.co/

ELK官网文档:https://www.elastic.co/guide/index.html

ELK中文手册:http://kibana.logstash.es/content/logstash/index.html

注释

ELK有两种安装方式

ü  集成环境:Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。

ü  独立环境:三个组件分别单独安装、运行、各司其职。(比较常用)