ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
Elasticsearch:
一、概念:
Elasticsearch:负责日志检索和分析和储存
一个采用Restful API的的高扩展性和高可用性的实时数据分析的全文搜索工具
高扩展性:添加节点非常简单,接入Elasticsearch集群会被自动发现
高可用性:由于是分布式的,每个节点都有备份
实时性:Elasticsearch是实时搜索平台,可支持PB级的大数据搜索能力
- Node(节点):单个的装有Elasticsearch服务并且提供故障转移和扩展的服务器
- Cluster(集群):一个集群就是由一个或多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群
- Document(文档):一个文档是一个可被索引的基础信息单元
- Index(索引):索引就是一个拥有几分相似特征的文档的集合
- Type(类型):一个索引中,你可以定义一种或多种类型
- Field(列):Field是Elasticsearch的最小单位,相当于数据的某一列
- Shards(分片):Elasticsearch将索引分成若干分,每个部分就是一个shard
- Replicas(复制):Replicas是索引一份或多份拷贝
非关系型数据库(Elasticsearch)与关系型数据库(比如Mysql)的对比:
Elasticsearch架构: