文章目录
- 一、ELK日志分析系统简介
 - 1.1、ELK日志分析系统组成
 - 1.2、日志处理步骤
 
- 二、3款软件各自概念
 - 2.1、Elasticsearch介绍
 - 2.2、Logstash介绍
 - 2.3、Kibana介绍
 
- 三、ELK日志分析系统部署
 - 3.1、实验环境及准备
 - 3.2、实验步骤
 - 3.2.1、elk-1和elk-2中部署Elasticsearch
 - 3.2.2、apache主机中安装logstash并做日志搜集
 - 3.2.3、在node1主机安装kibana
 
一、ELK日志分析系统简介
ELK日志分析系统是Logstash、Elasticsearch、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案,它可以从任何来源、任何格式进行日志搜索、分析与可视化展示
1.1、ELK日志分析系统组成
elasticsearch(es):通过搭建群集;存储日志数据,索引日志数据
 logstash :收集日志,收集到了后给es存储
 kibana :视图形式展现日志信息,更加人性化
1.2、日志处理步骤
1.将日志进行集中化管理
 2.将日志格式化(Logstash)并输出到Elasticsearch
 3.对格式化后的数据进行索引和存储(Elasticsearch)
 4.前端数据的展示(Kibana)
 
二、3款软件各自概念
2.1、Elasticsearch介绍
1、Elasticsearch的概述
 提供了一个分布式多用户能力的全文搜索引擎
 2、Elasticsearch核心概念
(1)接近实时(NRT)
elasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)
(2)集群(cluster)
一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。其中一个节点为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。
 一个集群可以只有一个节点。强烈建议在配置elasticsearch时,配置成集群模式。
(3)节点(node)
节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名字来标识,默认是在节点启动时随机分配的字符名。当然,你可以自己定义。该名字也很重要,在集群中用于识别服务器对应的节点。
 节点可以通过指定集群名字来加入到集群中。默认情况,每个节点被设置成加入到elasticsearch集群。如果启动了多个节点,假设能自动发现对方,他们将会自动组建一个名为elasticsearch的集群。
(4)索引(type)
在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。
 3、类型相对于关系型数据库的表
 索引(库)–》类型(表)–》文档(记录)
(5)分片和副本(shards & replicas)
在实际情况下,索引存储的数据可能超过单个节点的硬件限制。如一个10亿文档需1TB空间可能不适合存储在单个节点的磁盘上,或者从单个节点搜索请求太慢了。为了解决这个问题,elasticsearch提供将索引分成多个分片的功能。当在创建索引时,可以定义想要分片的数量。每一个分片就是一个全功能的独立的索引,可以位于集群中

















