ELK日志分析系统(未完...)
Posted 袁❈晔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK日志分析系统(未完...)相关的知识,希望对你有一定的参考价值。
ELK日志分析系统简介
日志服务器的优缺点
优点
- 提高安全性
- 集中存放日志
缺点
- 对日志的分析困难
ELK的三大组成
E:Elasticsearch
是一个开源分布式搜索引擎,特点有:分布式、零配置、自动发现
索引自动分片、索引副本机制,restful风格接口,多数据,自动搜索负载等
通常作为具有复杂搜索场景情况下的核心发动机
L:Logstash
是一个完全开源的工具,它可以对日志进行收集、过滤,并将其存储,供以后使用
K:Kibana
是一个开源免费的工具,kibana可以为Logstash和Elasticsearch提供友好的日志分析web页面
Logstash管理包含四种工具
- Packetbeat ( 搜集网络流量数据)
- Topbeat(搜集系统、进程和文件系统级别的CPU和内存使用情况等数据)
- Filebeat (搜集文件数据),相较于Logstash是轻量级工具
- Winlogbeat (搜集Windows事件日志数据)
日志处理步骤
- Logstash收集AppServer产生的Log,并将log进行集中化管理
- 将日志格式化(Logstash) 并存放到ElasticSearch集群中
- 对格式化后的数据进行索引|和存储( Elasticsearch)
- Kibana则从Es集群中查询数据生成图表,再返回给browsers
二、Elasticsearch的核心
1、接近实时(NRT)
Elasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)
2、集群(cluster)
一个集群就是由一个或者多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。
其中一个为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索功能。
集群有一个唯一性标示的名字,默认是Elasticsearch,集群的名字很重要,每个节点是基于集群名字加入到集群中的。因此,确保在不同的环境中使用不同的集群名字。
一个集群可以只有一个节点,建议在配置Elasticsearch时,配置成集群模式。
Elasticsearch具有集群机制,节点通过集群名称加入到集群中,同时在集群中的节点会有一个自己唯一的身份标识(自己的名称)
3、节点(node)
节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名字来标识,默认是在节点启动时随机分配的字符名。也可自己定义,名字很重要,在集群中用于识别服务器对应的节点
节点可以通过指定集群名字来加入到集群中。默认情况下,每个节点被设置成加入到Elasticsearch集群。如果启动了多个节点,假设能自动发现对方,他们将会自动组建一个名为Elasticsearch的集群。
4、索引(index)
一个索引就是一个拥有几分相似特征的文档的集合。
一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候。都要使用到这个名字。在一个集群中,可以定义任意多的索引。
5、类型(type)
在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。
通常会为具有一组共同字段的文档定义一个类型。
6、文档(document)
一个文档是一个可被索引的基础信息单元
在一个index/type里面,只要你想,你可以存储任意多的文档。注意,虽然一个文档在物理上位于一个索引中,实际上一个文档必须在一个索引内被索引和分配一个类型
7、分片和副本(shards & replicas)
实际情况下,索引存储的数据可能超过单个节点的硬件限制。为了解决这个问题,Elasticsearch提供将索引分成多个分片的功能。当在创建索引时,可以定义想要的分片数量。每一个分片就是一个全功能的独立的索引,可以位于集群中任何节点上。
分片的主要原因:
水平分割扩展,增大存储量
分布式并跨越分片操作,提高性能和吞吐量
分布式分片机制和搜索请求的文档如何火鬃完全是由Elasticsearch控制的,这些对用户是完全透明的。
为了健壮性,建议有一个故障切换机制,为此,Elasticsearch让我们将索引分片复制一份或多份,称之为分片副本
分片副本的原因:
高可用性,以应对分片或者节点故障。处于这个原因,分片副本要在不同的节点上
增大吞吐量,搜索可以并行在所有副本上执行
总之,每个索引可以被分成多个分片。一个索引可以被复制0次或者多次。一旦复制了,每个索引就有了主分片 (作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。分片和副本的数量可以在索引创建的时候指定。在索引创建之后,你可以在指定任何时候动态的改变副本的数量,但是你事后不能改变分片的数量。
默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个副本,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外的5个副本分片(一个完全拷贝),这样的话每个索引总共有10个分片。
以上是关于ELK日志分析系统(未完...)的主要内容,如果未能解决你的问题,请参考以下文章