ELK日志分析集群部署

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

目录

一、ELK 简介

1、ELK日志分析系统组成

2、Elasticsearch(es)

3、Logstash

3、Kibana

2、日志处理步骤

二、Elasticsearch介绍

1、Elasticsearch核心概念

接近实时(NRT)

cluster集群,ES是一个分布式的系统

Node节点,就是集群中的一台服务器

index索引

类型(type)

分片和副本(shards & replicas)

2、开启分片副本的主要原因

三、Logstash

1、Logstash的主要组件

四、Kibana介绍

1、Kibana概述

2、Kibana主要功能

五、ELK优点

六、ELK集群部署

1、环境准备

2、Elasticsearch 集群部署(Node1上操作)

 2.1、安装Elasticsearch 软件

2.2、配置Elasticsearch主配置文件

2.3、创建数据存放路径并授权

2.4、查看node1节点信息

3、Elasticsearch 集群部署(在Node2上操作)

3.1、前面步骤与node1节点一致

3.2、在node1节点上把配置文件上传到node2节点

 3.3、修改配置文件

3.4、创建数据存放路径并授权

3.5、查看node2节点信息

4、安装 Elasticsearch-head 插件

4.1、编译安装 node(node1)

4.2、安装 phantomjs(node1)

4.3、安装 Elasticsearch-head 数据可视化工具

4.4、修改 Elasticsearch 主配置文件

 4.5、修改Gruntfile.js配置文件和app.js配置文件

4.6、启动 elasticsearch-head 服务

4.7、通过 Elasticsearch-head查看Elasticsearch 信息

4.8、插入索引,进行测试

 5、Logstash 部署(在client 节点上操作:192.168.58.20)

5.1、安装Logstash

5.2、测试 Logstash

Logstash 命令常用选项

定义输入输出流

使用 rubydebug 输出详细格式显示,codec 为一种编解码器

使用 Logstash 将信息写入 Elasticsearch 中

6、定义logstash配置文件

7、浏览器验证,查看索引信息

8、Kibana部署(Node1节点)

8.1、安装 Kibana

8.2、设置kibana的主配置文件

8.3、启动kibana服务

8.4、验证Kibana

8.5、将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示(192.168.58.20上操作)

 七、总结


一、ELK 简介

ELK是三个软件的统称,即Elasticsearch、Logstash和Kibana三个开源软件的缩写。这三款软件都是开源软件,通常配合使用,并且都先后归于Elastic.co企业名下,故被简称为ELK协议栈。ELK主要用于部署在企业架构中,收集多台设备上多个服务的日志信息,并将其统一整合后提供给用户。它可以从任何来源、任何格式进行日志搜索、分析与可视化展示。

1、ELK日志分析系统组成

在ELK架构中,Elasticsearch、Logstash和Kibana三款软件作用如下:

 

elasticsearch (es) :通过搭建群集;存储日志数据,索引日志数据
logstash :收集日志,收集到了后给es存储
kibana :视图形式展现日志信息,更加人性化

2、Elasticsearch(es)

Elasticsearch是一个高度可扩展的全文搜索和分析引擎,基于Apache Lucence(事实上,Lucence也是百度所采用的搜索引擎)构建,能够对大容量的数据进行接近实时的存储、搜索和分析操作。

3、Logstash

Logstash是一个数据收集引擎,它可以动态的从各种数据源搜集数据,并对数据进行过滤、分析和统一格式等操作,并将输出结果存储到指定位置上。Logstash支持普通的日志文件和自定义Json格式的日志解析。

3、Kibana

Kibana是一个数据分析和可视化平台,通常与Elasticsearch配合使用,用于对其中的数据进行搜索、分析,并且以统计图标的形式展示。

2、日志处理步骤

  1. 将APP servers的日志进行集中化管理到Logstash agent。
  2. 将日志格式化(Logstash)并输出到Elasticsearch cluster
  3. 对格式化后的数据进行索引和存储(Elasticsearch)
  4. 前端数据的展示(Kibana)
  5. 可以在线查看界面化展示。

 

  • ELK是由Elasticsearch、Logstash、Kiban三个开源软件的组合。
  • Logstash 收集APP server产生的log,然后存放到Elasticsearch集群节点中
  • kibana从Elasticsearch集群节点中查询数据生成图表,再返回给Brower。

