部署ELK日志分析系统多ElasticSearch集群

部署ELK日志分析系统多ElasticSearch集群一.没有ELK会出现什么问题?1.通常服务器产生的日志信息都存储在计算机本地,当使用多服务器做集群时,日志也会被分散存储到不同的服务器上,分别去查阅这些日志信息,不但繁琐而且效率低下。2.最好的办法就是将所有日志集中存储到一台服务器上统一管理和查阅,这就是集中化的日志管理方式。3.集中化日志管理之后,另外一件比较麻烦的事情就是日志的统计...
摘要由CSDN通过智能技术生成

部署ELK日志分析系统多ElasticSearch集群

一.没有ELK会出现什么问题?

1.通常服务器产生的日志信息都存储在计算机本地,当使用多服务器做集群时,日志也会被分散存储到不同的服务器上,分别去查阅这些日志信息,不但繁琐而且效率低下。

2.最好的办法就是将所有日志集中存储到一台服务器上统一管理和查阅,这就是集中化的日志管理方式。

3.集中化日志管理之后,另外一件比较麻烦的事情就是日志的统计和检索。一般使用grep、awk、sed、wc等命令就能是实现检索和统计操作。但是面对庞大的机器数量,面对更高的查询、排序、统计,使用简单的Linux命令就比较麻烦。

4.开源的实时日志分析ELK平台能够解决上述问题

二.ELK简单概述

1.ElasticSearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful风格接口,多数据源,自动搜索负载等。

2.Logstash 是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。

3.Klbana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。

三.ELK工作原理

1.将日志进行集中化管理

将日志格式化(logstash)

3.对格式化后的数据进行索引和存储(elasticsearch)

4.前端数据的展示(kibana)

Web访问—生成logs—推送—Logstash—日志写入记录—Elasticsearch—读取分析—Kibana—前端web展示

在所有需要收集日志的服务器上部署Logstash,作为Logstash agent用于监控并且过滤所收集到的日志,将过滤后的日志内容整合在一起,最终全部交给Elasticsearch检索引擎;可以用ElasticSearch进行自定义搜索,再通过Kibana结合自定义搜索内容生成图表;进行日志数据展示。

四.Elasticsearch基本概念

1、接近实时(NRT)

lasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)

2、集群(cluster)

一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。其中一个节点为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。一个集群可以只有一个节点。强烈建议在配置elasticsearch时,配置成集群模式。

3、节点(node)

节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名字来标识,默认是在节点启动时随机分配的字符名。当然,你可以自己定义。该名字也很重要,在集群中用于识别服务器对应的节点。节点可以通过指定集群名字来加入到集群中。默认情况,每个节点被设置成加入到elasticsearch集群。如果启动了多个节点,假设能自动发现对方,他们将会自动组建一个名为elasticsearch的集群。

4、索引(index)

一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。在一个集群中,如果你想,可以定义任意多的索引。

●索引相对于关系型数据库的库。
5、类型(type)

在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。

●类型相对于关系型数据库的表
6、文档(document)

一个文档是一个可被索引的基础信息单元。比如,你可以拥有某一个客户的文档,某一个产品的一个文档,当然,也可以拥有某个订单的一个文档。文档以JSON(Javascript Object Notation)格式来表示,而JSON是一个到处存在的互联网数据交互格式。在一个index/type里面,只要你想,你可以存储任意多的文档。

注意,虽然一个文档在物理上位于一个索引中,实际上一个文档必须在一个索引内被索引和分配一个类型。

●文档相对于关系型数据库的列。
7、分片和副本(shards & replicas)

​ 在实际情况下,索引存储的数据可能超过单个节点的硬件限制。如一个10亿文档需1TB空间可能不适合存储在单个节点的磁盘上,或者从单个节点搜索请求太慢了。为了解决这个问题,elasticsearch提供将索引分成多个分片的功能。当在创建索引时,可以定义想要分片的数量。每一个分片就是一个全功能的独立的索引,可以位于集群中任何节点上。

●分片的两个最主要原因:
a. 水平分割扩展,增大存储量
b. 分布式并行跨分片操作,提高性能和吞吐量

分布式分片的机制和

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值