ELK 系统架构 概述 架构 Logstash Elasticsearch Kibana

概述

一个完整的集中式的日志管理系统,一般需要具有如下几个主要特征:

  • 收集:能够收集各种来源的日志;
  • 传输:能够把日志传输到日志管理系统;
  • 存储:存储日志数据;
  • 分析:能够对日志进行分析并展示;
  • 警告:能够提供错误告警和监控机制;

Elasticsearch + Logstash + KibanaELK)恰是一套能满足上述要求的开源的日志管理方案。

架构

Logstash:负责日志的收集、过滤和传输;
Elasticsearch:负责日志存储、检索和分析;
Kibana:负责日志的可视化;

架构图如下:


Logstash

Logstash 事件处理有三个阶段:

  • input
  • sfiltes
  • outputs

是一个接收、处理、转发日志的工具。支持日志系统、webserver 日志、错误日志、应用日志等。
Logstash 分为 ShipperIndexer 两种角色,分别完成不同的工作:

  • Shipper:安装在在 client 上,只负责采集和传输日志;
  • Indexer:安装在 server 上,从队列(例如 redis)读取日志、过滤、格式化等,然后存入 Elasticsearch

架构

Elasticsearch

Elasticsearch 是一个基于 Lucene 的开源分布式搜索引擎和分析引擎,负责日志存储、检索和分析。

Elasticsearch 是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量,配置刷新频率,分配分析器等,存储在索引中的海量文档分布式存储在 Elasticsearch集群中。

Elasticsearch 将所有文档信息写入到倒排索引(Inverted Index)的数据结构中,倒排索引建立的是索引中词和文档之间的映射关系,在倒排索引中,数据是面向词(Term)而不是面向文档的。

ElasticSearch 的对象模型,跟关系型数据库模型相比:

  • 索引(Index):相当于数据库,用于定义文档类型的存储,在同一个索引中,同一个字段只能定义一个数据类型;
  • 文档类型(Type):相当于关系表,用于描述文档中的各个字段的定义,不同的文档类型,能够存储不同的字段,服务于不同的查询请求;
  • 文档(Document):相当于关系表的数据行,存储数据的载体,包含一个或多个存有数据的字段;
  • 字段(Field):文档的一个Key/Value对;
  • 词(Term):表示文本中的一个单词;
  • 标记(Token):表示在字段中出现的词,由该词的文本、偏移量(开始和结束)以及类型组成;

Kibana

Kibana 是一个数据可视化服务,根据用户的操作从 Elasticsearch 中查询数据,形成相应的分析结果,并以图表的形式展现给用户。


参考地址:
https://www.cnblogs.com/kevingrace/p/5919021.html
http://www.cnblogs.com/ljhdo/p/4981928.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章