二、Elasticsearch介绍

  • 提供了一个分布式多用户能力的全文搜索引擎;
  • 是一个基于Lucene的搜索服务器;
  • 基于restful web接口;
  • 使用java开发;
  • 作为apache许可条款下的开放源码发布,是第二流行的企业搜索引擎;
  • 被设计用于云计算中,能够达到实时搜索、稳定、可靠、快速、安装实用方便的需求。

1、Elasticsearch核心概念

接近实时(NRT)

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

cluster集群,ES是一个分布式的系统

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

Node节点,就是集群中的一台服务器

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

index索引

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

类型相对于关系型数据库的表 ——》索引(库)-》类型(表)-》文档(记录)

类型(type)

类型(type)在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类分区,其寓意完全由你来定义。通常,会为具有一组共同字段的文档定义一个类型。比如:我们假设运营一个博客平台并且将所有的数据存储到一个索引中,在这个索引中,你可以为用户数据定义一个类型,为博客数据定义一个类型,也可以为评论数据定义另一个类型。(类型相对于关系型数据库的表)

分片和副本(shards & replicas)

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

 

2、开启分片副本的主要原因

Elasticsearch采用分片式,可以进行水平分割横向扩展,增大存储量;分布式并行跨分片操作,提高性能和吞吐量。

  • 高可用性,以应对分片或者节点故障,处于这个原因,分片副本要在不同节点上;
  • 提高I/O性能,增大吞吐量,搜索可以并行在所有副本执行。总之,每个索引可以被分成多个分片,一个索引也可以被复制0次或者多次。一旦复制了,每个索引就有了主分片(可以作为复制源的原始分片)和复制分片(主分片的拷贝)之分。分片和副本的数量可以在索引创建的时候指定,在索引创建之后,你可以在任何时候动态改变副本的数量,但是你事后无法改变分片的数量。默认情况下,Elasticsearch中的每个索引被分片为5个主分片和1个副本,这意味着,如果你的集群中至少有两个节点的情况下,你的索引将会有5个主分片和另外5个副本分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

 

三、Logstash

 1.—款强大的数据处理工具

2.可实现数据传输、格式处理、格式化输出

3.数据输入(从业务输入)、数据加工(如过滤、改写等)以及数据输出(输出到Elasticsearch群集)

4.由LRuby语言编写,基于消息(message-based)的简单架构,并运行在Java虚拟机(JVM)上;

5.不同于分离的代理端(agent)或主机端(server),Logstash可配置单一的代理端(agent)与其他开源软件结合,以实现不同的功能。

 

1、Logstash的主要组件

 

  • Shipper:日志收集负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来。通常,远程代理端(agent)只需要运行这个组件即可。
  • Indexer:日志存储负责接受日志并写入到本地文件。
  • Broker:日志hub负责链接多个shipper和对应数目的indexer。
  • Search and Storage允许对事件进行搜索和存储。
  • Web Interface基于web的展示界面。以上组件在Logstash架构中可以独立部署,因此提供了很好的集群扩展性

四、Kibana介绍

1、Kibana概述

  • 一个针对Elasticsearch的开源分析及可视化平台;
  • 搜索、查看存储在Elasticsearch索引中的数据;
  • 通过各种图标进行高级数据分析及展示;
  • 让海量数据更容易理解;
  • 操作简单,基于浏览器地用户界面就可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态;
  • 设置安装Kibana非常简单,无需编写代码,几分钟内就可以完成Kibana安装并启动Elasticsearch监测。

 

2、Kibana主要功能

Elasticsearch无缝之集成。Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。

整合数据:Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。

整合数据:Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。

让更多团队成员受益:强大的数据库可视化接口让各业务岗位都能够从数据集合受益。

接口灵活,分享更容易:使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。

配置简单:Kibana的配置和启用非常简单,用户体验非常友好。Kibana自带Web服务器,可以快速启动运行。

可视化多数据源:Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。

简单数据导出:Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。

