企业级ELK-架构与部署(一)亲测可用!

ELK为什么这么耳熟?ELK是什么?ELK有什么用?ELK怎么部署?

有木有可以直接复制黏贴就可以完成的???!!!
在这里插入图片描述

小编本人在两个月内搜索了N篇文章,内心只想着找到一篇能复制黏贴的快捷部署的企业级别ELK项目文章(基本都是单机、测试),很遗憾的是没能找到,因此萌生了自己搞一篇的想法。假如已对ELK有过了解的童鞋,可以跳过前言,直接跳到实战,直接Ctrl+c Ctrl+v即可部署好企业级别的ELK。

前言

ELK,作为大数据时代的宠儿,是日志分析界中的“扛把子”,饿了么、阿里巴巴、携程、华为、美团……这些公司都在用ELK!所以ELK耳熟能详并非没有原因的。

在实际应用场景中,ELK起到了日志收集、日志归档、日志存储、日志分析的作用。想象一下,一千台服务器中的某个项目挂掉了,如何通过查看日志去找到挂掉的原因?一台一台的服务器远程过去,一台一台的查看不同的日志。想想都觉得累。假若部署了ELK,则可以通过日志分析快速定位问题所在。

ELK实际上是一整套的解决方案,由三个开源软件组成:Elasticsearch , Logstash, Kibana。

Elasticsearch是实时全文搜索和分析引擎,主要负责日志搜索、分析。

Logstash是一个对日志进行搜集、过滤的工具。

Kibana可以为 Logstash 和 ElasticSearch 提供web前端显示界面,让日志分析变得方便明了。

三者已经能组成一个简单的日志收集过滤分析平台。
在这里插入图片描述

Logstash->Elasticsearch->Kibana

上面的架构是最简单的架构,想应用到实际中,这种架构是不足以支持业务运行的。架构仍然需进行优化。由于logstash是JAVA开发,运行时候会占用较大的资源(内存、CPU等),假如每台服务器都安装运行一个logstash,对业务影响也太大了!因此,实际应用中,logstash仅发挥它的日志过滤功能,日志收集将交给filebeat。

filebeat是什么?filebeat是一个轻量级日志传输工具,只占用些许的资源,就能做到收集海量的日志。

因此,ELK组合中将加入filebeat。
在这里插入图片描述

Filebeat->Logstash->Elasticsearch->Kibana

此时的架构已经比较完整啦,但是,企业级别的ELK日志分析平台,怎么能不考虑安全性、稳定性呢?

为了提升Elasticsearch消息处理效率、存储容量与防止Elasticsearch宕机日志丢失,所以引入Elasticsearch分布式集群架构

随着业务量增大,由filebeat直接传递logstash可能业务量过大导致数据丢失或宕机,所以引入kafka,达到削峰、异步作用。同时kafka也有保存日志数据,增加一层保险的作用。为了解决kafka宕机可能造成损失,kafka也需要做成集群。
分布式集群架构是什么?其实就是加多几台机子,几台机子组成一个集群,几台机子一起工作,肯定比单独一台效率高。而且当其中一台机子坏掉,也有其余的机子顶上去,不会影响业务。

kafka是什么?kafka是一种高吞吐量的分布式发布订阅消息系统,在ELK中扮演日志存储、备份、中转的角色,起到数据备份、削峰的作用。

因此,ELK组合将做成ELK集群,同时加入kafka角色。
在这里插入图片描述

Filebeat->Logstash->Elasticsearch->Kibana

到此为止,整个ELK日志分析平台的架构与相关作用,都已经介绍完毕。接下来就是实战阶段。

实战

先说明下搭建环境与各主机角色。

机器选择:睿江云平台

节点选择:广东G(VPC网络更安全、SSD磁盘性能高)

云主机配置:4核16G(4核8G也支持,但会有延时感)

网络选择:VPC虚拟私有云(VPC网络更安全、高效)

带宽:5M

系统版本:Centos7.6

云主机数量:5

软件版本:ELK 7.4.0、kafka 2.12-2.6.0

在这里插入图片描述

首先,下面为部署elasticsearch的步骤。(亲测可用,从头到尾只用修改ip)

a.步骤1

登陆elasticsearch主节点、数据节点、数据节点。ssh 到master node 192.168.0.6、date node1 192.168.0.4、date node2 192.168.0.5

各个节点都关闭防火墙和SELinux。

各个节点都执行以下命令

service

b.步骤2

三个节点都执行以下的步骤

yum install -y ntpdate

c.步骤3

ntpdate time1.aliyun.com

d.步骤4

yum -y install java-1.8.0-openjdk

e.步骤5

cd /opt/

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz

f.步骤6

tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz

g.步骤7

groupadd els

h.步骤8

useradd els -g els -p els

i.步骤9

chown -R

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELK(Elasticsearch、Logstash、Kibana)是一个开源的日志管理和分析平台,能够帮助企业收集、存储、搜索、分析和可视化各种类型的日志数据。而Kafka是一个高吞吐量的分布式消息队列系统,可以用来收集和传输大规模的日志数据。Reyslog是一个开源的日志收集器,可以帮助企业从各种不同的数据源中收集日志数据。Filebeat是一个轻量级的日志收集工具,可以帮助企业从各种不同的文件中收集日志数据。 以下是ELK+kafka+reyslog+filebeat企业级部署的步骤: 1. 安装和配置Elasticsearch、Logstash和Kibana,并确保它们能够正常运行。可以使用docker-compose等工具来简化部署过程。 2. 安装和配置Kafka,并创建一个主题(topic)用于存储日志数据。 3. 安装和配置Reyslog,并将其配置为从各种不同的数据源中收集日志数据,并将其发送到Kafka主题(topic)中。 4. 安装和配置Filebeat,并将其配置为从各种不同的文件中收集日志数据,并将其发送到Kafka主题(topic)中。 5. 在Kibana中创建一个索引(index),并定义一个包含所有必需字段的映射(mapping)。然后,使用Logstash来将从Kafka主题(topic)中接收到的日志数据转换为适合索引(index)的格式,并将其存储在Elasticsearch中。 6. 在Kibana中创建一个仪表板(dashboard),并使用其可视化功能来呈现和分析日志数据。可以使用各种不同的可视化插件来创建自定义可视化效果。 7. 部署整个系统,并定期监控其性能和可用性,以确保其正常运行。 总之,ELK+kafka+reyslog+filebeat企业级部署需要进行一系列复杂的配置和设置,需要具备一定的技术知识和实践经验。建议企业可以考虑使用专业的日志管理和分析平台,如Splunk等,以简化部署和管理过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值