五、ELK优点

  1.  处理方式灵活。 Elasticsearch是全文索引,具有强大的搜索能力。
  1. 配置相对简单。 Kibana的配置非常简单,Elasticsearch则全部使用Json接口,配置也不复杂,Logstash的配置使用模块的方式,配置也相对简单。
  1. 检索性能高。 ELK架构通常可以达到百亿级数据的查询秒级响应。
  1. 集群线性扩展。 Elasticsearch本身没有单点的概念,自动默认集群模式,Elasticsearch和Logstash都可以
  1. 灵活扩展
  1. 页面美观。 Kibana的前端设计美观,且操作简单。 

六、ELK集群部署

1、环境准备

服务器类型 IP地址 安装的组件 硬件
Node1节点 192.168.58.30 Elasticsearch 、 Kibana 4核(c)4G
Node2节点 192.168.58.19 Elasticsearch 4核(c)4G
Client节点 192.168.58.20 Logstash Apache(测试用) 2核(c)2G

 

2、Elasticsearch 集群部署(Node1上操作)

在Node1、Node2节点上操作

#关闭防火墙
systemctl stop firewalld.service 
setenforce 0
#更改主机名 
Node1节点:hostnamectl set-hostname node1
Node2节点:hostnamectl set-hostname node2
#配置域名解析
echo "192.168.58.30" node1 >>/etc/hosts
echo "192.168.58.19" node2 >>/etc/hosts
#查看Java环境,如果没有安装,yum -y install java
java -version	

 

 2.1、安装Elasticsearch 软件

上传elasticsearch-5.5.0.rpm到/opt目录下
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm 
 
加载系统服务
systemctl daemon-reload    
systemctl enable elasticsearch.service
cd /etc/elasticsearch/
cp elasticsearch.yml elasticsearch.yml.bak
 

上传并安装ES服务

ELK之简介+Elasticsearch集群部署+索引管理 Logstash 作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由 Elasticsearch 存储,Kibana 对日志进行可视化处理。 阅读详情

相关推荐

【教你通透ELK】报表生成和数据导出

ELK提供了多种方式生成报表和导出数据,包括Kibana的报表生成器和数据导出功能,以及Elasticsearch的搜索和聚合API。以上是一个使用ELK进行报表生成和数据导出的示例实现,包括使用Kibana的报表生成器创建CSV格式的报表和使用数据导出功能将数据导出为CSV格式的文件。在报表设计器中选择“Columns”选项卡,并选择需要导出的字段,例如“timestamp”、“request”和“response_time”。在报表设计器中选择“Export”选项卡,并选择“CSV”格式。

走向CTO的路上... 1241

ELK的日志解决方案

打开 Kibana,导航到 "Discover" 页面,你应该能够看到从Java应用程序发送的日志。利用Kibana的搜索和可视化功能,你可以更轻松地分析和监控日志数据。这个配置文件使用Beats输入插件监听5044端口,并将数据发送到Elasticsearch。你可以根据实际需求添加其他过滤规则。确保你已经安装了Elasticsearch、Logstash和Kibana。你可以按照官方文档或使用包管理工具进行安装。将配制好的文件拷贝到容器的原文件位置替换原文件。这里用自己服务器的IP。

weixin_54563083的博客 1634

##ELK日志分析系统搭建##

ELK常见的架构 Elasticsearch + Logstash + Kibana 这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式 通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。 ...

qq_15290209的博客 963

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

目录 一.案例背景 二.ELK日志分析系统概述 三.部署ELK日志分析系统集群 环境分析 配置基础环境 部署elasticsearch软件(node1和node2都需要安装) 部署elasticsearch-head插件(node1和node2都需要安装) 创建elasticsearch索引 部署Logstash(Apache服务器上部署部署kilbana(node1...

qq_42761527的博客 724

日志分析集群安装部署ELK) 保姆级教程

日志分析集群ELK(es集群 logstash kibana)

passion_flower_的博客 1152

【5.x】ELK日志分析集群部署

Logstash 配置文件基本由三部分组成:input、output 以及 filter(可选,根据需要选择使用)。**input**:表示从数据源采集数据,常见的数据源如Kafka、日志文件等**filter**:表示数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式**output**:表示将Logstash收集的数据经由过滤器处理之后输出到Elasticsearch。#格式如下:#在每个部分中,也可以指定多个访问方式。

翡翠泪滴的博客 1375

ELK 企业级日志分析系统的概念、ELK Elasticsearch 集群部署

ELK Elasticsearch 集群部署

guyunbingyb的博客 1482

日志分析系统 [ 3 ] --- Kibana 部署与使用,Kafka 和 zookeeper 集群部署与使用,日志收集系统ELK

文章目录企业级日志分析系统一、Kibana 部署与使用1、部署 Kibana2、设置3、运行 Kibana4、访问网站5、创建索引模式6、查询数据7.报错解决二、Kafka 和 zookeeper 集群1.Kafka 介绍2.zookeepe 介绍3.部署实施1安装配置jdk82.安装配置Zookeeper(1)安装(2)配置 [需配置三台]3.配置Kafka(1)配置 [三台]4、其他节点配置5、启动、验证ZK集群(1)启动(2)验证6、启动、验证Kafka(1)启动(2)验证7、模拟消息生产和消费 企业

Neko的博客 686

Centos7下ELK+Redis日志分析平台的集群环境部署记录

转载于http://www.cnblogs.com/kevingrace/p/9104423.html 之前的文档介绍了ELK架构的基础知识(推荐参考下http://blog.oldboyedu.com/elk/),日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat- ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ZooKeeper ...

weixin_30399055的博客 2884

ELK集群部署(史上超详细)

ELK集群部署(史上超详细)

REEB00T 3855

linux————ELK(日志收集系统集群

日志对于分析系统、应用的状态十分重要,但一般日志的量会比较大,并且比较分散。如果管理的服务器或者程序比较少的情况我们还可以逐一登录到各个服务器去查看、分析。但如果服务器或者程序的数量比较多了之后这种方法就显得力不从心。基于此,一些集中式的日志系统也就应用而生。目前比较有名成熟的有,Splunk(商业)、FaceBook 的Scribe、Apache的Chukwa Cloudera的Fluentd、还有ELK等等。

a872182042的博客 2911

ELk日志平台搭建

服务器数量较少时,使用 rsyslog 或者 脚本(scp) 进行收集、分割日志,再统一汇总到专门存放日志的日志服务器保存管理。查看日志可以把需要的日志文件传到windows主机上,使用专业的文本工具打开分析日志。服务器数量较多时,使用 ELK 收集日志、存储日志、展示日志。对于在K8S平台运行的容器日志,可以使用 Loki+Granfana 收集日志、存储日志、展示日志。

2301_76838634的博客 6214

ELK 企业级日志分析系统之集群部署

node1节点( 2 C / 4 G):node1 / 192.168 .247 .80 node2节点( 2 C / 4 G):node2 / 192.168 .247 .90 Apache节点:apache / 192.168 .247 .131输入采用标准输入,输出采用标准输出(类似管道),新版本默认使用 rubydebug 格式输出使用 rubydebug 输出详细格式显示,codec 为一种编解码器使用 Logstash 将信息写入 Elasticsearch 中。

2301_76858832的博客 2115

ELK 集群部署

ELK 分为三部分组成: elasticsearch、logstach、kibanaelasticsearch: elasticsearch是个分布式搜索和分析引擎,能对大容量的数据进行接近实时的存储、搜索和分析操作logstash :数据收集引擎支持动态从各种数据源收集数据,并对数据进行过滤、分析丰富的统一格式等操作,然后存储到指定位置,这里将数据发送给elasticsearch,logstash具有强大的插件功能用于日志处理。

随笔亦行 3035

ELK集群部署详解

一个 索引 就是一个拥有几分相似特征的文档的集合。ES 将数据存储于一个或多个索引中,索引 就相当于 SQL 中的一个数据库。

Wu 小杰的博客 1933
上一篇: GFS 分布式文件系统
下一篇: ELK+Filebeat+Kafka+Zookeeper日志分析系统搭建
wwwu1998
博客等级 码龄6年 11粉丝 · 68原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值